summaryrefslogtreecommitdiff
path: root/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch')
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch b/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch
new file mode 100644
index 000000000000..bbc8ea9d0b9c
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch
@@ -0,0 +1,134 @@
+diff --git a/tests/test_non_host.py b/tests/test_non_host.py
+index 7049b0c..54ba7fb 100644
+--- a/tests/test_non_host.py
++++ b/tests/test_non_host.py
+@@ -16,6 +16,21 @@
+ from pytest_mock import MockerFixture
+
+
++@pytest.fixture(scope="session")
++def expected_venv_pkgs() -> frozenset[str]:
++ implementation = python_implementation()
++ if implementation == "CPython": # pragma: cpython cover
++ expected = {"pip", "setuptools", "wheel"}
++ elif implementation == "PyPy": # pragma: pypy cover
++ expected = {"cffi", "greenlet", "pip", "readline", "hpy", "setuptools", "wheel"}
++ else: # pragma: no cover
++ raise ValueError(implementation)
++ if sys.version_info >= (3, 12): # pragma: >=3.12 cover
++ expected -= {"setuptools", "wheel"}
++
++ return frozenset(expected)
++
++
+ @pytest.mark.parametrize("args_joined", [True, False])
+ def test_custom_interpreter(
+ tmp_path: Path,
+@@ -23,6 +38,7 @@ def test_custom_interpreter(
+ monkeypatch: pytest.MonkeyPatch,
+ capfd: pytest.CaptureFixture[str],
+ args_joined: bool,
++ expected_venv_pkgs: frozenset[str],
+ ) -> None:
+ # Delete $PYTHONPATH so that it cannot be passed to the custom interpreter process (since we don't know what
+ # distribution metadata to expect when it's used).
+@@ -32,20 +48,13 @@ def test_custom_interpreter(
+ result = virtualenv.cli_run([str(tmp_path / "venv"), "--activators", ""])
+ py = str(result.creator.exe.relative_to(tmp_path))
+ cmd = ["", f"--python={result.creator.exe}"] if args_joined else ["", "--python", py]
++ cmd += ["--all", "--depth", "0"]
+ mocker.patch("pipdeptree._discovery.sys.argv", cmd)
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"pip", "setuptools", "wheel"}
+- elif implementation == "PyPy":
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"} # pragma: no cover
+- else:
+- raise ValueError(implementation)
+- if sys.version_info >= (3, 12):
+- expected -= {"setuptools", "wheel"}
+- assert found == expected, out
++
++ assert expected_venv_pkgs == found, out
+
+
+ def test_custom_interpreter_with_local_only(
+@@ -54,7 +63,6 @@ def test_custom_interpreter_with_local_only(
+ capfd: pytest.CaptureFixture[str],
+ ) -> None:
+ venv_path = str(tmp_path / "venv")
+-
+ result = virtualenv.cli_run([venv_path, "--system-site-packages", "--activators", ""])
+
+ cmd = ["", f"--python={result.creator.exe}", "--local-only"]
+@@ -63,16 +71,10 @@ def test_custom_interpreter_with_local_only(
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"pip", "setuptools", "wheel"}
+- elif implementation == "PyPy": # pragma: no cover
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"} # pragma: no cover
+- else:
+- raise ValueError(implementation) # pragma: no cover
+- if sys.version_info >= (3, 12):
+- expected -= {"setuptools", "wheel"} # pragma: no cover
+- assert found == expected, out
++ expected = {"pip", "setuptools", "wheel"}
++ if sys.version_info >= (3, 12): # pragma: >=3.12 cover
++ expected -= {"setuptools", "wheel"}
++ assert expected == found, out
+
+
+ def test_custom_interpreter_with_user_only(
+@@ -81,7 +83,6 @@ def test_custom_interpreter_with_user_only(
+ # ensures there is no output when --user-only and --python are passed
+
+ venv_path = str(tmp_path / "venv")
+-
+ result = virtualenv.cli_run([venv_path, "--activators", ""])
+
+ cmd = ["", f"--python={result.creator.exe}", "--user-only"]
+@@ -127,7 +128,7 @@ def test_custom_interpreter_with_user_only_and_system_site_pkgs_enabled(
+ found = {i.split("==")[0] for i in out.splitlines()}
+ expected = {"bar"}
+
+- assert found == expected
++ assert expected == found
+
+
+ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+@@ -135,6 +136,7 @@ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+ mocker: MockerFixture,
+ monkeypatch: pytest.MonkeyPatch,
+ capfd: pytest.CaptureFixture[str],
++ expected_venv_pkgs: frozenset[str],
+ ) -> None:
+ # ensures that we honor $PYTHONPATH when passing it to the custom interpreter process
+ venv_path = str(tmp_path / "venv")
+@@ -146,19 +148,10 @@ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+ fake_metadata = fake_dist / "METADATA"
+ with fake_metadata.open("w") as f:
+ f.write("Metadata-Version: 2.3\n" "Name: foo\n" "Version: 1.2.3\n")
+- cmd = ["", f"--python={result.creator.exe}"]
++ cmd = ["", f"--python={result.creator.exe}", "--all", "--depth", "0"]
+ mocker.patch("pipdeptree._discovery.sys.argv", cmd)
+ monkeypatch.setenv("PYTHONPATH", str(another_path))
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"foo", "pip", "setuptools", "wheel"}
+- elif implementation == "PyPy": # pragma: cpython no cover
+- expected = {"foo", "cffi", "greenlet", "pip", "readline", "setuptools", "wheel"}
+- else: # pragma: no cover
+- raise ValueError(implementation)
+- if sys.version_info >= (3, 12): # pragma: >=3.12 cover
+- expected -= {"setuptools", "wheel"}
+- assert found == expected, out
++ assert {*expected_venv_pkgs, "foo"} == found, out