From 510e90b5f3fc47ddd9cf683fbf86fdea59c9f302 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 27 Nov 2025 22:53:38 +0100 Subject: [PATCH] Fix multiprocessing queue test_get() * 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 --- 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 9f8412fe9394eb..d718a27231897f 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -1204,7 +1204,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) @@ -1229,15 +1229,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)