bpo-38614: Use test.support.SHORT_TIMEOUT constant (GH-17566)

Replace hardcoded timeout constants in tests with SHORT_TIMEOUT of
test.support, so it's easier to ajdust this timeout for all tests at
once.

SHORT_TIMEOUT is 30 seconds by default, but it can be longer
depending on --timeout command line option.

The change makes almost all timeouts longer, except
test_reap_children() of test_support which is made 2x shorter:
SHORT_TIMEOUT should be enough. If this test starts to fail,
LONG_TIMEOUT should be used instead.

Uniformize also "from test import support" import in some test files.
This commit is contained in:
Victor Stinner 2019-12-11 11:30:03 +01:00 committed by GitHub
parent b7a0109cd2
commit 0d63bacefd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 73 additions and 65 deletions

View file

@ -7,7 +7,7 @@ import sys
import time
import unittest
from test.fork_wait import ForkWait
from test.support import reap_children
from test import support
if not hasattr(os, 'fork'):
raise unittest.SkipTest("os.fork not defined")
@ -20,7 +20,7 @@ class Wait3Test(ForkWait):
# This many iterations can be required, since some previously run
# tests (e.g. test_ctypes) could have spawned a lot of children
# very quickly.
deadline = time.monotonic() + 10.0
deadline = time.monotonic() + support.SHORT_TIMEOUT
while time.monotonic() <= deadline:
# wait3() shouldn't hang, but some of the buildbots seem to hang
# in the forking tests. This is an attempt to fix the problem.
@ -50,7 +50,7 @@ class Wait3Test(ForkWait):
def tearDownModule():
reap_children()
support.reap_children()
if __name__ == "__main__":
unittest.main()