Wrap ex in new test, change dir helpers to use `pathlib.Path`
							parent
							
								
									fb9ff45745
								
							
						
					
					
						commit
						4f8586a928
					
				|  | @ -7,6 +7,7 @@ import os | |||
| import random | ||||
| import signal | ||||
| import platform | ||||
| import pathlib | ||||
| import time | ||||
| import inspect | ||||
| from functools import partial, wraps | ||||
|  | @ -113,14 +114,21 @@ no_windows = pytest.mark.skipif( | |||
| ) | ||||
| 
 | ||||
| 
 | ||||
| def repodir(): | ||||
|     """Return the abspath to the repo directory. | ||||
|     """ | ||||
|     dirname = os.path.dirname | ||||
|     dirpath = os.path.abspath( | ||||
|         dirname(dirname(os.path.realpath(__file__))) | ||||
|         ) | ||||
|     return dirpath | ||||
| def repodir() -> pathlib.Path: | ||||
|     ''' | ||||
|     Return the abspath to the repo directory. | ||||
| 
 | ||||
|     ''' | ||||
|     # 2 parents up to step up through tests/<repo_dir> | ||||
|     return pathlib.Path(__file__).parent.parent.absolute() | ||||
| 
 | ||||
| 
 | ||||
| def examples_dir() -> pathlib.Path: | ||||
|     ''' | ||||
|     Return the abspath to the examples directory as `pathlib.Path`. | ||||
| 
 | ||||
|     ''' | ||||
|     return repodir() / 'examples' | ||||
| 
 | ||||
| 
 | ||||
| def pytest_addoption(parser): | ||||
|  |  | |||
|  | @ -0,0 +1,38 @@ | |||
| ''' | ||||
| Sketchy network blackoutz, ugly byzantine gens, puedes eschuchar la | ||||
| cancelacion?.. | ||||
| 
 | ||||
| ''' | ||||
| import pytest | ||||
| from _pytest.pathlib import import_path | ||||
| import trio | ||||
| 
 | ||||
| from conftest import ( | ||||
|     examples_dir, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| @pytest.mark.parametrize( | ||||
|     'debug_mode', | ||||
|     [False, True], | ||||
|     ids=['debug_mode', 'no_debug_mode'], | ||||
| ) | ||||
| def test_child_breaks_ipc_channel_during_stream( | ||||
|     debug_mode: bool, | ||||
| ): | ||||
|     ''' | ||||
|     Ensure we can (purposely) break IPC during streaming and it's still | ||||
|     possible for the (simulated) user to kill the actor tree using | ||||
|     SIGINT. | ||||
| 
 | ||||
|     ''' | ||||
|     mod = import_path( | ||||
|         examples_dir() / 'advanced_faults' / 'ipc_failure_during_stream.py', | ||||
|         root=examples_dir(), | ||||
|     ) | ||||
| 
 | ||||
|     with pytest.raises(KeyboardInterrupt): | ||||
|         trio.run( | ||||
|             mod.main, | ||||
|             debug_mode, | ||||
|         ) | ||||
		Loading…
	
		Reference in New Issue