diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index dca0b4e86b3..9a83fbe1d00 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -170,6 +170,7 @@ import re import io import sys import time +import errno import traceback import warnings import unittest @@ -1569,8 +1570,11 @@ def _make_temp_dir_for_build(TEMPDIR): if sysconfig.is_python_build(): TEMPDIR = os.path.join(sysconfig.get_config_var('srcdir'), 'build') TEMPDIR = os.path.abspath(TEMPDIR) - if not os.path.exists(TEMPDIR): + try: os.mkdir(TEMPDIR) + except OSError as e: + if e.errno != errno.EEXIST: + raise # Define a writable temp dir that will be used as cwd while running # the tests. The name of the dir includes the pid to allow parallel diff --git a/Misc/NEWS b/Misc/NEWS index 8f7d5bf92b7..bbdc7cdb5a7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -475,6 +475,8 @@ Extensions Tests ----- +- Fix possible "file already exists" error when running the tests in parallel. + - Issue #11719: Fix message about unexpected test_msilib skip on non-Windows platforms. Patch by Nadeem Vawda.