Skip to content

Commit c4df097

Browse files
[3.13] Fix multiprocessing queue test_get() (GH-142024) (#142071)
Fix multiprocessing queue test_get() (GH-142024) * Replace sleep() with support.sleeping_retry(). * Test get_nowait() first. * Restore previously disabled test. Fix the failure: FAIL: test_get (test.test_multiprocessing_spawn.test_processes.WithProcessesTestQueue.test_get) ---------------------------------------------------------------------- Traceback (most recent call last): File "Lib/test/_test_multiprocessing.py", line 1208, in test_get self.assertEqual(queue_empty(queue), False) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: True != False (cherry picked from commit 5e749d3) Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent e76192f commit c4df097

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

Lib/test/_test_multiprocessing.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,7 +1109,7 @@ def test_put(self):
11091109
@classmethod
11101110
def _test_get(cls, queue, child_can_start, parent_can_continue):
11111111
child_can_start.wait()
1112-
#queue.put(1)
1112+
queue.put(1)
11131113
queue.put(2)
11141114
queue.put(3)
11151115
queue.put(4)
@@ -1133,15 +1133,16 @@ def test_get(self):
11331133
child_can_start.set()
11341134
parent_can_continue.wait()
11351135

1136-
time.sleep(DELTA)
1136+
for _ in support.sleeping_retry(support.SHORT_TIMEOUT):
1137+
if not queue_empty(queue):
1138+
break
11371139
self.assertEqual(queue_empty(queue), False)
11381140

1139-
# Hangs unexpectedly, remove for now
1140-
#self.assertEqual(queue.get(), 1)
1141+
self.assertEqual(queue.get_nowait(), 1)
11411142
self.assertEqual(queue.get(True, None), 2)
11421143
self.assertEqual(queue.get(True), 3)
11431144
self.assertEqual(queue.get(timeout=1), 4)
1144-
self.assertEqual(queue.get_nowait(), 5)
1145+
self.assertEqual(queue.get(), 5)
11451146

11461147
self.assertEqual(queue_empty(queue), True)
11471148

0 commit comments

Comments
 (0)