diff options
| author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-06-24 23:23:59 +0100 |
|---|---|---|
| committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-06-25 20:07:27 +0100 |
| commit | 0a82048ee585efbd85656047843e29792cf84a3a (patch) | |
| tree | ff26f4041107b0aa88e75264eb5bf9bf4ddd3803 /setuptools/command | |
| parent | 2ee94e7e40379d348cdadbb747fbbcf5a6f228c6 (diff) | |
| download | python-setuptools-git-0a82048ee585efbd85656047843e29792cf84a3a.tar.gz | |
Test symlinks in the target directory
Improve chances that symlinks are tested directly on the relevant file
system (some machines might have multiple disks with different link
support).
Diffstat (limited to 'setuptools/command')
| -rw-r--r-- | setuptools/command/editable_wheel.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/setuptools/command/editable_wheel.py b/setuptools/command/editable_wheel.py index bd580acb..8a0fb8bc 100644 --- a/setuptools/command/editable_wheel.py +++ b/setuptools/command/editable_wheel.py @@ -339,7 +339,8 @@ class _LinkTree(_StaticPth): self._file(src_file, dest, link=link) def _create_links(self, outputs, output_mapping): - link_type = "sym" if _can_symlink_files() else "hard" + self.auxiliary_dir.mkdir(parents=True, exist_ok=True) + link_type = "sym" if _can_symlink_files(self.auxiliary_dir) else "hard" mappings = { self._normalize_output(k): v for k, v in output_mapping.items() @@ -403,8 +404,8 @@ class _TopLevelFinder: ... -def _can_symlink_files() -> bool: - with TemporaryDirectory() as tmp: +def _can_symlink_files(base_dir: Path) -> bool: + with TemporaryDirectory(dir=str(base_dir.resolve())) as tmp: path1, path2 = Path(tmp, "file1.txt"), Path(tmp, "file2.txt") path1.write_text("file1", encoding="utf-8") with suppress(AttributeError, NotImplementedError, OSError): |
