PHP 8.2.30
Preview: test_virtualenv.py Size: 3.64 KB
/opt/cloudlinux/venv/lib64/python3.11/site-packages/setuptools/tests/test_virtualenv.py

import os
import subprocess
import sys
from urllib.error import URLError
from urllib.request import urlopen

import pytest


@pytest.fixture(autouse=True)
def pytest_virtualenv_works(venv):
    """
    pytest_virtualenv may not work. if it doesn't, skip these
    tests. See #1284.
    """
    venv_prefix = venv.run(["python", "-c", "import sys; print(sys.prefix)"]).strip()
    if venv_prefix == sys.prefix:
        pytest.skip("virtualenv is broken (see pypa/setuptools#1284)")


def test_clean_env_install(venv_without_setuptools, setuptools_wheel):
    """
    Check setuptools can be installed in a clean environment.
    """
    cmd = ["python", "-m", "pip", "install", str(setuptools_wheel)]
    venv_without_setuptools.run(cmd)


def access_pypi():
    # Detect if tests are being run without connectivity
    if not os.environ.get('NETWORK_REQUIRED', False):  # pragma: nocover
        try:
            urlopen('https://pypi.org', timeout=1)
        except URLError:
            # No network, disable most of these tests
            return False

    return True


@pytest.mark.skipif(
    'platform.python_implementation() == "PyPy"',
    reason="https://github.com/pypa/setuptools/pull/2865#issuecomment-965834995",
)
@pytest.mark.skipif(not access_pypi(), reason="no network")
# ^-- Even when it is not necessary to install a different version of `pip`
#     the build process will still try to download `wheel`, see #3147 and #2986.
@pytest.mark.parametrize(
    'pip_version',
    [
        None,
        pytest.param(
            'pip<20.1',
            marks=pytest.mark.xfail(
                'sys.version_info >= (3, 12)',
                reason="pip 23.1.2 required for Python 3.12 and later",
            ),
        ),
        pytest.param(
            'pip<21',
            marks=pytest.mark.xfail(
                'sys.version_info >= (3, 12)',
                reason="pip 23.1.2 required for Python 3.12 and later",
            ),
        ),
        pytest.param(
            'pip<22',
            marks=pytest.mark.xfail(
                'sys.version_info >= (3, 12)',
                reason="pip 23.1.2 required for Python 3.12 and later",
            ),
        ),
        pytest.param(
            'pip<23',
            marks=pytest.mark.xfail(
                'sys.version_info >= (3, 12)',
                reason="pip 23.1.2 required for Python 3.12 and later",
            ),
        ),
        pytest.param(
            'https://github.com/pypa/pip/archive/main.zip',
            marks=pytest.mark.xfail(reason='#2975'),
        ),
    ],
)
def test_pip_upgrade_from_source(
    pip_version, venv_without_setuptools, setuptools_wheel, setuptools_sdist
):
    """
    Check pip can upgrade setuptools from source.
    """
    # Install pip/wheel, in a venv without setuptools (as it
    # should not be needed for bootstrapping from source)
    venv = venv_without_setuptools
    venv.run(["pip", "install", "-U", "wheel"])
    if pip_version is not None:
        venv.run(["python", "-m", "pip", "install", "-U", pip_version, "--retries=1"])
    with pytest.raises(subprocess.CalledProcessError):
        # Meta-test to make sure setuptools is not installed
        venv.run(["python", "-c", "import setuptools"])

    # Then install from wheel.
    venv.run(["pip", "install", str(setuptools_wheel)])
    # And finally try to upgrade from source.
    venv.run(["pip", "install", "--no-cache-dir", "--upgrade", str(setuptools_sdist)])


def test_no_missing_dependencies(bare_venv, request):
    """
    Quick and dirty test to ensure all external dependencies are vendored.
    """
    setuptools_dir = request.config.rootdir
    bare_venv.run(['python', 'setup.py', '--help'], cwd=setuptools_dir)

Directory Contents

Dirs: 5 × Files: 45

Name Size Perms Modified Actions
compat DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
config DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
indexes DIR
- drwxr-xr-x 2026-01-20 13:01:47
Edit Download
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
- drwxr-xr-x 2026-02-06 08:01:49
Edit Download
3.09 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.03 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
11.43 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
22 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.71 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
18 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
845 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
775 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.91 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
22.54 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
798 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.05 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
9.86 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
32.51 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
13.85 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
22.05 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
20.39 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
424 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.00 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
8.68 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
5.85 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.87 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
41.62 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
43.89 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
296 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
7.64 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.35 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
887 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.35 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.05 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
18.13 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.41 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
379 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
32.10 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.33 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
8.80 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
641 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
316 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.64 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.27 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
18.31 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
7.68 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
123 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
98 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
335 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).