diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-03-17 23:39:04 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-03-17 23:39:04 (GMT) |
commit | 1e48eb3b9bce45e596af16cf09930b1c239d7c9d (patch) | |
tree | 5d0ba195e5272626240aa7355fd850da8c188bdd /Lib/test/test_fork1.py | |
parent | f8cbf78bbdd88daeb47ee07cd3f26bb83efe7b8e (diff) | |
download | cpython-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.py | 5 |
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)) |