summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_fork1.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-03-17 23:39:04 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-03-17 23:39:04 (GMT)
commit1e48eb3b9bce45e596af16cf09930b1c239d7c9d (patch)
tree5d0ba195e5272626240aa7355fd850da8c188bdd /Lib/test/test_fork1.py
parentf8cbf78bbdd88daeb47ee07cd3f26bb83efe7b8e (diff)
downloadcpython-1e48eb3b9bce45e596af16cf09930b1c239d7c9d.zip
cpython-1e48eb3b9bce45e596af16cf09930b1c239d7c9d.tar.gz
cpython-1e48eb3b9bce45e596af16cf09930b1c239d7c9d.tar.bz2
Issue #20910: Make tests more reliable, less dependent on time
* Tolerate 10 seconds instead of 3 seconds for slow test * Faster test, use sleep of 100 ms instead of 1 sec * Replace a number of iterations with an explicit deadline for the timeout
Diffstat (limited to 'Lib/test/test_fork1.py')
-rw-r--r--Lib/test/test_fork1.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/test/test_fork1.py b/Lib/test/test_fork1.py
index e0626df..8bcbd46 100644
--- a/Lib/test/test_fork1.py
+++ b/Lib/test/test_fork1.py
@@ -18,13 +18,14 @@ get_attribute(os, 'fork')
class ForkTest(ForkWait):
def wait_impl(self, cpid):
- for i in range(10):
+ deadline = time.monotonic() + 10.0
+ while time.monotonic() <= deadline:
# waitpid() shouldn't hang, but some of the buildbots seem to hang
# in the forking tests. This is an attempt to fix the problem.
spid, status = os.waitpid(cpid, os.WNOHANG)
if spid == cpid:
break
- time.sleep(1.0)
+ time.sleep(0.1)
self.assertEqual(spid, cpid)
self.assertEqual(status, 0, "cause = %d, exit = %d" % (status&0xff, status>>8))