diff options
author | Sam Gross <colesbury@gmail.com> | 2024-04-16 15:55:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 15:55:56 (GMT) |
commit | df0f3a738f8bd414e0a3164ad65f71acfa83c085 (patch) | |
tree | 8a348c83e8bd47be121cb17ad80ae1725da946be | |
parent | acf69e09c66f8473399fabab36b81f56496528a6 (diff) | |
download | cpython-df0f3a738f8bd414e0a3164ad65f71acfa83c085.zip cpython-df0f3a738f8bd414e0a3164ad65f71acfa83c085.tar.gz cpython-df0f3a738f8bd414e0a3164ad65f71acfa83c085.tar.bz2 |
gh-117683: Fix test_free_different_thread failures with GIL disabled (#117685)
-rw-r--r-- | Lib/test/test_code.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/test/test_code.py b/Lib/test/test_code.py index 5c0fdc8..fe8c672 100644 --- a/Lib/test/test_code.py +++ b/Lib/test/test_code.py @@ -141,7 +141,7 @@ except ImportError: ctypes = None from test.support import (cpython_only, check_impl_detail, requires_debug_ranges, - gc_collect) + gc_collect, Py_GIL_DISABLED) from test.support.script_helper import assert_python_ok from test.support import threading_helper, import_helper from test.support.bytecode_helper import instructions_with_positions @@ -866,7 +866,11 @@ if check_impl_detail(cpython=True) and ctypes is not None: def run(self): del self.f gc_collect() - self.test.assertEqual(LAST_FREED, 500) + # gh-117683: In the free-threaded build, the code object's + # destructor may still be running concurrently in the main + # thread. + if not Py_GIL_DISABLED: + self.test.assertEqual(LAST_FREED, 500) SetExtra(f.__code__, FREE_INDEX, ctypes.c_voidp(500)) tt = ThreadTest(f, self) |