[3.11] gh-106883: Make test_current_frames_exceptions_deadlock faster (#131182)

This commit is contained in:
Diego Russo 2025-03-14 01:59:59 +00:00 committed by GitHub
parent 6b37486184
commit f576d31d1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -477,6 +477,7 @@ def g456():
@threading_helper.reap_threads
@threading_helper.requires_working_threading()
@support.requires_fork()
@support.requires_resource('cpu')
def test_current_frames_exceptions_deadlock(self):
"""
Reproduce the bug raised in GH-106883 and GH-116969.
@ -515,19 +516,14 @@ def thread_function(num_objects):
# The number of objects should be big enough to increase the
# chances to call the GC.
NUM_OBJECTS = 1000
NUM_THREADS = 10
# 40 seconds should be enough for the test to be executed: if it
# is more than 40 seconds it means that the process is in deadlock
# hence the test fails
TIMEOUT = 40
NUM_OBJECTS = 100
NUM_THREADS = 2
# Test the sys._current_frames and sys._current_exceptions calls
pid = os.fork()
if pid: # parent process
try:
support.wait_process(pid, exitcode=0, timeout=TIMEOUT)
support.wait_process(pid, exitcode=0, timeout=support.SHORT_TIMEOUT)
except KeyboardInterrupt:
# When pressing CTRL-C kill the deadlocked process
os.kill(pid, signal.SIGTERM)