forked from goodboy/tractor
Add a per actor debug mode test
parent
9bee513136
commit
4f411d6926
|
@ -4,7 +4,11 @@ That native debug better work!
|
||||||
All these tests can be understood (somewhat) by running the equivalent
|
All these tests can be understood (somewhat) by running the equivalent
|
||||||
`examples/debugging/` scripts manually.
|
`examples/debugging/` scripts manually.
|
||||||
|
|
||||||
TODO: None of these tests have been run successfully on windows yet.
|
TODO:
|
||||||
|
- none of these tests have been run successfully on windows yet but
|
||||||
|
there's been manual testing that verified it works.
|
||||||
|
- wonder if any of it'll work on OS X?
|
||||||
|
|
||||||
"""
|
"""
|
||||||
import time
|
import time
|
||||||
from os import path
|
from os import path
|
||||||
|
@ -561,3 +565,32 @@ def test_root_cancels_child_context_during_startup(
|
||||||
|
|
||||||
child.sendline('c')
|
child.sendline('c')
|
||||||
child.expect(pexpect.EOF)
|
child.expect(pexpect.EOF)
|
||||||
|
|
||||||
|
|
||||||
|
def test_different_debug_mode_per_actor(
|
||||||
|
spawn,
|
||||||
|
):
|
||||||
|
child = spawn('per_actor_debug')
|
||||||
|
child.expect(r"\(Pdb\+\+\)")
|
||||||
|
|
||||||
|
# only one actor should enter the debugger
|
||||||
|
before = str(child.before.decode())
|
||||||
|
assert "Attaching to pdb in crashed actor: ('debugged_boi'" in before
|
||||||
|
assert "RuntimeError" in before
|
||||||
|
|
||||||
|
# the crash boi should not have made a debugger request but
|
||||||
|
# instead crashed completely
|
||||||
|
assert "tractor._exceptions.RemoteActorError: ('crash_boi'" in before
|
||||||
|
|
||||||
|
child.sendline('c')
|
||||||
|
child.expect(pexpect.EOF)
|
||||||
|
|
||||||
|
before = str(child.before.decode())
|
||||||
|
|
||||||
|
# NOTE: this debugged actor error currently WON'T show up since the
|
||||||
|
# root will actually cancel and terminate the nursery before the error
|
||||||
|
# msg reported back from the debug mode actor is processed.
|
||||||
|
# assert "tractor._exceptions.RemoteActorError: ('debugged_boi'" in before
|
||||||
|
|
||||||
|
assert "tractor._exceptions.RemoteActorError: ('crash_boi'" in before
|
||||||
|
assert "RuntimeError" in before
|
||||||
|
|
Loading…
Reference in New Issue