From: Filipe LaĆ­ns Date: Fri, 13 Oct 2023 06:26:27 +0000 (+0100) Subject: GH-110796: fix intermittent test failure in test_current_exceptions X-Git-Tag: v3.13.0a1~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2f59d418cf19ded355934da168729d12cbb94645;p=thirdparty%2FPython%2Fcpython.git GH-110796: fix intermittent test failure in test_current_exceptions --- diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 42ee6a466793..da2135061515 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -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]