summaryrefslogtreecommitdiff
path: root/tests/functional/test_pip_runner_script.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/test_pip_runner_script.py')
-rw-r--r--tests/functional/test_pip_runner_script.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/functional/test_pip_runner_script.py b/tests/functional/test_pip_runner_script.py
new file mode 100644
index 000000000..f2f879b82
--- /dev/null
+++ b/tests/functional/test_pip_runner_script.py
@@ -0,0 +1,22 @@
+import os
+from pathlib import Path
+
+from pip import __version__
+from tests.lib import PipTestEnvironment
+
+
+def test_runner_work_in_environments_with_no_pip(
+ script: PipTestEnvironment, pip_src: Path
+) -> None:
+ runner = pip_src / "src" / "pip" / "__pip-runner__.py"
+
+ # Ensure there's no pip installed in the environment
+ script.pip("uninstall", "pip", "--yes", use_module=True)
+ # We don't use script.pip to check here, as when testing a
+ # zipapp, script.pip will run pip from the zipapp.
+ script.run("python", "-c", "import pip", expect_error=True)
+
+ # The runner script should still invoke a usable pip
+ result = script.run("python", os.fspath(runner), "--version")
+
+ assert __version__ in result.stdout