summaryrefslogtreecommitdiff
path: root/tests/functional/test_pip_runner_script.py
blob: f2f879b824d119f9ff01cb0ff8d34e9c4ec79feb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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