tractor/tractor/devx
Tyler Goodlet 72b4dc1461 Provision for infected-`asyncio` debug mode support
It's **almost** there, we're just missing the final translation code to
get from an `asyncio` side task to be able to call
`.devx._debug..wait_for_parent_stdin_hijack()` to do root actor TTY
locking. Then we just need to ensure internals also do the right thing
with `greenback()` for equivalent sync `breakpoint()` style pause
points.

Since i'm deferring this until later, tossing in some xfail tests to
`test_infected_asyncio` with TODOs for the needed implementation as well
as eventual test org.

By "provision" it means we add:
- `greenback` init block to `_run_asyncio_task()` when debug mode is
  enabled (but which will currently rte when `asyncio` is detected)
  using `.bestow_portal()` around the `asyncio.Task`.
- a call to `_debug.maybe_init_greenback()` in the `run_as_asyncio_guest()`
  guest-mode entry point.
- as part of `._debug.Lock.is_main_trio_thread()` whenever the async-lib
  is not 'trio' error lock the backend name (which is obvi `'asyncio'`
  in this use case).
2024-03-25 16:09:32 -04:00
..
__init__.py Mk debugger tests work for arbitrary pre-REPL format 2024-03-05 12:22:04 -05:00
_debug.py Provision for infected-`asyncio` debug mode support 2024-03-25 16:09:32 -04:00
_stackscope.py Add `stackscope` tree pprinter triggered by SIGUSR1 2024-02-20 09:05:34 -05:00
cli.py Mk debugger tests work for arbitrary pre-REPL format 2024-03-05 12:22:04 -05:00