forked from goodboy/tractor
commit
c3b209fa4f
|
@ -289,7 +289,7 @@ def test_multi_subactors(spawn):
|
|||
assert 'bdb.BdbQuit' in before
|
||||
|
||||
|
||||
def test_multi_daemon_subactors(spawn):
|
||||
def test_multi_daemon_subactors(spawn, loglevel):
|
||||
"""Multiple daemon subactors, both erroring and breakpointing within a
|
||||
stream.
|
||||
"""
|
||||
|
@ -313,8 +313,15 @@ def test_multi_daemon_subactors(spawn):
|
|||
before = str(child.before.decode())
|
||||
assert "tractor._exceptions.RemoteActorError: ('name_error'" in before
|
||||
|
||||
child.sendline('c')
|
||||
child.expect(pexpect.EOF)
|
||||
try:
|
||||
child.sendline('c')
|
||||
child.expect(pexpect.EOF)
|
||||
except pexpect.exceptions.TIMEOUT:
|
||||
# Failed to exit using continue..?
|
||||
|
||||
child.sendline('q')
|
||||
child.expect(pexpect.EOF)
|
||||
|
||||
|
||||
|
||||
def test_multi_subactors_root_errors(spawn):
|
||||
|
@ -362,9 +369,25 @@ def test_multi_nested_subactors_error_through_nurseries(spawn):
|
|||
|
||||
child = spawn('multi_nested_subactors_error_up_through_nurseries')
|
||||
|
||||
for _ in range(12):
|
||||
child.expect(r"\(Pdb\+\+\)")
|
||||
child.sendline('c')
|
||||
for i in range(12):
|
||||
try:
|
||||
child.expect(r"\(Pdb\+\+\)")
|
||||
child.sendline('c')
|
||||
time.sleep(0.1)
|
||||
|
||||
except (
|
||||
pexpect.exceptions.EOF,
|
||||
pexpect.exceptions.TIMEOUT,
|
||||
):
|
||||
# races all over..
|
||||
|
||||
print(f"Failed early on {i}?")
|
||||
before = str(child.before.decode())
|
||||
|
||||
timed_out_early = True
|
||||
|
||||
# race conditions on how fast the continue is sent?
|
||||
break
|
||||
|
||||
child.expect(pexpect.EOF)
|
||||
|
||||
|
@ -395,15 +418,13 @@ def test_root_nursery_cancels_before_child_releases_tty_lock(spawn, start_method
|
|||
time.sleep(0.5)
|
||||
try:
|
||||
child.expect(r"\(Pdb\+\+\)")
|
||||
except TimeoutError:
|
||||
if start_method == 'mp':
|
||||
# appears to be some little races that might result in the
|
||||
# last couple acts tearing down early
|
||||
break
|
||||
else:
|
||||
raise
|
||||
|
||||
except pexpect.exceptions.EOF:
|
||||
except (
|
||||
pexpect.exceptions.EOF,
|
||||
pexpect.exceptions.TIMEOUT,
|
||||
):
|
||||
# races all over..
|
||||
|
||||
print(f"Failed early on {i}?")
|
||||
before = str(child.before.decode())
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Per process state
|
||||
"""
|
||||
from typing import Optional, Dict, Any
|
||||
from collections import Mapping
|
||||
from collections.abc import Mapping
|
||||
import multiprocessing as mp
|
||||
|
||||
import trio
|
||||
|
|
Loading…
Reference in New Issue