Skip to content

Commit 6dbca36

Browse files
committed
Make test_multiprocessing more lenient about another timeout check
1 parent 41eb85b commit 6dbca36

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Lib/test/test_multiprocessing.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,8 @@ def test_waitfor(self):
922922
self.assertEqual(p.exitcode, 0)
923923

924924
@classmethod
925-
def _test_waitfor_timeout_f(cls, cond, state, success):
925+
def _test_waitfor_timeout_f(cls, cond, state, success, sem):
926+
sem.release()
926927
with cond:
927928
expected = 0.1
928929
dt = time.time()
@@ -938,11 +939,13 @@ def test_waitfor_timeout(self):
938939
cond = self.Condition()
939940
state = self.Value('i', 0)
940941
success = self.Value('i', False)
942+
sem = self.Semaphore(0)
941943

942944
p = self.Process(target=self._test_waitfor_timeout_f,
943-
args=(cond, state, success))
945+
args=(cond, state, success, sem))
944946
p.daemon = True
945947
p.start()
948+
self.assertTrue(sem.acquire(timeout=10))
946949

947950
# Only increment 3 times, so state == 4 is never reached.
948951
for i in range(3):
@@ -2723,8 +2726,8 @@ def test_wait_timeout(self):
27232726
delta = time.time() - start
27242727

27252728
self.assertEqual(res, [])
2726-
self.assertLess(delta, expected + 1)
2727-
self.assertGreater(delta, expected - 1)
2729+
self.assertLess(delta, expected * 2)
2730+
self.assertGreater(delta, expected * 0.5)
27282731

27292732
b.send(None)
27302733

0 commit comments

Comments
 (0)