From: Victor Stinner Date: Sat, 29 Nov 2025 07:00:14 +0000 (+0100) Subject: Fix multiprocessing queue test_get() (GH-142024) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e749d3743621be4c8bf5618ed3249e9fde9a599;p=thirdparty%2FPython%2Fcpython.git 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 --- diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 9f8412fe9394..d718a2723189 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -1204,7 +1204,7 @@ class _TestQueue(BaseTestCase): @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 @@ class _TestQueue(BaseTestCase): 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)