tractor/tests
Tyler Goodlet aa06452c48 Pass `infect_asyncio` setting via runtime-vars
The reason for this "duplication" with the `--asyncio` CLI flag (passed
to the child during spawn) is 2-fold:
- allows verifying inside `Actor._from_parent()` that the `trio` runtime was
  started via `.start_guest_run()` as well as if the
  `Actor._infected_aio` spawn-entrypoint value has been set (by the
  `._entry.<spawn-backend>_main()` whenever `--asyncio` is passed)
  such that any mismatch can be signaled via an `InternalError`.
- enables checking the `._state._runtime_vars['_is_infected_aio']` value
  directly (say from a non-actor/`trio`-thread) instead of calling
  `._state.current_actor(err_on_no_runtime=False)` in certain edge
  cases.

Impl/testing deats:
- add `._state._runtime_vars['_is_infected_aio'] = False` default.
- raise `InternalError` on any `--asyncio`-flag-passed vs.
  `_runtime_vars`-value-relayed-from-parent inside
  `Actor._from_parent()` and include a `Runner.is_guest` assert for good
  measure B)
- set and relay `infect_asyncio: bool` via runtime-vars to child in
  `ActorNursery.start_actor()`.
- verify `actor.is_infected_aio()`, `actor._infected_aio` and
  `_state._runtime_vars['_is_infected_aio']` are all set in test suite's
  `asyncio_actor()` endpoint.
2025-03-24 15:37:12 -04:00
..
devx Officially test proto-ed `stackscope` integration 2025-03-24 15:37:12 -04:00
__init__.py Add `tests/__init__.py` for `.conftest` imports 2025-03-20 20:53:54 -04:00
conftest.py Rename fixture `arb_addr` -> `reg_addr` and set the session value globally as `._root._default_lo_addrs` 2025-03-20 19:50:31 -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 Adjusts advanced fault tests to match new `TransportClosed` semantics 2025-03-24 14:04:52 -04:00
test_advanced_streaming.py Tweak some tests for spurious failues 2025-03-16 15:22:01 -04:00
test_cancellation.py Update tests for `PldRx` and `Context` changes 2025-03-24 14:04:51 -04:00
test_caps_based_msging.py (Re)type annot some tests 2025-03-24 14:04:52 -04:00
test_child_manages_service_nursery.py Adjust all `RemoteActorError.type` using tests 2025-03-20 20:35:02 -04:00
test_clustering.py Add (back) a `tractor._testing` sub-pkg 2025-03-16 15:28:28 -04:00
test_context_stream_semantics.py Add a "current IPC `Context`" `ContextVar` 2025-03-24 14:04:51 -04:00
test_discovery.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
test_docs_examples.py (Re)type annot some tests 2025-03-24 14:04:52 -04:00
test_infected_asyncio.py Pass `infect_asyncio` setting via runtime-vars 2025-03-24 15:37:12 -04:00
test_inter_peer_cancellation.py Update tests for `PldRx` and `Context` changes 2025-03-24 14:04:51 -04:00
test_legacy_one_way_streaming.py Reapply "Port all tests to new `reg_addr` fixture name" 2025-03-20 19:50:31 -04:00
test_local.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
test_multi_program.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
test_pldrx_limiting.py Update `MsgTypeError` content matching to latest 2025-03-24 14:04:52 -04:00
test_pubsub.py Reapply "Port all tests to new `reg_addr` fixture name" 2025-03-20 19:50:31 -04:00
test_resource_cache.py Bump timeout on resource cache test a bitty bit. 2025-03-14 14:14:53 -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_spawning.py Update tests for `PldRx` and `Context` changes 2025-03-24 14:04:51 -04:00
test_task_broadcasting.py Reapply "Port all tests to new `reg_addr` fixture name" 2025-03-20 19:50:31 -04:00
test_trioisms.py Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00