gh-109748: Fix again venv test_zippath_from_non_installed_posix() (GH-110149)
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
0def8c712bb6f66f1081cab71deb3681566b846d)
Co-authored-by: Victor Stinner <vstinner@python.org>
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 = []
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)
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)