From 54ddf753ffbb2d7f5a0e793802a92dac42e98759 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Thu, 27 Jun 2024 14:53:28 +0200 Subject: [PATCH] Use native path separator on Windows --- tests/functional/test_install.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py index 1603a1afff0..4e220328d29 100644 --- a/tests/functional/test_install.py +++ b/tests/functional/test_install.py @@ -2641,13 +2641,20 @@ def add_link(tar: tarfile.TarFile, name: str, linktype: str, target: str) -> Non add_file(sdist_tar, "src/linktest/sub/__init__.py", "") add_file(sdist_tar, "src/linktest/sub/inner.dat", "Data") linknames = [] + + # Windows requires native path separators in symlink targets. + # (see https://github.com/python/cpython/issues/57911) + # (This is not needed for hardlinks, nor for the workaround tarfile + # uses if symlinking is disabled.) + SEP = os.path.sep + pkg_root = f"{common_prefix}src/linktest" for prefix, target_tag, linktype, target in [ ("", "root", "sym", "root.dat"), ("", "root", "hard", f"{pkg_root}/root.dat"), - ("", "inner", "sym", "sub/inner.dat"), + ("", "inner", "sym", f"sub{SEP}inner.dat"), ("", "inner", "hard", f"{pkg_root}/sub/inner.dat"), - ("sub/", "root", "sym", "../root.dat"), + ("sub/", "root", "sym", f"..{SEP}root.dat"), ("sub/", "root", "hard", f"{pkg_root}/root.dat"), ("sub/", "inner", "sym", "inner.dat"), ("sub/", "inner", "hard", f"{pkg_root}/sub/inner.dat"),