Skip to content

Commit 20b910c

Browse files
[3.14] Fix multiprocessing queue test_get() (GH-142024) (#142070)
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 23d771a commit 20b910c

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
@@ -1180,7 +1180,7 @@ def test_put(self):
11801180
@classmethod
11811181
def _test_get(cls, queue, child_can_start, parent_can_continue):
11821182
child_can_start.wait()
1183-
#queue.put(1)
1183+
queue.put(1)
11841184
queue.put(2)
11851185
queue.put(3)
11861186
queue.put(4)
@@ -1204,15 +1204,16 @@ def test_get(self):
12041204
child_can_start.set()
12051205
parent_can_continue.wait()
12061206

1207-
time.sleep(DELTA)
1207+
for _ in support.sleeping_retry(support.SHORT_TIMEOUT):
1208+
if not queue_empty(queue):
1209+
break
12081210
self.assertEqual(queue_empty(queue), False)
12091211

1210-
# Hangs unexpectedly, remove for now
1211-
#self.assertEqual(queue.get(), 1)
1212+
self.assertEqual(queue.get_nowait(), 1)
12121213
self.assertEqual(queue.get(True, None), 2)
12131214
self.assertEqual(queue.get(True), 3)
12141215
self.assertEqual(queue.get(timeout=1), 4)
1215-
self.assertEqual(queue.get_nowait(), 5)
1216+
self.assertEqual(queue.get(), 5)
12161217

12171218
self.assertEqual(queue_empty(queue), True)
12181219

0 commit comments

Comments
 (0)