]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-110796: fix intermittent test failure in test_current_exceptions
authorFilipe Laíns <lains@riseup.net>
Fri, 13 Oct 2023 06:26:27 +0000 (07:26 +0100)
committerGitHub <noreply@github.com>
Fri, 13 Oct 2023 06:26:27 +0000 (06:26 +0000)
Lib/test/test_sys.py

index 42ee6a46679369d1f85cfb273b1b940eddadc817..da2135061515943d9b381415a55fef0c24798e1c 100644 (file)
@@ -511,7 +511,7 @@ class SysModuleTest(unittest.TestCase):
         # Spawn a thread that blocks at a known place.  Then the main
         # thread does sys._current_frames(), and verifies that the frames
         # returned make sense.
-        entered_g = threading.Event()
+        g_raised = threading.Event()
         leave_g = threading.Event()
         thread_info = []  # the thread's id
 
@@ -520,22 +520,19 @@ class SysModuleTest(unittest.TestCase):
 
         def g456():
             thread_info.append(threading.get_ident())
-            entered_g.set()
             while True:
                 try:
                     raise ValueError("oops")
                 except ValueError:
+                    g_raised.set()
                     if leave_g.wait(timeout=support.LONG_TIMEOUT):
                         break
 
         t = threading.Thread(target=f123)
         t.start()
-        entered_g.wait()
+        g_raised.wait(timeout=support.LONG_TIMEOUT)
 
         try:
-            # At this point, t has finished its entered_g.set(), although it's
-            # impossible to guess whether it's still on that line or has moved on
-            # to its leave_g.wait().
             self.assertEqual(len(thread_info), 1)
             thread_id = thread_info[0]