diff --git a/tests/discovery/test_registrar.py b/tests/discovery/test_registrar.py index d87a6861..618c93ad 100644 --- a/tests/discovery/test_registrar.py +++ b/tests/discovery/test_registrar.py @@ -520,6 +520,10 @@ async def kill_transport( +# ?TODO, do a OSc style signalling test on this? +# -[ ] doesn't work for fork backends +# @pytest.mark.parametrize('use_signal', [False, True]) +# # Wall-clock bound via `pytest-timeout` (`method='thread'`). # Under `--spawn-backend=subint` this test can wedge in an # un-Ctrl-C-able state (abandoned-subint + shared-GIL @@ -532,19 +536,21 @@ async def kill_transport( # the intended behavior here; the alternative is an unattended # suite run that never returns. @pytest.mark.timeout( - 3, # NOTE should be a 2.1s happy path. + 30, + # NOTE should be a 2.1s happy path. + # XXX for `subint_forkserver` this is SUPER SENSITIVE so keep it + # higher to avoid flaky runs.. method='thread', ) @pytest.mark.skipon_spawn_backend( 'subint', + # 'subint_forkserver', reason=( 'XXX SUBINT HANGING TEST XXX\n' 'See oustanding issue(s)\n' # TODO, put issue link! ) ) -# @pytest.mark.parametrize('use_signal', [False, True]) -# def test_stale_entry_is_deleted( debug_mode: bool, daemon: subprocess.Popen, @@ -558,7 +564,6 @@ def test_stale_entry_is_deleted( ''' async def main(): - name: str = 'transport_fails_actor' _reg_ptl: tractor.Portal an: tractor.ActorNursery @@ -591,6 +596,14 @@ def test_stale_entry_is_deleted( await ptl.cancel_actor() await an.cancel() + # XXX, for tracing if this starts being flaky again.. + # + # async def _timeout_main(): + # with trio.move_on_after(4) as cs: + # await main() + # if cs.cancel_called: + # await tractor.pause() + # TODO, remove once the `[subint]` variant no longer hangs. # # Status (as of Phase B hard-kill landing): @@ -641,3 +654,4 @@ def test_stale_entry_is_deleted( path=f'/tmp/test_stale_entry_is_deleted_{start_method}.dump', ): trio.run(main) + # trio.run(_timeout_main)