Tyler Goodlet
9e6a22e52e
Drop pytest full-tracing in CI again
2022-07-29 13:00:54 -04:00
Tyler Goodlet
0ab49cd244
Disable `pygments` highlighting on ctlc tests
2022-07-29 13:00:06 -04:00
Tyler Goodlet
3fafa87ea9
Avoid infinite wait for EOF
2022-07-29 12:20:56 -04:00
Tyler Goodlet
a6f5b9396a
Use `pytest-timeout` plug to try and prevent CI hang
2022-07-29 11:11:54 -04:00
Tyler Goodlet
61af2dc5aa
Add timeout on spawn error msg check
2022-07-29 09:31:11 -04:00
Tyler Goodlet
ba857fe85c
Increase verbosity in ci tests for now
2022-07-29 09:30:55 -04:00
Tyler Goodlet
cb221b9e7c
Timeout on arbiter ping, avoid TCP SYN hangs in CI?
2022-07-28 14:54:03 -04:00
Tyler Goodlet
3bc4778950
Drop ctlc tests on Py3.9...
...
After many tries I just don't think it's worth it to make the tests work
since the repl UX in `pdbpp` is so unreliable in the latest release and
honestly we're trying to go 3.10+ ASAP.
Further,
- entirely drop the pattern matching inside the `do_ctlc()` for now.
- add a `subactor_error` parametrization that catches a case that
previously caused a hang (when you use 'next' immediately after the
first crash/debug lock (the fix was pushed just before this commit).
2022-07-28 14:24:51 -04:00
Tyler Goodlet
5ae21e4753
Factor lock-state release logic into helper
...
The common logic to both remove our custom SIGINT handler as well
as signal the actor global event that pdb is complete. Call this
whenever we exit a post mortem call and thus any time some rpc task
get's debugged inside `._actor._invoke()`.
Further, we have to manually print the REPL prompt on 3.9 for some wack
reason, so stick a version guard in the sigint handler for that..
2022-07-28 14:02:58 -04:00
Tyler Goodlet
d4a36e57d1
Run release hook around `next` repl commands as well
2022-07-28 09:27:39 -04:00
Tyler Goodlet
58956ae950
Try disabling prompt expect in ctrlc cases
2022-07-28 09:00:41 -04:00
Tyler Goodlet
a864f1e729
Add timeout guard around caller side context open
2022-07-27 15:13:27 -04:00
Tyler Goodlet
a4bc5f79ad
Always consider the debugger when exiting contexts
...
When in an uncertain teardown state and in debug mode a context can be
popped from actor runtime before a child finished debugging (the case
when the parent is tearing down but the child hasn't closed/completed
its tty lock IPC exit phase) and the child sends the "stop" message to
unlock the debugger but it's ignored bc the parent has already dropped
the ctx. Instead we call `._debug.maybe_wait_for_deugger()` before these
context removals to avoid the root getting stuck thinking the lock was
never released.
Further, add special `Actor._cancel_task()` handling code inside
`_invoke()` which continues to execute the method despite the IPC
channel to the caller being broken and thus avoiding potential hangs due
to a target (child) actor task remaining alive.
2022-07-27 11:40:03 -04:00
Tyler Goodlet
c132b7f624
Add before assert helper and print console bytes on fail
2022-07-27 11:40:03 -04:00
Tyler Goodlet
b659326d5b
Do child decode on `do_ctlc` exit?
2022-07-27 11:40:03 -04:00
Tyler Goodlet
d971e9bc9d
Add ctl-c to remaining tests, only expect prompt in non-CI
2022-07-27 11:40:03 -04:00
Tyler Goodlet
611120c67c
Add ctl-c case to `subactor_breakpoint` example test
2022-07-27 11:40:03 -04:00
Tyler Goodlet
7f6cace40b
Add note about default behaviour of `fancycompleter`
2022-07-27 11:40:03 -04:00
Tyler Goodlet
fe4adbf6f0
Disable ctl-c prompt checks again
2022-07-27 11:40:03 -04:00
Tyler Goodlet
6ccfeb17d5
Add back prompt expect via flag
2022-07-27 11:40:03 -04:00
Tyler Goodlet
9bed332a94
Test: drop expect prompt
2022-07-27 11:40:03 -04:00
Tyler Goodlet
13df959d90
Just drop all longlisting for now and leave comments
2022-07-27 11:40:03 -04:00
Tyler Goodlet
d0074291a1
Go back to original longlist code
2022-07-27 11:40:03 -04:00
Tyler Goodlet
8559ad69f3
Just don't call longlist on 3.10+ for now
2022-07-27 11:40:03 -04:00
Tyler Goodlet
e519df1bd2
Add longer delays around ctl-c loop, don't expect longlist
2022-07-27 11:40:02 -04:00
Tyler Goodlet
24fd87d969
Add sleep around ctl-c iteration loop
2022-07-27 11:40:02 -04:00
Tyler Goodlet
91054a8a42
Pin to specific `pdbppp` master commit
2022-07-27 11:40:02 -04:00
Tyler Goodlet
cdc7bf6549
General typing fixes for `mypy`
2022-07-27 11:40:02 -04:00
Tyler Goodlet
c865d01e85
Only call `.poll()` if a method on the spawn backend
2022-07-27 11:40:02 -04:00
Tyler Goodlet
e1caeeb8de
Fix loglevel in subactor test; actually pass the level XD
2022-07-27 11:40:02 -04:00
Tyler Goodlet
7c25aa176f
Pin to `trio >= 0.20`
2022-07-27 11:40:02 -04:00
Tyler Goodlet
3b7985292f
TOSQUASH: add note around delay
2022-07-27 11:40:02 -04:00
Tyler Goodlet
e8fc820b92
Port to new `.lowlevel.open_process()` API
2022-07-27 11:40:02 -04:00
Tyler Goodlet
b2fdbc44d1
Guard against asyncio canclled logged to console
2022-07-27 11:40:02 -04:00
Tyler Goodlet
f7823a46b8
Add slight delay 2nd ctlc round..
2022-07-27 11:40:02 -04:00
Tyler Goodlet
f76c809c39
Call longlist normally when on py < 3.10
2022-07-27 11:40:02 -04:00
Tyler Goodlet
9e56881163
Only report disconnected actors if proc is still alive?
2022-07-27 11:40:02 -04:00
Tyler Goodlet
8291ee09b3
TOSQUASH: more loglevel for debug bs
2022-07-27 11:40:02 -04:00
Tyler Goodlet
4a441f0988
Only do `pdbpp` from `git` install on 3.10+
2022-07-27 11:40:02 -04:00
Tyler Goodlet
df0108a0bb
I dunno, seems like `breakpoint()` needs this?
2022-07-27 11:40:02 -04:00
Tyler Goodlet
8537e17251
TOSQUASH: debug mode loglevel
2022-07-27 11:40:02 -04:00
Tyler Goodlet
20acb50d94
Add basic module-not-found when opening a ctx eg.
2022-07-27 11:40:02 -04:00
Tyler Goodlet
eab895864f
Always enable debug level logging if mode enabled
2022-07-27 11:40:02 -04:00
Tyler Goodlet
65a9f69d6c
Add help msg for non `__main__` modules as well
2022-07-27 11:40:02 -04:00
Tyler Goodlet
24b6cc0209
Add basic ctl-c testing cases to suite
2022-07-27 11:40:02 -04:00
Tyler Goodlet
f488db6d8d
Hack around double long list print issue..
...
See https://github.com/pdbpp/pdbpp/issues/496
2022-07-27 11:40:02 -04:00
Tyler Goodlet
c5d335c057
Show full KBI trace for help with CI hangs
2022-07-27 11:40:02 -04:00
Tyler Goodlet
4594fe3501
Move pydantic-click hang example to new dir, skip in test suite
2022-07-27 11:40:02 -04:00
Tyler Goodlet
5f0262fd98
Add spaces before values in log msg
2022-07-27 11:40:02 -04:00
Tyler Goodlet
59e7f29eed
Add runtime level msg around channel draining
2022-07-27 11:40:02 -04:00