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
This commit is contained in:
Victor Stinner 2014-03-18 00:39:04 +01:00
parent f8cbf78bbd
commit 1e48eb3b9b
5 changed files with 19 additions and 10 deletions

View file

@ -48,7 +48,12 @@ class ForkWait(unittest.TestCase):
for i in range(NUM_THREADS):
_thread.start_new(self.f, (i,))
time.sleep(LONGSLEEP)
# busy-loop to wait for threads
deadline = time.monotonic() + 10.0
while len(self.alive) < NUM_THREADS:
time.sleep(0.1)
if time.monotonic() <= deadline:
break
a = sorted(self.alive.keys())
self.assertEqual(a, list(range(NUM_THREADS)))