[3.11] gh-90867: test.support.wait_process() uses LONG_TIMEOUT (#99071) (#99098)

The test.support.wait_process() function now uses a timeout of
LONG_TIMEOUT seconds by default, instead of SHORT_TIMEOUT.  It
doesn't matter if a Python buildbot is slower, it only matters that
the process completes. The timeout should just be shorter than
"forever".

(cherry picked from commit f09da28768)
This commit is contained in:
Victor Stinner 2022-11-04 15:50:51 +01:00 committed by GitHub
parent f7d2c948f5
commit a9a8c87126
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2078,7 +2078,7 @@ def wait_process(pid, *, exitcode, timeout=None):
Raise an AssertionError if the process exit code is not equal to exitcode.
If the process runs longer than timeout seconds (SHORT_TIMEOUT by default),
If the process runs longer than timeout seconds (LONG_TIMEOUT by default),
kill the process (if signal.SIGKILL is available) and raise an
AssertionError. The timeout feature is not available on Windows.
"""
@ -2086,7 +2086,7 @@ def wait_process(pid, *, exitcode, timeout=None):
import signal
if timeout is None:
timeout = SHORT_TIMEOUT
timeout = LONG_TIMEOUT
t0 = time.monotonic()
sleep = 0.001
max_sleep = 0.1
@ -2097,7 +2097,7 @@ def wait_process(pid, *, exitcode, timeout=None):
# process is still running
dt = time.monotonic() - t0
if dt > SHORT_TIMEOUT:
if dt > timeout:
try:
os.kill(pid, signal.SIGKILL)
os.waitpid(pid, 0)