forked from goodboy/tractor
Support a delay in daemon actor noops
parent
797bb22981
commit
a55ea18c7d
|
@ -23,9 +23,9 @@ async def sleep_forever():
|
||||||
await trio.sleep_forever()
|
await trio.sleep_forever()
|
||||||
|
|
||||||
|
|
||||||
async def do_nuthin():
|
async def do_nuthin(sleep=0):
|
||||||
# just nick the scheduler
|
# just nick the scheduler
|
||||||
await trio.sleep(0)
|
await trio.sleep(sleep)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@ -100,6 +100,7 @@ def test_multierror(arb_addr):
|
||||||
@pytest.mark.parametrize('delay', (0, 0.5))
|
@pytest.mark.parametrize('delay', (0, 0.5))
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'num_subactors', range(25, 26),
|
'num_subactors', range(25, 26),
|
||||||
|
# 'num_subactors', range(2, 3),
|
||||||
)
|
)
|
||||||
def test_multierror_fast_nursery(arb_addr, start_method, num_subactors, delay):
|
def test_multierror_fast_nursery(arb_addr, start_method, num_subactors, delay):
|
||||||
"""Verify we raise a ``trio.MultiError`` out of a nursery where
|
"""Verify we raise a ``trio.MultiError`` out of a nursery where
|
||||||
|
@ -222,7 +223,7 @@ async def test_cancel_infinite_streamer(start_method):
|
||||||
# daemon complete quickly delay while single task
|
# daemon complete quickly delay while single task
|
||||||
# actors error after brief delay
|
# actors error after brief delay
|
||||||
(3, tractor.MultiError, AssertionError,
|
(3, tractor.MultiError, AssertionError,
|
||||||
(assert_err, {'delay': 1}), (do_nuthin, {}, False)),
|
(assert_err, {'delay': 1}), (do_nuthin, {'sleep': 0}, False)),
|
||||||
],
|
],
|
||||||
ids=[
|
ids=[
|
||||||
'1_run_in_actor_fails',
|
'1_run_in_actor_fails',
|
||||||
|
@ -325,6 +326,7 @@ async def spawn_and_error(breadth, depth) -> None:
|
||||||
)
|
)
|
||||||
kwargs = {
|
kwargs = {
|
||||||
'name': f'{name}_errorer_{i}',
|
'name': f'{name}_errorer_{i}',
|
||||||
|
# 'delay': 0.01,
|
||||||
}
|
}
|
||||||
await nursery.run_in_actor(*args, **kwargs)
|
await nursery.run_in_actor(*args, **kwargs)
|
||||||
|
|
||||||
|
@ -389,13 +391,23 @@ async def test_nested_multierrors(loglevel, start_method):
|
||||||
# on windows sometimes spawning is just too slow and
|
# on windows sometimes spawning is just too slow and
|
||||||
# we get back the (sent) cancel signal instead
|
# we get back the (sent) cancel signal instead
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
assert (subexc.type is trio.MultiError) or (
|
assert subexc.type in (
|
||||||
subexc.type is tractor.RemoteActorError)
|
trio.MultiError,
|
||||||
|
tractor.RemoteActorError,
|
||||||
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
assert subexc.type is trio.MultiError
|
assert subexc.type in (
|
||||||
|
trio.MultiError,
|
||||||
|
trio.Cancelled,
|
||||||
|
# tractor.RemoteActorError,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
assert (subexc.type is tractor.RemoteActorError) or (
|
assert subexc.type in (
|
||||||
subexc.type is trio.Cancelled)
|
tractor.RemoteActorError,
|
||||||
|
trio.Cancelled,
|
||||||
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
pytest.fail(f'Got no error from nursery?')
|
pytest.fail(f'Got no error from nursery?')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue