Skip to content
Prev Previous commit
Next Next commit
Retry if already running in the test.
  • Loading branch information
ericsnowcurrently committed Nov 19, 2024
commit 4f815c65ebb1f9a01ebb630ed833ffe88836aa23
13 changes: 12 additions & 1 deletion Lib/test/test_interpreters/test_stress.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,18 @@ def test_many_threads_running_interp_in_other_interp(self):

def run():
interp = interpreters.create()
interp.exec(script)
alreadyrunning = (f'{interpreters.InterpreterError}: '
'interpreter already running')
success = False
while not success:
try:
interp.exec(script)
except interpreters.ExecutionFailed as exc:
if exc.excinfo.msg != 'interpreter already running':
raise # re-raise
assert exc.excinfo.type.__name__ == 'InterpreterError'
else:
success = True

threads = (threading.Thread(target=run) for _ in range(200))
with threading_helper.start_threads(threads):
Expand Down