https://github.com/python/cpython/commit/08f98f4576f95f9ae1a4423d151fce053416f39f
commit: 08f98f4576f95f9ae1a4423d151fce053416f39f
branch: main
author: Peter Bierma <zintensity...@gmail.com>
committer: encukou <encu...@gmail.com>
date: 2024-11-15T14:03:46+01:00
summary:

Fix intermittent failures for the `PyUnstable_Object_EnableDeferredRefcount` 
tests (GH-126849)

Hotfix for the PyUnstable_Object_EnableDeferredRefcount tests.

files:
M Lib/test/test_capi/test_object.py

diff --git a/Lib/test/test_capi/test_object.py 
b/Lib/test/test_capi/test_object.py
index a38b203ed12fa2..b0d39937fd865f 100644
--- a/Lib/test/test_capi/test_object.py
+++ b/Lib/test/test_capi/test_object.py
@@ -134,6 +134,7 @@ def test_ClearWeakRefsNoCallbacks_no_weakref_support(self):
         _testcapi.pyobject_clear_weakrefs_no_callbacks(obj)
 
 
+@threading_helper.requires_working_threading()
 class EnableDeferredRefcountingTest(unittest.TestCase):
     """Test PyUnstable_Object_EnableDeferredRefcount"""
     @support.requires_resource("cpu")
@@ -158,21 +159,13 @@ def silly_func(obj):
 
         silly_list = [1, 2, 3]
         threads = [
-            Thread(target=silly_func, args=(silly_list,)) for _ in range(5)
+            Thread(target=silly_func, args=(silly_list,)) for _ in range(4)
         ]
 
-        with threading_helper.catch_threading_exception() as cm:
-            for t in threads:
-                t.start()
-
+        with threading_helper.start_threads(threads):
             for i in range(10):
                 silly_list.append(i)
 
-            for t in threads:
-                t.join()
-
-            self.assertIsNone(cm.exc_value)
-
         if support.Py_GIL_DISABLED:
             
self.assertTrue(_testinternalcapi.has_deferred_refcount(silly_list))
 

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to