forked from goodboy/tractor
Handle missing prompt render case?
parent
5e23b3ca0d
commit
08cf03cd9e
|
@ -18,6 +18,10 @@ import time
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import pexpect
|
import pexpect
|
||||||
|
from pexpect.exceptions import (
|
||||||
|
TIMEOUT,
|
||||||
|
EOF,
|
||||||
|
)
|
||||||
|
|
||||||
from conftest import repodir
|
from conftest import repodir
|
||||||
|
|
||||||
|
@ -544,7 +548,7 @@ def test_multi_daemon_subactors(
|
||||||
# now the root actor won't clobber the bp_forever child
|
# now the root actor won't clobber the bp_forever child
|
||||||
# during it's first access to the debug lock, but will instead
|
# during it's first access to the debug lock, but will instead
|
||||||
# wait for the lock to release, by the edge triggered
|
# wait for the lock to release, by the edge triggered
|
||||||
# ``_debug._no_remote_has_tty`` event before sending cancel messages
|
# ``_debug.Lock.no_remote_has_tty`` event before sending cancel messages
|
||||||
# (via portals) to its underlings B)
|
# (via portals) to its underlings B)
|
||||||
|
|
||||||
# at some point here there should have been some warning msg from
|
# at some point here there should have been some warning msg from
|
||||||
|
@ -577,7 +581,7 @@ def test_multi_daemon_subactors(
|
||||||
child.sendline('c')
|
child.sendline('c')
|
||||||
child.expect(pexpect.EOF)
|
child.expect(pexpect.EOF)
|
||||||
|
|
||||||
except pexpect.exceptions.TIMEOUT:
|
except TIMEOUT:
|
||||||
# Failed to exit using continue..?
|
# Failed to exit using continue..?
|
||||||
child.sendline('q')
|
child.sendline('q')
|
||||||
child.expect(pexpect.EOF)
|
child.expect(pexpect.EOF)
|
||||||
|
@ -604,10 +608,15 @@ def test_multi_subactors_root_errors(
|
||||||
if ctlc:
|
if ctlc:
|
||||||
do_ctlc(child)
|
do_ctlc(child)
|
||||||
|
|
||||||
|
# continue again to catch 2nd name error from
|
||||||
# continue again to catch 2nd name error from
|
# continue again to catch 2nd name error from
|
||||||
# actor 'name_error_1' (which is 2nd depth).
|
# actor 'name_error_1' (which is 2nd depth).
|
||||||
child.sendline('c')
|
child.sendline('c')
|
||||||
child.expect(r"\(Pdb\+\+\)")
|
try:
|
||||||
|
child.expect(r"\(Pdb\+\+\)")
|
||||||
|
except TIMEOUT:
|
||||||
|
child.sendline('')
|
||||||
|
|
||||||
before = str(child.before.decode())
|
before = str(child.before.decode())
|
||||||
assert "Attaching to pdb in crashed actor: ('name_error_1'" in before
|
assert "Attaching to pdb in crashed actor: ('name_error_1'" in before
|
||||||
assert "NameError" in before
|
assert "NameError" in before
|
||||||
|
@ -676,7 +685,7 @@ def test_multi_nested_subactors_error_through_nurseries(
|
||||||
child.sendline('c')
|
child.sendline('c')
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
|
|
||||||
except pexpect.exceptions.EOF:
|
except EOF:
|
||||||
|
|
||||||
# race conditions on how fast the continue is sent?
|
# race conditions on how fast the continue is sent?
|
||||||
print(f"Failed early on {i}?")
|
print(f"Failed early on {i}?")
|
||||||
|
@ -722,8 +731,8 @@ def test_root_nursery_cancels_before_child_releases_tty_lock(
|
||||||
child.expect(r"\(Pdb\+\+\)")
|
child.expect(r"\(Pdb\+\+\)")
|
||||||
|
|
||||||
except (
|
except (
|
||||||
pexpect.exceptions.EOF,
|
EOF,
|
||||||
pexpect.exceptions.TIMEOUT,
|
TIMEOUT,
|
||||||
):
|
):
|
||||||
# races all over..
|
# races all over..
|
||||||
|
|
||||||
|
@ -748,7 +757,7 @@ def test_root_nursery_cancels_before_child_releases_tty_lock(
|
||||||
try:
|
try:
|
||||||
child.expect(pexpect.EOF)
|
child.expect(pexpect.EOF)
|
||||||
break
|
break
|
||||||
except pexpect.exceptions.TIMEOUT:
|
except TIMEOUT:
|
||||||
child.sendline('c')
|
child.sendline('c')
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
print('child was able to grab tty lock again?')
|
print('child was able to grab tty lock again?')
|
||||||
|
|
Loading…
Reference in New Issue