From 00f5ea1ca0eec681aea58674722ca9c5532998a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Randy=20D=C3=B6ring?= <30527984+radoering@users.noreply.github.com> Date: Sat, 3 Sep 2022 06:40:45 +0200 Subject: [PATCH] dependency: base_pep_508_name always posix + fix tests --- .../core/packages/directory_dependency.py | 4 +++- src/poetry/core/packages/file_dependency.py | 4 +++- tests/packages/test_directory_dependency.py | 19 +++++++++++-------- tests/packages/test_file_dependency.py | 19 ++++++++++--------- 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/poetry/core/packages/directory_dependency.py b/src/poetry/core/packages/directory_dependency.py index 24ee05937..5b3cfa5d6 100644 --- a/src/poetry/core/packages/directory_dependency.py +++ b/src/poetry/core/packages/directory_dependency.py @@ -89,7 +89,9 @@ def base_pep_508_name(self) -> str: extras = ",".join(sorted(self.extras)) requirement += f"[{extras}]" - path = path_to_url(self.path) if self.path.is_absolute() else self.path + path = ( + path_to_url(self.path) if self.path.is_absolute() else self.path.as_posix() + ) requirement += f" @ {path}" return requirement diff --git a/src/poetry/core/packages/file_dependency.py b/src/poetry/core/packages/file_dependency.py index 5e6542431..a5dade981 100644 --- a/src/poetry/core/packages/file_dependency.py +++ b/src/poetry/core/packages/file_dependency.py @@ -78,7 +78,9 @@ def base_pep_508_name(self) -> str: extras = ",".join(sorted(self.extras)) requirement += f"[{extras}]" - path = path_to_url(self.path) if self.path.is_absolute() else self.path + path = ( + path_to_url(self.path) if self.path.is_absolute() else self.path.as_posix() + ) requirement += f" @ {path}" return requirement diff --git a/tests/packages/test_directory_dependency.py b/tests/packages/test_directory_dependency.py index c21460216..db865e0b1 100644 --- a/tests/packages/test_directory_dependency.py +++ b/tests/packages/test_directory_dependency.py @@ -29,7 +29,7 @@ def _test_directory_dependency_pep_508( dep = cast(DirectoryDependency, dep) assert dep.name == name assert dep.path == path - assert dep.to_pep_508() == pep_508_output or pep_508_input + assert dep.to_pep_508() == (pep_508_output or pep_508_input) def test_directory_dependency_pep_508_local_absolute() -> None: @@ -38,11 +38,13 @@ def test_directory_dependency_pep_508_local_absolute() -> None: / "fixtures" / "project_with_multi_constraints_dependency" ) + expected = f"demo @ {path.as_uri()}" + requirement = f"demo @ file://{path.as_posix()}" - _test_directory_dependency_pep_508("demo", path, requirement) + _test_directory_dependency_pep_508("demo", path, requirement, expected) requirement = f"demo @ {path}" - _test_directory_dependency_pep_508("demo", path, requirement) + _test_directory_dependency_pep_508("demo", path, requirement, expected) def test_directory_dependency_pep_508_localhost() -> None: @@ -52,8 +54,8 @@ def test_directory_dependency_pep_508_localhost() -> None: / "project_with_multi_constraints_dependency" ) requirement = f"demo @ file://localhost{path.as_posix()}" - requirement_expected = f"demo @ file://{path.as_posix()}" - _test_directory_dependency_pep_508("demo", path, requirement, requirement_expected) + expected = f"demo @ {path.as_uri()}" + _test_directory_dependency_pep_508("demo", path, requirement, expected) def test_directory_dependency_pep_508_local_relative() -> None: @@ -64,7 +66,8 @@ def test_directory_dependency_pep_508_local_relative() -> None: _test_directory_dependency_pep_508("demo", path, requirement) requirement = f"demo @ {path}" - _test_directory_dependency_pep_508("demo", path, requirement) + expected = f"demo @ {path.as_posix()}" + _test_directory_dependency_pep_508("demo", path, requirement, expected) def test_directory_dependency_pep_508_extras() -> None: @@ -74,8 +77,8 @@ def test_directory_dependency_pep_508_extras() -> None: / "project_with_multi_constraints_dependency" ) requirement = f"demo[foo,bar] @ file://{path.as_posix()}" - requirement_expected = f"demo[bar,foo] @ file://{path.as_posix()}" - _test_directory_dependency_pep_508("demo", path, requirement, requirement_expected) + expected = f"demo[bar,foo] @ {path.as_uri()}" + _test_directory_dependency_pep_508("demo", path, requirement, expected) @pytest.mark.parametrize( diff --git a/tests/packages/test_file_dependency.py b/tests/packages/test_file_dependency.py index c0db558dd..ecbf06fb7 100644 --- a/tests/packages/test_file_dependency.py +++ b/tests/packages/test_file_dependency.py @@ -114,25 +114,25 @@ def _test_file_dependency_pep_508( dep = cast(FileDependency, dep) assert dep.name == name assert dep.path == path - assert dep.to_pep_508() == pep_508_output or pep_508_input + assert dep.to_pep_508() == (pep_508_output or pep_508_input) def test_file_dependency_pep_508_local_file_absolute(mocker: MockerFixture) -> None: path = DIST_PATH / "demo-0.2.0.tar.gz" + expected = f"demo @ {path.as_uri()}" + requirement = f"demo @ file://{path.as_posix()}" - _test_file_dependency_pep_508(mocker, "demo", path, requirement) + _test_file_dependency_pep_508(mocker, "demo", path, requirement, expected) requirement = f"demo @ {path}" - _test_file_dependency_pep_508(mocker, "demo", path, requirement) + _test_file_dependency_pep_508(mocker, "demo", path, requirement, expected) def test_file_dependency_pep_508_local_file_localhost(mocker: MockerFixture) -> None: path = DIST_PATH / "demo-0.2.0.tar.gz" requirement = f"demo @ file://localhost{path.as_posix()}" - requirement_expected = f"demo @ file://{path.as_posix()}" - _test_file_dependency_pep_508( - mocker, "demo", path, requirement, requirement_expected - ) + expected = f"demo @ {path.as_uri()}" + _test_file_dependency_pep_508(mocker, "demo", path, requirement, expected) def test_file_dependency_pep_508_local_file_relative_path( @@ -145,14 +145,15 @@ def test_file_dependency_pep_508_local_file_relative_path( _test_file_dependency_pep_508(mocker, "demo", path, requirement) requirement = f"demo @ {path}" - _test_file_dependency_pep_508(mocker, "demo", path, requirement) + expected = f"demo @ {path.as_posix()}" + _test_file_dependency_pep_508(mocker, "demo", path, requirement, expected) def test_absolute_file_dependency_to_pep_508_with_marker(mocker: MockerFixture) -> None: wheel = "demo-0.1.0-py2.py3-none-any.whl" abs_path = DIST_PATH / wheel - requirement = f'demo @ file://{abs_path.as_posix()} ; sys_platform == "linux"' + requirement = f'demo @ {abs_path.as_uri()} ; sys_platform == "linux"' _test_file_dependency_pep_508( mocker, "demo",