Commit 5d0c7965 by Arun Babu Neelicattu

utils/env: ensure user directories are created

parent e9e6b324
......@@ -131,7 +131,7 @@ class EditableBuilder(Builder):
entry_points = self.convert_entry_points()
for scripts_path in self._env.script_dirs:
if is_dir_writable(scripts_path):
if is_dir_writable(path=scripts_path, create=True):
break
else:
self._io.error_line(
......
......@@ -170,7 +170,7 @@ class SitePackages:
self._writable_candidates = []
for candidate in self._candidates:
if not is_dir_writable(candidate):
if not is_dir_writable(path=candidate, create=True):
continue
self._writable_candidates.append(candidate)
......
......@@ -5,7 +5,9 @@ from poetry.utils._compat import decode
from poetry.utils.env import SitePackages
def test_env_site_simple(tmp_dir):
def test_env_site_simple(tmp_dir, mocker):
# emulate permission error when creating directory
mocker.patch("poetry.utils._compat.Path.mkdir", side_effect=OSError())
site_packages = SitePackages(Path("/non-existent"), fallbacks=[Path(tmp_dir)])
candidates = site_packages.make_candidates(Path("hello.txt"), writable_only=True)
hello = Path(tmp_dir) / "hello.txt"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment