@@ -41,22 +41,40 @@ async def test_site_for_nonfrozen_app(make_runner: Any) -> None:
41
41
platform .system () == "Windows" , reason = "the test is not valid for Windows"
42
42
)
43
43
async def test_runner_setup_handle_signals (make_runner : Any ) -> None :
44
- runner = make_runner (handle_signals = True )
45
- await runner .setup ()
46
- assert signal .getsignal (signal .SIGTERM ) is not signal .SIG_DFL
47
- await runner .cleanup ()
48
- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
44
+ # Save the original signal handler
45
+ original_handler = signal .getsignal (signal .SIGTERM )
46
+ try :
47
+ # Set a known state for the signal handler to avoid flaky tests
48
+ signal .signal (signal .SIGTERM , signal .SIG_DFL )
49
+
50
+ runner = make_runner (handle_signals = True )
51
+ await runner .setup ()
52
+ assert signal .getsignal (signal .SIGTERM ) is not signal .SIG_DFL
53
+ await runner .cleanup ()
54
+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
55
+ finally :
56
+ # Restore original signal handler
57
+ signal .signal (signal .SIGTERM , original_handler )
49
58
50
59
51
60
@pytest .mark .skipif (
52
61
platform .system () == "Windows" , reason = "the test is not valid for Windows"
53
62
)
54
63
async def test_runner_setup_without_signal_handling (make_runner : Any ) -> None :
55
- runner = make_runner (handle_signals = False )
56
- await runner .setup ()
57
- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
58
- await runner .cleanup ()
59
- assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
64
+ # Save the original signal handler
65
+ original_handler = signal .getsignal (signal .SIGTERM )
66
+ try :
67
+ # Set a known state for the signal handler to avoid flaky tests
68
+ signal .signal (signal .SIGTERM , signal .SIG_DFL )
69
+
70
+ runner = make_runner (handle_signals = False )
71
+ await runner .setup ()
72
+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
73
+ await runner .cleanup ()
74
+ assert signal .getsignal (signal .SIGTERM ) is signal .SIG_DFL
75
+ finally :
76
+ # Restore original signal handler
77
+ signal .signal (signal .SIGTERM , original_handler )
60
78
61
79
62
80
async def test_site_double_added (make_runner : Any ) -> None :
0 commit comments