Merge pull request #173 from goodboy/fix_debug_tests_in_ci_again

Fix debug tests in ci again
py3.9
goodboy 2020-12-19 00:06:29 -05:00 committed by GitHub
commit c3b209fa4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 15 deletions

View File

@ -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())

View File

@ -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