[3.11] gh-90867: test.support.wait_process() uses LONG_TIMEOUT (GH-99071) (GH-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 a9a8c87126)

Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit f09da28768)
This commit is contained in:
Miss Islington (bot) 2022-11-04 08:20:35 -07:00 committed by GitHub
parent 0f45b2edac
commit ae5317d309
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1986,7 +1986,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.
"""
@ -1994,7 +1994,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
@ -2005,7 +2005,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)