tractor/tests
Tyler Goodlet ccedee3b87 Dynamically set `pld_spec` for `test_basic_payload_spec()
Such that we can parametrize the `@context(pld_spec)` endpoint setting
using `pytest` and of course enable testing more then just the lone
`maybe_msg_spec` case. The implementation was a bit tricky because
subactors import any `enable_modules` just after subproc spawn, so
there's no easy way to indicate from the parent should should be passed
to the `@context()` decorator since it's already resolved by the time an
IPC is established. Thus the bulk of this patch is implementing
a pre-ctx which monkey-patches the (test) `child()`-ep-defining-module
before running test logic.

Impl deats,
- drop `maybe_msg_spec` global instead providing the same value via
  a new `pld_spec: Union[Type]` parametrized input to the test suite.
- add a `decorate_child_ep()` helper which (re-)decorates the
  mod-defined `child()` IPC-context endpoint with the provided `pld_spec`.
- add a new "pre IPC context" endpoint: `set_chld_pldspec()` which can
  be opened (from another actor) just prior to opening the `child()` ep
  and it will decorate the latter (using `decorate_child_ep()`)
  presuming a `.msg._exts.enc_type_union()` generated  `pld_spec_strs`
  is provided.
- actually open the `set_chld_pldspec()` as a `deco_ctx` rom the
  root-actor and ensure we cancel it on block teardown in non-raising
  cases.
2025-09-25 19:23:09 -04:00
..
devx Add a root-already-cancelled crash handling test 2025-08-20 10:18:52 -04:00
ipc Don't hard code runtime-dir, read it with `._state.get_rt_dir()` 2025-08-18 21:30:48 -04:00
__init__.py Add `tests/__init__.py` for `.conftest` imports 2025-03-20 20:53:54 -04:00
conftest.py Type annot the `testdir` fixture 2025-07-14 00:00:13 -04:00
test_2way.py Move context-streaming operational tests into one mod 2021-12-06 16:45:44 -05:00
test_advanced_faults.py Handle unconsidered fault-edge cases for UDS 2025-07-13 15:26:37 -04:00
test_advanced_streaming.py Remove lingering seg=False-flags from tests 2025-08-18 12:03:32 -04:00
test_cancellation.py Add timeout to inf-streamer test 2025-08-18 13:31:15 -04:00
test_child_manages_service_nursery.py Remove lingering seg=False-flags from tests 2025-08-18 12:03:32 -04:00
test_clustering.py Fix cluster suite, chng to new `gather_contexts()` 2025-08-18 10:46:37 -04:00
test_context_stream_semantics.py Move `.is_multi_cancelled()` to `.trioniics._beg` 2025-07-16 15:49:18 -04:00
test_discovery.py Remove lingering seg=False-flags from tests 2025-08-18 12:03:32 -04:00
test_docs_examples.py Ignore `examples/trio/` in docs-examples test suite 2025-09-06 13:39:08 -04:00
test_ext_types_msgspec.py Rename ext-types with `msgspec` suite module 2025-03-27 15:58:03 -04:00
test_infected_asyncio.py Extend `.to_asyncio.LinkedTaskChannel` for aio side 2025-09-21 15:53:45 -04:00
test_inter_peer_cancellation.py Timeout on `test_peer_spawns_and_cancels_service_subactor` 2025-09-11 10:13:04 -04:00
test_legacy_one_way_streaming.py Styling tweaks to quadruple streaming test fn 2025-08-18 10:46:37 -04:00
test_local.py Finally switch to using address protocol in all runtime 2025-07-08 12:57:28 -04:00
test_log_sys.py Mv `load_module_from_path()` to a new `._code_load` submod 2025-09-25 12:19:12 -04:00
test_multi_program.py Finally switch to using address protocol in all runtime 2025-07-08 12:57:28 -04:00
test_oob_cancellation.py Woops, fix missing `assert` thanks to copilot 2025-09-11 13:13:18 -04:00
test_pldrx_limiting.py Dynamically set `pld_spec` for `test_basic_payload_spec() 2025-09-25 19:23:09 -04:00
test_pubsub.py Reapply "Port all tests to new `reg_addr` fixture name" 2025-03-20 19:50:31 -04:00
test_remote_exc_relay.py Adjust ep-masking-suite for the real-use-case 2025-07-15 07:23:21 -04:00
test_resource_cache.py Add `.trionics.maybe_open_context()` locking test 2025-08-18 21:07:12 -04:00
test_ringbuf.py Move concrete `Address`es to each tpt module 2025-07-08 18:05:05 -04:00
test_root_infect_asyncio.py Adjust `test_trio_prestarted_task_bubbles()` suite to expect non-eg raises 2025-08-18 10:46:37 -04:00
test_root_runtime.py Add a `debug_mode`-state reversion test 2025-07-14 00:00:12 -04:00
test_rpc.py Adjust all `RemoteActorError.type` using tests 2025-03-20 20:35:02 -04:00
test_runtime.py Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00
test_shm.py Move tractor._shm to tractor.ipc._shm 2025-07-08 12:57:28 -04:00
test_spawning.py Move peer-tracking attrs from `Actor` -> `IPCServer` 2025-07-08 18:05:05 -04:00
test_task_broadcasting.py Use `collapse_eg()` in broadcaster suite 2025-03-27 13:38:47 -04:00
test_trioisms.py Tweaks from copilot, type fix, typos, language. 2025-09-11 10:01:25 -04:00