forked from goodboy/tractor
1
0
Fork 0

Don't mix trip with multiprocessing for now

It seems that mixing the two backends in the test suite results in hangs
due to lingering forkservers and resource managers from
`multiprocessing`? Likely we'll need either 2 separate CI runs to work
or someway to be sure that these lingering servers are killed in between
tests.
try_trip^2
Tyler Goodlet 2020-01-24 00:55:40 -05:00
parent bc259b7eab
commit 783fe53b06
2 changed files with 12 additions and 7 deletions

View File

@ -38,7 +38,7 @@ def pytest_generate_tests(metafunc):
methods = get_all_start_methods()
if platform.system() != "Windows":
methods += ['trio_run_in_process']
methods = ['trio_run_in_process']
if 'fork' in methods: # fork not available on windows, so check before removing
# XXX: the fork method is in general incompatible with

View File

@ -284,16 +284,21 @@ async def spawn_and_error(breadth, depth) -> None:
@tractor_test
async def test_nested_multierrors(loglevel, start_method):
async def test_nested_multierrors(loglevel):
"""Test that failed actor sets are wrapped in `trio.MultiError`s.
This test goes only 2 nurseries deep but we should eventually have tests
for arbitrary n-depth actor trees.
"""
# XXX: forkserver can't seem to handle any more then 2 depth
# process trees for whatever reason.
# Any more process levels then this and we start getting pretty slow anyway
depth = 3
subactor_breadth = 2
# if start_method == 'trio_run_in_process':
depth = 2
subactor_breadth = 3
# else:
# # XXX: multiprocessing can't seem to handle any more then 2 depth
# # process trees for whatever reason.
# # Any more process levels then this and we see bugs that cause
# # hangs and broken pipes all over the place...
# depth = 1
# subactor_breadth = 2
with trio.fail_after(120):
try: