diff options
| author | Bernat Gabor <bgabor8@bloomberg.net> | 2020-01-10 17:31:09 +0000 |
|---|---|---|
| committer | Bernat Gabor <bgabor8@bloomberg.net> | 2020-01-10 17:33:13 +0000 |
| commit | 3bdba7312009913135eefdff404999950aaa52f7 (patch) | |
| tree | 2f2c08766daaa01d6f3aac0540866f31767db127 | |
| parent | 5acb992f775912e64439e0d09aa87086b284aa0d (diff) | |
| download | virtualenv-3bdba7312009913135eefdff404999950aaa52f7.tar.gz | |
fix errors under CPython 3.4 on Windows
| -rw-r--r-- | src/virtualenv/util/path/_pathlib/__init__.py | 5 | ||||
| -rw-r--r-- | tests/unit/interpreters/create/test_creator.py | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/virtualenv/util/path/_pathlib/__init__.py b/src/virtualenv/util/path/_pathlib/__init__.py index 3b18d3d..29a8c6b 100644 --- a/src/virtualenv/util/path/_pathlib/__init__.py +++ b/src/virtualenv/util/path/_pathlib/__init__.py @@ -28,6 +28,11 @@ if six.PY3: with self.open(mode="w", encoding=encoding, errors=errors) as f: return f.write(data) + def mkdir(self, mode=0o777, parents=False, exist_ok=False): + if exist_ok and self.exists(): + return + super(type(BuiltinPath()), self).mkdir(mode, parents) + else: if sys.platform == "win32": diff --git a/tests/unit/interpreters/create/test_creator.py b/tests/unit/interpreters/create/test_creator.py index 9ca3c37..4a58d31 100644 --- a/tests/unit/interpreters/create/test_creator.py +++ b/tests/unit/interpreters/create/test_creator.py @@ -81,7 +81,7 @@ def system(): @pytest.mark.parametrize( "use_venv", [False, True] if six.PY3 else [False], ids=["no_venv", "venv"] if six.PY3 else ["no_venv"] ) -def test_create_no_seed(python, use_venv, global_access, system, coverage_env, special_name_dir): +def test_create(python, use_venv, global_access, system, coverage_env, special_name_dir): dest = special_name_dir cmd = [ "-v", @@ -190,6 +190,8 @@ def test_debug_bad_virtualenv(tmp_path): ) @pytest.mark.parametrize("clear", [True, False], ids=["clear", "no_clear"]) def test_create_clear_resets(tmp_path, use_venv, clear): + if sys.version_info[0:2] == (3, 4) and use_venv and clear is False and CURRENT.implementation == "CPython": + pytest.skip("python 3.4 does not support overwrite venv without clear") marker = tmp_path / "magic" cmd = [str(tmp_path), "--seeder", "none", "--creator", "venv" if use_venv else "builtin"] run_via_cli(cmd) |
