forked from goodboy/tractor
1
0
Fork 0
tractor/tests
Tyler Goodlet d08aeaeafe Make `@context`-cancelled tests more pedantic
In order to match a very significant and coming-soon patch set to the
IPC `Context` and `Channel` cancellation semantics with significant but
subtle changes to the primitives and runtime logic:

- a new set of `Context` state pub meth APIs for checking exact
  inter-actor-linked-task outcomes such as `.outcome`, `.maybe_error`,
  and `.cancel_acked`.

- trying to move away from `Context.cancelled_caught` usage since the
  semantics from `trio` don't really map well (in terms of cancel
  requests and how they result in cancel-scope graceful closure) and
  `.cancel_acked: bool` is a better approach for IPC req-resp msging.
  - change test usage to access `._scope.cancelled_caught` directly.

- more pedantic ctxc-raising expects around the "type of self
  cancellation" and final outcome in ctxc cases:
  - `ContextCancelled` is raised by ctx (`Context.result()`) consumer
    methods when `Portal.cancel_actor()` is called (since it's an
    out-of-band request) despite `Channel._cancel_called` being set.
  - also raised by `.open_context().__aexit__()` on close.
  - `.outcome` is always `.maybe_error` is always one of
    `._local/remote_error`.
2024-02-28 19:25:27 -05:00
..
conftest.py Add a `debug_mode: bool` fixture via `--tpdb` flag 2024-02-20 08:53:37 -05:00
test_2way.py Move context-streaming operational tests into one mod 2021-12-06 16:45:44 -05:00
test_advanced_faults.py Add a simplified zombie lord specific process reaping test 2023-01-29 14:55:02 -05:00
test_advanced_streaming.py Call `actor.cancel(None)` from root to avoid mismatch with (any future) meth sig changes 2024-02-22 14:45:08 -05:00
test_cancellation.py Make `@context`-cancelled tests more pedantic 2024-02-28 19:25:27 -05:00
test_child_manages_service_nursery.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_clustering.py Fix cluster test to use `allow_overruns` 2023-05-15 10:00:45 -04:00
test_context_stream_semantics.py Make `@context`-cancelled tests more pedantic 2024-02-28 19:25:27 -05:00
test_debugger.py Get remaining suites passing.. 2023-10-19 11:51:47 -04:00
test_discovery.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_docs_examples.py Get remaining suites passing.. 2023-10-19 11:51:47 -04:00
test_infected_asyncio.py Fix `Context.result()` call to be in runtime scope 2023-10-23 17:48:34 -04:00
test_inter_peer_cancellation.py Make ctx tests support `debug_mode: bool` fixture 2024-02-20 15:14:58 -05:00
test_legacy_one_way_streaming.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_local.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_multi_program.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_pubsub.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_resource_cache.py Bump timeout on resource cache test a bitty bit. 2024-01-03 22:27:05 -05:00
test_rpc.py Get remaining suites passing.. 2023-10-19 11:51:47 -04:00
test_runtime.py Tolerate eg in runtime test teardown 2022-10-14 19:42:23 -04:00
test_shm.py Pass `str` dtype for `use_str` case 2023-06-15 12:20:20 -04:00
test_spawning.py Get remaining suites passing.. 2023-10-19 11:51:47 -04:00
test_task_broadcasting.py Port all tests to new `reg_addr` fixture name 2023-10-18 15:39:20 -04:00
test_trioisms.py Add a new "trioisms" test mod for tracking `trio` wishlist behaviour 2022-04-12 13:05:56 -04:00