From 210d1bf4c98ff106a4b73affe93fbd89b494cdc6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 29 Nov 2025 08:00:14 +0100 Subject: [PATCH] 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 5e749d3743621be4c8bf5618ed3249e9fde9a599) Co-authored-by: Victor Stinner --- Lib/test/_test_multiprocessing.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index fed3372c905643..8e7cac42568f99 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -1109,7 +1109,7 @@ def test_put(self): @classmethod def _test_get(cls, queue, child_can_start, parent_can_continue): child_can_start.wait() - #queue.put(1) + queue.put(1) queue.put(2) queue.put(3) queue.put(4) @@ -1133,15 +1133,16 @@ def test_get(self): child_can_start.set() parent_can_continue.wait() - time.sleep(DELTA) + for _ in support.sleeping_retry(support.SHORT_TIMEOUT): + if not queue_empty(queue): + break self.assertEqual(queue_empty(queue), False) - # Hangs unexpectedly, remove for now - #self.assertEqual(queue.get(), 1) + self.assertEqual(queue.get_nowait(), 1) self.assertEqual(queue.get(True, None), 2) self.assertEqual(queue.get(True), 3) self.assertEqual(queue.get(timeout=1), 4) - self.assertEqual(queue.get_nowait(), 5) + self.assertEqual(queue.get(), 5) self.assertEqual(queue_empty(queue), True)