gh-118433: Temporarily skip test_interrupt_main_subthread in free-threaded builds (#118485)

Free-threaded builds can intermittently tickle a longstanding bug (24 years!)
in the implementation of `threading.Condition`, leading to flakiness in the
test suite. Fixing the underlying issue will require more discussion, and will
likely apply to most of the concurrency primitives in the `threading` module
that are written in Python. See gh-118433 for more details.
This commit is contained in:
mpage 2024-05-01 13:59:12 -07:00 committed by GitHub
parent 6763bfcc0f
commit 8a50544a99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,7 +3,7 @@
"""
import test.support
from test.support import threading_helper, requires_subprocess
from test.support import threading_helper, requires_subprocess, requires_gil_enabled
from test.support import verbose, cpython_only, os_helper
from test.support.import_helper import import_module
from test.support.script_helper import assert_python_ok, assert_python_failure
@ -2025,6 +2025,7 @@ def check_interrupt_main_noerror(self, signum):
# Restore original handler
signal.signal(signum, handler)
@requires_gil_enabled("gh-118433: Flaky due to a longstanding bug")
def test_interrupt_main_subthread(self):
# Calling start_new_thread with a function that executes interrupt_main
# should raise KeyboardInterrupt upon completion.