From 08c8d307ccb5aa379d98c75a4a4c088ef189b61c Mon Sep 17 00:00:00 2001 From: ShaharNaveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:00:30 +0100 Subject: [PATCH 1/2] Skip flaky linux tests --- Lib/test/_test_multiprocessing.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index d05ed68144b..07ab45b9e37 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -340,6 +340,7 @@ def test_set_executable(self): p.join() self.assertEqual(p.exitcode, 0) + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") @support.requires_resource('cpu') def test_args_argument(self): # bpo-45735: Using list or tuple as *args* in constructor could @@ -445,6 +446,7 @@ def _test_report_parent_status(cls, wconn): parent_process().join(timeout=support.SHORT_TIMEOUT) wconn.send("alive" if parent_process().is_alive() else "not alive") + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") def test_process(self): q = self.Queue(1) e = self.Event() @@ -1394,6 +1396,7 @@ def _acquire_event(lock, event): event.set() time.sleep(1.0) + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") def test_repr_lock(self): if self.TYPE != 'processes': self.skipTest('test not appropriate for {}'.format(self.TYPE)) @@ -2972,8 +2975,7 @@ def test_map_no_failfast(self): # check that we indeed waited for all jobs self.assertGreater(time.monotonic() - t_start, 0.9) - # TODO: RUSTPYTHON - reference counting differences - @unittest.skip("TODO: RUSTPYTHON") + @unittest.skip("TODO: RUSTPYTHON; reference counting differences") def test_release_task_refs(self): # Issue #29861: task arguments and results should not be kept # alive after we are done with them. @@ -3303,6 +3305,7 @@ def _putter(cls, address, authkey): queue = manager.get_queue() queue.put('hello world') + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") def test_rapid_restart(self): authkey = os.urandom(32) manager = QueueManager( @@ -3886,8 +3889,7 @@ def _remote(cls, conn): conn.close() - # TODO: RUSTPYTHON - hangs - @unittest.skip("TODO: RUSTPYTHON") + @unittest.skip("TODO: RUSTPYTHON; hangs") def test_pickling(self): families = self.connection.families @@ -4463,6 +4465,7 @@ def test_shared_memory_SharedMemoryManager_reuses_resource_tracker(self): # properly released sl. self.assertFalse(err) + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") def test_shared_memory_SharedMemoryManager_basics(self): smm1 = multiprocessing.managers.SharedMemoryManager() with self.assertRaises(ValueError): @@ -4815,8 +4818,8 @@ def test_finalize(self): result = [obj for obj in iter(conn.recv, 'STOP')] self.assertEqual(result, ['a', 'b', 'd10', 'd03', 'd02', 'd01', 'e']) - # TODO: RUSTPYTHON - gc.get_threshold() and gc.set_threshold() not implemented - @unittest.expectedFailure + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") + @unittest.expectedFailure # TODO: RUSTPYTHON; gc.get_threshold() and gc.set_threshold() not implemented @support.requires_resource('cpu') def test_thread_safety(self): # bpo-24484: _run_finalizers() should be thread-safe From 33523fad14f0c340668f2e4dc272237f21b9c78f Mon Sep 17 00:00:00 2001 From: ShaharNaveh <50263213+ShaharNaveh@users.noreply.github.com> Date: Wed, 4 Mar 2026 12:18:24 +0100 Subject: [PATCH 2/2] Skip more --- Lib/test/_test_multiprocessing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 07ab45b9e37..b40bfefced9 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -2108,6 +2108,7 @@ def _test_wait_return_f(cls, barrier, queue): res = barrier.wait() queue.put(res) + @unittest.skipIf(sys.platform == "linux", "TODO: RUSTPYTHON; flaky on CI") def test_wait_return(self): """ test the return value from barrier.wait