tractor/examples
Gud Boi a3057cb24f Port debugging examples off `run_in_actor`
The 8 `examples/debugging/` scripts driven by the pexpect'd
`test_debugger.py` REPL-flows (#477 removal),

- blocking one-shots (`subactor_error`, `subactor_breakpoint`,
  `shielded_pause`): straight `to_actor.run(fn, an=an)` — the
  boxed error/`BdbQuit` raises in the root's task.
- `multi_subactors`: introduces the "collect all errors" pattern
  — each one-shot catches + stashes its `RemoteActorError` (vs
  raising) so no child's crash cancels its siblings before
  they've had their own REPL sessions, then a
  `BaseExceptionGroup` of the lot raises at the end; preserves
  the legacy teardown-reap REPL flow exactly (28/28 debugger
  suite unchanged).
- `multi_nested_subactors_error_up_through_nurseries` +
  `root_cancelled_but_child_is_in_tty_lock`: recursive
  `spawn_until` levels each block on their one-shot child; the
  parallel spawner-trees run as bg task-nursery one-shots where
  the first tree's error cancels the other.
- `multi_subactor_root_errors` +
  `root_timeout_while_child_crashed`: `start_actor()` + bg
  `Portal.run()` tasks so the root's own error/timeout races the
  already-crashed children, same as before.
- `sync_bp`: TODO-comment x-ref update only.

`test_debugger.py`: the nested-nurseries test's final-output
patterns update to the new relay shape — the LAST-released leaf
REPL's error chain wins each level's relay-vs-cancel race and
relays as a `collapse_eg()`-annotated collapsed chain, while the
sibling tree is cancelled + absorbed. (The legacy teardown-reap
grouped BOTH the `name_error` and bp-quit chains — explaining
the previously-mysterious "extra" `src_uid`/`relay_uid` patterns
noted in the old TODO.)

Gate: `tests/devx/test_debugger.py` = 28 passed, 6 skipped —
identical to the pre-migration baseline.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
2026-07-06 12:24:29 -04:00
..
advanced_faults Include `TransportClosed` in tpt-layer err handling 2026-02-19 13:55:02 -05:00
debugging Port debugging examples off `run_in_actor` 2026-07-06 12:24:29 -04:00
integration mpi integration test 2026-04-10 20:58:54 -04:00
parallelism Port non-debugging examples off `run_in_actor` 2026-07-06 12:11:39 -04:00
trio Reduce "ignore cases" script to `trio`-only 2025-09-07 18:49:21 -04:00
__init__.py Make example a subpkg for `python -m <mod>` testing 2022-07-27 11:40:02 -04:00
__main__.py Use trio.run() in windows tests 2021-05-07 11:21:40 -04:00
a_trynamic_first_scene.py Port non-debugging examples off `run_in_actor` 2026-07-06 12:11:39 -04:00
actor_spawning_and_causality.py Port non-debugging examples off `run_in_actor` 2026-07-06 12:11:39 -04:00
actor_spawning_and_causality_with_daemon.py Drop lingering rpc_module_paths refs 2021-05-07 11:21:40 -04:00
asynchronous_generators.py Terminate async gen example caller to avoid (benign) errors in console output 2021-08-02 21:49:15 -04:00
full_fledged_streaming_service.py Final try, drop logging level in streaming example to see if macos can cope.. 2026-03-09 19:46:42 -04:00
infected_asyncio_echo_server.py Swap `open_channel_from()` to yield `(chan, first)` 2026-03-13 19:28:57 -04:00
multiple_streams_one_portal.py Update all examples to new streaming API 2021-04-28 12:23:08 -04:00
nested_actor_tree.py Add 5 examples filling doc-tutorial gaps 2026-06-28 13:29:01 -04:00
quick_cluster.py Remove lingering seg=False-flags from examples 2025-08-18 12:03:10 -04:00
remote_error_propagation.py Port non-debugging examples off `run_in_actor` 2026-07-06 12:11:39 -04:00
rpc_bidir_streaming.py Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00
service_daemon_discovery.py Add 5 examples filling doc-tutorial gaps 2026-06-28 13:29:01 -04:00
service_discovery.py Rename `Arbiter` -> `Registrar`, mv to `discovery._registry` 2026-04-02 17:59:13 -04:00
streaming_broadcast_fanout.py Add 5 examples filling doc-tutorial gaps 2026-06-28 13:29:01 -04:00
typed_payloads.py Add 5 examples filling doc-tutorial gaps 2026-06-28 13:29:01 -04:00
uds_transport_actor_tree.py Fix review nits from PR #460 self-review 2026-06-28 13:29:01 -04:00