]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-96071: add regression test for GH-96071 (GH-96137)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 23 Aug 2022 15:37:19 +0000 (08:37 -0700)
committerGitHub <noreply@github.com>
Tue, 23 Aug 2022 15:37:19 +0000 (08:37 -0700)
Automerge-Triggered-By: GH:ericsnowcurrently
(cherry picked from commit 079baee1962ff7c1f4b60f4dd4c803535ecbd18e)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Lib/test/test_capi.py

index 40750cc49324f97970dae26aef28ea57bfeb8d62..e157d9fdc850b686fdddd0f9b376e8d511554462 100644 (file)
@@ -915,6 +915,21 @@ class TestThreadState(unittest.TestCase):
         t.start()
         t.join()
 
+    @threading_helper.reap_threads
+    @threading_helper.requires_working_threading()
+    def test_gilstate_ensure_no_deadlock(self):
+        # See https://github.com/python/cpython/issues/96071
+        code = textwrap.dedent(f"""
+            import _testcapi
+
+            def callback():
+                print('callback called')
+
+            _testcapi._test_thread_state(callback)
+            """)
+        ret = assert_python_ok('-X', 'tracemalloc', '-c', code)
+        self.assertIn(b'callback called', ret.out)
+
 
 class Test_testcapi(unittest.TestCase):
     locals().update((name, getattr(_testcapi, name))