tractor/tests
Gud Boi fe0a724d10 Use linked contexts in `to_actor.run()`
Pass target inputs positionally and normalize every retained
`functools.partial()` layer, including Python 3.14 Placeholder
binding. Validate the complete target signature before startup.

Route each ordinary async fn through a static `@context` endpoint
so remote results, errors and caller cancellation remain linked.
Send namespace and function components separately, then resolve
through `Actor._get_rpc_func()` so the RPC module allowlist remains
authoritative. Retain client-created `NamespacePath` refs so
`to_tuple()` does not re-import their callable.

Owned actors enable the endpoint's `__name__` directly. Keep
`to_actor.MODULE` as the importer-facing alias used by caller-owned
portals while retaining the target module's authorization boundary.

Cover all placement modes, nested partials, argument collisions,
linked cancellation, remote errors and authorization failures.

Caught-during: review remediation
Found-via: `/run-tests` portal cancellation regression

Review: PR #481 (opencode)
https://github.com/goodboy/tractor/pull/481#pullrequestreview-4956692120

Prompt-IO: ai/prompt-io/opencode/20260818T193005Z_bf06b4f8_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 Fix send-side `MsgTypeError` rendering 2026-08-20 11:57:39 -04:00
discovery Move registrar probes to `discovery._api` 2026-08-14 18:43:36 -04:00
ipc Close interrupted `MsgTransport.send()` streams 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
conftest.py Fix uds `get_random` reaper-regex break (+2 nits) 2026-06-29 18:51:26 -04:00
test_2way.py
test_advanced_faults.py
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
test_clustering.py Add `cpu_perf_headroom()` for throttle-aware deadlines 2026-06-29 18:08:50 -04:00
test_context_stream_semantics.py Clean failed remote-task startup state 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
test_pubsub.py Mark `subint`-hanging tests with `skipon_spawn_backend` 2026-06-17 17:39:44 -04:00
test_reg_err_types.py
test_remote_exc_relay.py
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
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
test_to_actor.py Use linked contexts in `to_actor.run()` 2026-08-21 15:03:34 -04:00
test_trioisms.py