Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
gh-109748: Fix again venv test_zippath_from_non_installed_posix() (#1…
…10149)

Call also copy_python_src_ignore() on listdir() names.

shutil.copytree(): replace set() with an empty tuple. An empty tuple
becomes a constant in the compiler and checking if an item is in an
empty tuple is cheap.

(cherry picked from commit 0def8c7)
  • Loading branch information
vstinner committed Oct 4, 2023
commit a3340576a25462ef4acec6b74cbdf188e35bfe6d
2 changes: 1 addition & 1 deletion Lib/shutil.py
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ def _copytree(entries, src, dst, symlinks, ignore, copy_function,
if ignore is not None:
ignored_names = ignore(os.fspath(src), [x.name for x in entries])
else:
ignored_names = set()
ignored_names = ()

os.makedirs(dst, exist_ok=dirs_exist_ok)
errors = []
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ def test_copy_python_src_ignore(self):
self.assertEqual(support.copy_python_src_ignore(path, os.listdir(path)),
ignored | {'build', 'venv'})

# An other directory
# Another directory
path = os.path.join(src_dir, 'Objects')
self.assertEqual(support.copy_python_src_ignore(path, os.listdir(path)),
ignored)
Expand Down
6 changes: 5 additions & 1 deletion Lib/test/test_venv.py
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,11 @@ def test_zippath_from_non_installed_posix(self):
eachpath,
os.path.join(non_installed_dir, platlibdir))
elif os.path.isfile(os.path.join(eachpath, "os.py")):
for name in os.listdir(eachpath):
names = os.listdir(eachpath)
ignored_names = copy_python_src_ignore(eachpath, names)
for name in names:
if name in ignored_names:
continue
if name == "site-packages":
continue
fn = os.path.join(eachpath, name)
Expand Down