tractor/tests
Gud Boi 086962ca36 Preserve cancellation over shielded `send_all()` errors
The frame-publication shield added in `88a23449` checks for
pending cancellation only after a successful write. If actor
teardown closes the stream first, `ClosedResourceError` escaped
as `TransportClosed` and could defeat the caller's cancel scope.

Check for pending cancellation on the transport-error path before
normalizing the close. Genuine stream errors retain their existing
translation when no cancellation is active.

The cancellation-first path can swap which nested debugger
intermediary renders as the immediate source vs. relay. Keep
assertions over both actor levels while accepting either valid role.

Prompt-IO: ai/prompt-io/opencode/20260820T143845Z_559fd0f1_prompt_io.md

(this patch was generated in some part by `opencode` using
`gpt-5.6-sol` (`openai`))
2026-08-21 15:03:34 -04:00
..
devx Preserve cancellation over shielded `send_all()` errors 2026-08-21 15:03:34 -04:00
discovery Move registrar probes to `discovery._api` 2026-08-14 18:43:36 -04:00
ipc Preserve cancellation over shielded `send_all()` errors 2026-08-21 15:03:34 -04:00
msg Use `aid.uid` over manual `(name, uuid)` tuples 2026-06-27 21:38:30 -04:00
trionics Assert cancellation at the startup boundary 2026-08-12 15:45:30 -04:00
__init__.py Add `tests/__init__.py` for `.conftest` imports 2025-03-20 20:53:54 -04:00
conftest.py Fix uds `get_random` reaper-regex break (+2 nits) 2026-06-29 18:51:26 -04:00
test_2way.py Tidy a typing-typo, add explicit `ids=` for paramed suites 2026-03-09 19:35:47 -04:00
test_advanced_faults.py Revert advanced-fault UDS edge case handling 2026-03-13 21:10:52 -04:00
test_advanced_streaming.py Add `cpu_perf_headroom()` for throttle-aware deadlines 2026-06-29 18:08:50 -04:00
test_cancellation.py Use `cpu_perf_headroom()` for timing-test deadlines 2026-06-29 18:08:50 -04:00
test_child_manages_service_nursery.py Swap `open_channel_from()` to yield `(chan, first)` 2026-03-13 19:28:57 -04:00
test_clustering.py Add `cpu_perf_headroom()` for throttle-aware deadlines 2026-06-29 18:08:50 -04:00
test_context_stream_semantics.py Complete IPC frames before sender cancellation 2026-08-21 15:03:34 -04:00
test_docs_examples.py Document stable macOS UDS operation 2026-08-14 10:37:19 -04:00
test_infected_asyncio.py Skip `infect_asyncio` tests on Windows 2026-08-14 23:12:02 -04:00
test_inter_peer_cancellation.py Use `cpu_perf_headroom()` at remaining deadlines 2026-06-29 18:13:47 -04:00
test_lazy_imports.py Guard the cold import latency budget 2026-08-13 02:35:07 -04:00
test_legacy_one_way_streaming.py Use `cpu_perf_headroom()` for timing-test deadlines 2026-06-29 18:08:50 -04:00
test_local.py Use `.aid` fields over deprecated `.uid` in tests 2026-06-25 17:44:22 -04:00
test_log_sys.py Retain dynamic logger caller discovery 2026-08-12 20:52:47 -04:00
test_oob_cancellation.py Woops, fix missing `assert` thanks to copilot 2025-09-11 13:13:18 -04:00
test_pubsub.py Mark `subint`-hanging tests with `skipon_spawn_backend` 2026-06-17 17:39:44 -04:00
test_reg_err_types.py Drop stale `.cancel()`, fix docstring typo in tests 2026-04-02 18:21:19 -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 Wait for ctx exit in `maybe_open_context()` 2026-08-03 23:45:42 -04:00
test_ringbuf.py Skip `test_ringbuf` at collection off-linux 2026-08-14 23:12:02 -04:00
test_root_infect_asyncio.py Skip `infect_asyncio` tests on Windows 2026-08-14 23:12:02 -04:00
test_root_runtime.py Update tests+examples imports for new subpkgs 2026-04-02 17:59:13 -04:00
test_rpc.py Keep accepted RPCs alive on `TransportClosed` 2026-08-14 12:28:56 -04:00
test_runtime.py Scale `test_lifetime_stack` deadline for CI 2026-08-14 23:12:02 -04:00
test_shm.py Skip Windows-hanging shm IPC test 2026-08-14 23:17:11 -04:00
test_spawning.py Use `cpu_perf_headroom()` at remaining deadlines 2026-06-29 18:13:47 -04:00
test_task_broadcasting.py Tweak timeouts and rm `arbiter_addr` in tests 2026-04-14 19:54:14 -04:00
test_to_actor.py Reject misplaced empty `runtime_kwargs` 2026-08-21 15:03:34 -04:00
test_trioisms.py Tweaks from copilot, type fix, typos, language. 2025-09-11 10:01:25 -04:00