Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wen? Multiprocessing-native debugger now! #129

Merged
merged 61 commits into from
Oct 14, 2020
Merged
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
8c97f7b
Create runtime variables
goodboy Jul 23, 2020
b11e913
Initial attempt at multi-actor debugging
goodboy Jul 23, 2020
b06d4b0
Add support for "debug mode"
goodboy Jul 23, 2020
1d1c881
WIP debugging test script
goodboy Jul 23, 2020
e7ee0fe
Pass a copy of the expected exposed modules
goodboy Jul 26, 2020
8eb9a74
Add multi-process debugging support using `pdbpp`
goodboy Jul 26, 2020
f7cd2be
Play with re-entrant trace
goodboy Jul 30, 2020
efd7095
Add pdbpp as dep
goodboy Jul 30, 2020
abaa2f5
Drop uneeded `parent_chan_cs()` cancel call
goodboy Jul 30, 2020
68773d5
Always expose the debug module
goodboy Jul 30, 2020
f9ef3fc
Cleanups and more comments
goodboy Jul 30, 2020
ebb21b9
Support re-entrant breakpoints
goodboy Aug 1, 2020
fd5fb92
Sparsen some lines
goodboy Aug 3, 2020
bd157e0
Port to service nursery
goodboy Aug 9, 2020
291ecec
Maybe not sticky by default
goodboy Aug 7, 2020
150179b
Support entering post mortem on crashes in root actor
goodboy Sep 12, 2020
8b6e9f5
Port to new debug api, set `_is_root` state flag on startup
goodboy Sep 12, 2020
09daba4
Explicitly handle `debug_mode` flag correctly
goodboy Sep 12, 2020
9e1d9a8
Add an internal context stack
goodboy Sep 24, 2020
f1b242f
Block SIGINT handling while in the debugger
goodboy Sep 28, 2020
363498b
Disable SIGINT handling in child processes
goodboy Sep 28, 2020
25e9392
Add a cancel scope around child debugger requests
goodboy Sep 28, 2020
5dd2d35
Huh, maybe we don't need to block SIGINT
goodboy Sep 28, 2020
d7a472c
Update our debugging example to wait on results
goodboy Sep 28, 2020
fc2cb61
Make "hard kill" just a `Process.terminate()`
goodboy Sep 28, 2020
29ed065
Ack our inability to hard kill sub-procs
goodboy Sep 28, 2020
0a2a94f
Add initial root actor debugger tests
goodboy Oct 3, 2020
9067bb2
Shorten arbiter contact timeout
goodboy Oct 3, 2020
73a32f7
Add initial subactor debug tests
goodboy Oct 4, 2020
a2151cd
Allow re-entrant breakpoints during pdb stepping
goodboy Oct 4, 2020
e387e8b
Add a multi-subactor test with nesting
goodboy Oct 4, 2020
83a4511
Add "root mailbox" contact info passing
goodboy Oct 4, 2020
31c1a32
Add re-entrant root breakpoint test; demonstrates a bug..
goodboy Oct 4, 2020
d43d367
Facepalm: tty locking from root doesn't require an extra task
goodboy Oct 5, 2020
3710259
Add a multi-subactor test where the root errors
goodboy Oct 5, 2020
2b53c74
Change to relative conftest.py imports
goodboy Oct 5, 2020
abf8bb2
Add a deep nested error propagation test
goodboy Oct 6, 2020
0711208
Add mention subactor uid during locking
goodboy Oct 7, 2020
acb4cb0
Add test showing issue with child in tty lock when cancelled
goodboy Oct 7, 2020
0e344ee
Add a "cancel arrives during a sync sleep in child" test
goodboy Oct 12, 2020
79c38b0
Report `trio.Cancelled` when exhausting portals..
goodboy Oct 13, 2020
a88a6ba
Add pattern matching to test
goodboy Oct 13, 2020
c41e5c8
Fix missing await
goodboy Oct 13, 2020
1710b64
Make tests a package (for relative imports)
goodboy Oct 13, 2020
c375a2d
mypy fixes
goodboy Oct 13, 2020
0ce6d2b
Add `pexpect` dep for debugger tests
goodboy Oct 13, 2020
573b8fe
Add better actor cancellation tracking
goodboy Oct 13, 2020
08ff989
Add some comments
goodboy Oct 13, 2020
24ef919
Skip sync sleep test on mp backend
goodboy Oct 13, 2020
ba52de7
Skip quad ex on local mp tests as well
goodboy Oct 13, 2020
e3c2694
Support debug mode only on the trio backend
goodboy Oct 13, 2020
6669660
Revert "Change to relative conftest.py imports"
goodboy Oct 13, 2020
a49deb4
Revert "Make tests a package (for relative imports)"
goodboy Oct 13, 2020
a934eb0
Factor `repodir()` helper into conftest.py
goodboy Oct 13, 2020
fd59f4a
On windows .spawn dne?
goodboy Oct 13, 2020
15edcc6
Skip it on windows too
goodboy Oct 13, 2020
1b6ee2e
Skip sync sleep test on windows
goodboy Oct 13, 2020
0177268
Report on skipped tests
goodboy Oct 13, 2020
1c25f25
Drop travisCI; it's slower and has worse windows support.
goodboy Oct 14, 2020
bba47e4
Add gh actions badge
goodboy Oct 14, 2020
61a8df3
Comments tweak
goodboy Oct 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Revert "Change to relative conftest.py imports"
This reverts commit 2b53c74.
goodboy committed Oct 13, 2020
commit 666966097ab26d02648f27d676dddba92dbac711
2 changes: 1 addition & 1 deletion tests/test_cancellation.py
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@
import trio
import tractor

from .conftest import tractor_test, no_windows
from conftest import tractor_test, no_windows


async def assert_err(delay=0):
2 changes: 1 addition & 1 deletion tests/test_discovery.py
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@
import tractor
import trio

from .conftest import tractor_test
from conftest import tractor_test


@tractor_test
2 changes: 1 addition & 1 deletion tests/test_local.py
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
import trio
import tractor

from .conftest import tractor_test
from conftest import tractor_test


@pytest.mark.trio
2 changes: 1 addition & 1 deletion tests/test_multi_program.py
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@

import pytest
import tractor
from .conftest import (
from conftest import (
tractor_test,
sig_prog,
_INT_SIGNAL,
2 changes: 1 addition & 1 deletion tests/test_spawning.py
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
import trio
import tractor

from .conftest import tractor_test
from conftest import tractor_test

statespace = {'doggy': 10, 'kitty': 4}