@@ -49,22 +49,40 @@ async def test_site_for_nonfrozen_app(make_runner: _RunnerMaker) -> None:
4949 platform .system () == "Windows" , reason = "the test is not valid for Windows"
5050)
5151async def test_runner_setup_handle_signals (make_runner : _RunnerMaker ) -> None :
52- runner = make_runner (handle_signals = True )
53- await runner .setup ()
54- assert signal .getsignal (signal .SIGTERM ) is not signal .SIG_DFL
55- await runner .cleanup ()
56- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
52+ # Save the original signal handler
53+ original_handler = signal .getsignal (signal .SIGTERM )
54+ try :
55+ # Set a known state for the signal handler to avoid flaky tests
56+ signal .signal (signal .SIGTERM , signal .SIG_DFL )
57+
58+ runner = make_runner (handle_signals = True )
59+ await runner .setup ()
60+ assert signal .getsignal (signal .SIGTERM ) is not signal .SIG_DFL
61+ await runner .cleanup ()
62+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
63+ finally :
64+ # Restore original signal handler
65+ signal .signal (signal .SIGTERM , original_handler )
5766
5867
5968@pytest .mark .skipif (
6069 platform .system () == "Windows" , reason = "the test is not valid for Windows"
6170)
6271async def test_runner_setup_without_signal_handling (make_runner : _RunnerMaker ) -> None :
63- runner = make_runner (handle_signals = False )
64- await runner .setup ()
65- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
66- await runner .cleanup ()
67- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
72+ # Save the original signal handler
73+ original_handler = signal .getsignal (signal .SIGTERM )
74+ try :
75+ # Set a known state for the signal handler to avoid flaky tests
76+ signal .signal (signal .SIGTERM , signal .SIG_DFL )
77+
78+ runner = make_runner (handle_signals = False )
79+ await runner .setup ()
80+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
81+ await runner .cleanup ()
82+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
83+ finally :
84+ # Restore original signal handler
85+ signal .signal (signal .SIGTERM , original_handler )
6886
6987
7088async def test_site_double_added (make_runner : _RunnerMaker ) -> None :
0 commit comments