diff --git a/tests/conftest.py b/tests/conftest.py index 578033336fc..d1a12d65e5d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -239,7 +239,7 @@ def virtualenv_template(request, tmpdir_factory, pip_src, # Install setuptools and pip. install_egg_link(venv, 'setuptools', setuptools_install) pip_editable = Path(str(tmpdir_factory.mktemp('pip'))) / 'pip' - pip_src.copytree(pip_editable) + shutil.copytree(pip_src, pip_editable, symlinks=True) assert compileall.compile_dir(str(pip_editable), quiet=1) subprocess.check_call([venv.bin / 'python', 'setup.py', '-q', 'develop'], cwd=pip_editable) diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py index a253b40ed1e..61fcc954710 100644 --- a/tests/lib/__init__.py +++ b/tests/lib/__init__.py @@ -143,7 +143,7 @@ def reset(self): # try/except. if self.root.exists(): shutil.rmtree(self.root) - self.source.copytree(self.root) + shutil.copytree(self.source, self.root, symlinks=True) @property def packages(self): diff --git a/tests/lib/path.py b/tests/lib/path.py index 42e89079bab..cb2e6bda7ed 100644 --- a/tests/lib/path.py +++ b/tests/lib/path.py @@ -179,12 +179,6 @@ def rmdir(self): """ return os.rmdir(self) - def copytree(self, to): - """ - Copies a directory tree to another path. - """ - return shutil.copytree(self, to, symlinks=True) - def rename(self, to): """ Renames a file or directory. May throw an OSError. diff --git a/tests/lib/venv.py b/tests/lib/venv.py index f78ecbb928e..5ef9adc8785 100644 --- a/tests/lib/venv.py +++ b/tests/lib/venv.py @@ -55,7 +55,9 @@ def _create(self, clear=False): if sys.platform == 'win32' and self.location.exists(): self.location.rmdir() # Clone virtual environment from template. - self._template.location.copytree(self.location) + shutil.copytree( + self._template.location, self.location, symlinks=True + ) self._sitecustomize = self._template.sitecustomize self._user_site_packages = self._template.user_site_packages else: