Tyler Goodlet
6bdcbdb96f
Do child decode on `do_ctlc` exit?
2022-08-02 12:17:28 -04:00
Tyler Goodlet
adbebd3f06
Add ctl-c to remaining tests, only expect prompt in non-CI
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a2e90194bc
Add ctl-c case to `subactor_breakpoint` example test
2022-08-02 12:17:28 -04:00
Tyler Goodlet
ba7b355d9c
Add note about default behaviour of `fancycompleter`
2022-08-02 12:17:28 -04:00
Tyler Goodlet
617d57dc35
Disable ctl-c prompt checks again
2022-08-02 12:17:28 -04:00
Tyler Goodlet
dadd5e6148
Add back prompt expect via flag
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a72350118c
Test: drop expect prompt
2022-08-02 12:17:28 -04:00
Tyler Goodlet
ef8dc0204c
Just drop all longlisting for now and leave comments
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a101971027
Go back to original longlist code
2022-08-02 12:17:28 -04:00
Tyler Goodlet
835836123b
Just don't call longlist on 3.10+ for now
2022-08-02 12:17:28 -04:00
Tyler Goodlet
70ad0f6b8e
Add longer delays around ctl-c loop, don't expect longlist
2022-08-02 12:17:28 -04:00
Tyler Goodlet
56b30a9a53
Add sleep around ctl-c iteration loop
2022-08-02 12:17:27 -04:00
Tyler Goodlet
925d5c1ceb
Pin to specific `pdbppp` master commit
2022-08-02 12:17:27 -04:00
Tyler Goodlet
b9eb601265
General typing fixes for `mypy`
2022-08-02 12:17:27 -04:00
Tyler Goodlet
4dcc21234e
Only call `.poll()` if a method on the spawn backend
2022-08-02 12:17:27 -04:00
Tyler Goodlet
64909e676e
Fix loglevel in subactor test; actually pass the level XD
2022-08-02 12:17:27 -04:00
Tyler Goodlet
19fb77f698
Pin to `trio >= 0.20`
2022-08-02 12:17:27 -04:00
Tyler Goodlet
8b9f342eef
Port to new `.lowlevel.open_process()` API
2022-08-02 12:17:27 -04:00
Tyler Goodlet
bd7d507153
Guard against `asyncio` cancelled logged to console
2022-08-02 12:17:16 -04:00
Tyler Goodlet
9bc38cbf04
Add slight delay 2nd ctlc round..
2022-08-02 12:17:06 -04:00
Tyler Goodlet
a90ca4b384
Call longlist normally when on py < 3.10
2022-08-02 12:17:06 -04:00
Tyler Goodlet
d0dcd55f47
Only report disconnected actors if proc is still alive?
2022-08-02 12:17:06 -04:00
Tyler Goodlet
4e08605b0d
Only do `pdbpp` from `git` install on 3.10+
2022-08-02 12:17:06 -04:00
Tyler Goodlet
519f4c300b
I dunno, seems like `breakpoint()` needs this?
2022-08-02 12:17:06 -04:00
Tyler Goodlet
56c19093bb
Add basic module-not-found when opening a ctx eg.
2022-08-02 12:17:06 -04:00
Tyler Goodlet
ff3f5959e9
Always enable debug level logging if mode enabled
2022-08-02 12:16:58 -04:00
Tyler Goodlet
abb00531d3
Add help msg for non `__main__` modules as well
2022-08-02 12:16:58 -04:00
Tyler Goodlet
439d320a25
Add basic ctl-c testing cases to suite
2022-08-02 12:16:58 -04:00
Tyler Goodlet
18c525d2f1
Hack around double long list print issue..
...
See https://github.com/pdbpp/pdbpp/issues/496
2022-08-02 12:16:58 -04:00
Tyler Goodlet
201c026284
Show full KBI trace for help with CI hangs
2022-08-02 12:16:58 -04:00
Tyler Goodlet
2a61aa099b
Move pydantic-click hang example to new dir, skip in test suite
2022-08-02 12:16:58 -04:00
Tyler Goodlet
e2453fd3da
Add spaces before values in log msg
2022-08-02 12:16:58 -04:00
Tyler Goodlet
b29def8b5d
Add runtime level msg around channel draining
2022-08-02 12:16:58 -04:00
Tyler Goodlet
f07e9dbb2f
Always undo SIGINT overrides, cancel detached children
...
Ensure that even when `pdb` resumption methods are called during a crash
where `trio`'s runtime has already terminated (eg. `Event.set()` will
raise) we always revert our sigint handler to the original. Further
inside the handler if we hit a case where a child is in debug and
(thinks it) has the global pdb lock, if it has no IPC connection to
a parent, simply presume tty sync-coordination is now lost and cancel
the child immediately.
2022-08-02 12:16:49 -04:00
Tyler Goodlet
2f5a6049a4
Readme formatting tweaks
2022-07-27 11:40:02 -04:00
Tyler Goodlet
418e74eee7
Pin to `pdbpp` upstream master, 3.10 problem?
...
See issues:
- https://github.com/pdbpp/pdbpp/issues/480
- https://github.com/pdbpp/pdbpp/pull/482
2022-07-27 11:40:02 -04:00
Tyler Goodlet
c7035be2fc
Tolerate double `.remove()`s of stream on portal teardowns
2022-07-27 11:40:02 -04:00
Tyler Goodlet
deaca7d6cc
Always propagate SIGINT when no locking peer found
...
A hopefully significant fix here is to always avoid suppressing a SIGINT
when the root actor can not detect an active IPC connections (via
a connected channel) to the supposed debug lock holding actor. In that
case it is most likely that the actor has either terminated or has lost
its connection for debugger control and there is no way the root can
verify the lock is in use; thus we choose to allow KBI cancellation.
Drop the (by comment) `try`-`finally` block in
`_hijoack_stdin_for_child()` around the `_acquire_debug_lock()` call
since all that logic should now be handled internal to that locking
manager. Try to catch a weird error around the `.do_longlist()` method
call that seems to sometimes break on py3.10 and latest `pdbpp`.
2022-07-27 11:40:02 -04:00
Tyler Goodlet
d47d0e7c37
Always call pdb hook even if tty locking fails
2022-07-27 11:40:02 -04:00
Tyler Goodlet
0062c96a3c
Log cancels with appropriate level
2022-07-27 11:40:02 -04:00
Tyler Goodlet
4be13b7387
Just warn on IPC breaks
2022-07-27 11:40:02 -04:00
Tyler Goodlet
7bb5addd4c
Only warn on `trio.BrokenResourceError`s from `_invoke()`
2022-07-27 11:40:02 -04:00
Tyler Goodlet
4fd924cfd2
Make example a subpkg for `python -m <mod>` testing
2022-07-27 11:40:02 -04:00
Tyler Goodlet
fe0fd1a1c1
Add example that triggers bug #302
2022-07-27 11:40:02 -04:00
Tyler Goodlet
dd23e78de1
Add back in async gen loop
2022-07-27 11:40:02 -04:00
Tyler Goodlet
89b44f8163
Pre-declare disconnected flag
2022-07-27 11:40:02 -04:00
Tyler Goodlet
2819b6a5b2
Avoid attr error XD
2022-07-27 11:40:02 -04:00
Tyler Goodlet
f2671ed026
Type annot updates
2022-07-27 11:40:02 -04:00
Tyler Goodlet
41924c86a6
Drop uneeded backframe traceback hide annotation
2022-07-27 11:40:02 -04:00
Tyler Goodlet
206c7c0720
Make `Actor._process_messages()` report disconnects
...
The method now returns a `bool` which flags whether the transport died
to the caller and allows for reporting a disconnect in the
channel-transport handler task. This is something a user will normally
want to know about on the caller side especially after seeing
a traceback from the peer (if in tree) on console.
2022-07-27 11:40:02 -04:00