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
							parent
							
								
									bc259b7eab
								
							
						
					
					
						commit
						783fe53b06
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue