Skip to content

Commit

Permalink
pythongh-109748: Fix venv test_zippath_from_non_installed_posix() (py…
Browse files Browse the repository at this point in the history
…thon#109872)

Fix test_zippath_from_non_installed_posix() of test_venv: don't copy
__pycache__/ sub-directories, because they can be modified by other
Python tests running in parallel.
  • Loading branch information
vstinner authored and csm10495 committed Sep 28, 2023
1 parent a262c6e commit fe9f2a8
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
10 changes: 9 additions & 1 deletion Lib/test/test_venv.py
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,13 @@ def test_zippath_from_non_installed_posix(self):
platlibdir,
stdlib_zip)
additional_pythonpath_for_non_installed = []

# gh-109748: Don't copy __pycache__/ sub-directories, because they can
# be modified by other Python tests running in parallel.
ignored_names = {'__pycache__'}
def ignore_pycache(src, names):
return ignored_names

# Copy stdlib files to the non-installed python so venv can
# correctly calculate the prefix.
for eachpath in sys.path:
Expand All @@ -575,7 +582,8 @@ def test_zippath_from_non_installed_posix(self):
if os.path.isfile(fn):
shutil.copy(fn, libdir)
elif os.path.isdir(fn):
shutil.copytree(fn, os.path.join(libdir, name))
shutil.copytree(fn, os.path.join(libdir, name),
ignore=ignore_pycache)
else:
additional_pythonpath_for_non_installed.append(
eachpath)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Fix ``test_zippath_from_non_installed_posix()`` of test_venv: don't copy
``__pycache__/`` sub-directories, because they can be modified by other Python
tests running in parallel. Patch by Victor Stinner.

0 comments on commit fe9f2a8

Please sign in to comment.