Commit Graph

8 Commits (afb2501ceb566a16a42603e71326aeb02e43c773)

Author SHA1 Message Date
Tyler Goodlet bd66450a79 Update `MsgTypeError` content matching to latest 2025-03-21 15:25:55 -04:00
Tyler Goodlet e863159c7f Update pld-rx limiting test(s) to use deco input
The tests only use one input spec (conveniently) so there's not much to
change in the logic,
- only pass the `maybe_msg_spec` to the child-side decorator and obvi
  drop the surrounding `msgops.limit_plds()` block in the child.
- tweak a few `MsgDec` asserts, mostly dropping the
  `msg._ops._def_any_spec` state checks since the child-side won't have
  any pre pld-spec state given the runtime now applies the `pld_spec`
  before running the task's func body.
  - also allowed dropping the `finally:` which did a similar check
    outside the `.limit_plds()` block.
2025-03-21 15:25:42 -04:00
Tyler Goodlet dc5d622e70 Woops, set `post_mortem=False` by default again! 2025-03-21 15:25:42 -04:00
Tyler Goodlet a95b84e4fb Change `reraise` to `post_mortem: bool` in `maybe_expect_raises()` 2025-03-21 15:25:42 -04:00
Tyler Goodlet f05abbcfee Ensure only a boxed traceback for MTE on parent side 2025-03-21 15:25:42 -04:00
Tyler Goodlet 9330a75255 Ensure ctx error-state matches the MTE scenario
Namely checking that `Context._remote_error` is set to the raised MTE
in the invalid started and return value cases since prior to the recent
underlying changes to the `Context.result()` impl, it would not match.

Further,
- do asserts for non-MTE raising cases in both the parent and child.
- add todos for testing ctx-outcomes for per-side-validation policies
  i anticipate supporting and implied msg-dialog race cases therein.
2025-03-21 15:25:42 -04:00
Tyler Goodlet d7ca1dfd94 Fix `test_basic_payload_spec` bad msg matching
Expecting `Started` or `Return` with respective bad `.pld` values
depending on what type of failure is test parametrized.

This makes the suite run green it seems B)
2025-03-21 15:25:42 -04:00
Tyler Goodlet 71518ea94a Add basic payload-spec test suite
Starts with some very basic cases:
- verify both subactor-as-child-ctx-task send side validation (failures)
  as well as relay and raise on root-parent-side-task.
- wrap failure expectation cases that bubble out of `@acm`s with
  a `maybe_expect_raises()` equiv wrapper with an embedded timeout.
- add `Return` cases including invalid by `str` and valid by a `None`.

Still ToDo:
- commit impl changes to make the bulk of this suite pass.
- adjust how `MsgTypeError`s format the local (`.started()`) send side
  `.tb_str` such that we don't do a "boxed" error prior to
  `pack_error()` being called normally prior to `Error` transit.
2025-03-21 15:25:42 -04:00