gh-110647: Fix signal test_stress_modifying_handlers() (#110650)

* cycle_handlers() now waits until at least one signal is received.
* num_received_signals can be equal to num_sent_signals.
This commit is contained in:
Victor Stinner 2023-10-11 01:59:43 +02:00 committed by GitHub
parent da0a68afc9
commit e07c37cd52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View file

@ -1339,7 +1339,7 @@ class StressTest(unittest.TestCase):
num_sent_signals += 1
def cycle_handlers():
while num_sent_signals < 100:
while num_sent_signals < 100 or num_received_signals < 1:
for i in range(20000):
# Cycle between a Python-defined and a non-Python handler
for handler in [custom_handler, signal.SIG_IGN]:
@ -1372,7 +1372,7 @@ class StressTest(unittest.TestCase):
if not ignored:
# Sanity check that some signals were received, but not all
self.assertGreater(num_received_signals, 0)
self.assertLess(num_received_signals, num_sent_signals)
self.assertLessEqual(num_received_signals, num_sent_signals)
finally:
do_stop = True
t.join()