# Testing signals — pypa/virtualenv

> Canonical page: https://codevetter.com/unpack/virtualenv/testing-signals

# Testing signals — pypa/virtualenv

Scanned commit 571bc2041dae5ecbd250d82ec7ef482cfd3c3b69 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; their existence establishes intended checks, not passing results. The inspected suite uses pytest, coverage, mocks, parallel workers, Hypothesis properties, and separate tooling checks. Coverage includes CLI selection, discovery, cached seeding, redirects, digest handling, and extraction safety. This inventory is bounded, and inspected mocked network tests do not establish live service behavior.
- The configured test stack includes pytest, pytest-mock, randomly, rerunfailures, timeout, xdist, and subprocess coverage support; tox packages a wheel and runs coverage-driven pytest with parallel workers by default. — [pyproject.toml#L113-L132](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/pyproject.toml#L113-L132) [tox.toml#L25-L55](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tox.toml#L25-L55)
- tests/conftest.py gates integration tests on --int and slow tests on --skip-slow, except its single-item early return; property tests are excluded by default and run through a dedicated tox environment. — [tests/conftest.py#L56-L77](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/conftest.py#L56-L77) [pyproject.toml#L301-L311](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/pyproject.toml#L301-L311) [tox.toml#L214-L228](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tox.toml#L214-L228)
- CLI tests assert help/version exits, logging setup behavior, and diagnostics for an unavailable discovery method; discovery tests exercise missing-candidate fallback, env/CLI ordering, and an absolute target overriding try-first hints. — [tests/unit/test_run.py#L11-L55](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/test_run.py#L11-L55) [tests/unit/discovery/test_discovery.py#L26-L108](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/discovery/test_discovery.py#L26-L108)
- test_app_data_pinning creates an environment with local pip 26.0.1 and checks pip list output; acquisition tests assert a second exact-version request reuses cached download history. — [tests/integration/test_run_int.py#L16-L35](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/integration/test_run_int.py#L16-L35) [tests/unit/seed/wheels/test_acquire.py#L207-L245](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/seed/wheels/test_acquire.py#L207-L245)
- Cached-seeder tests run two simultaneous environment creations, aggregate injected image-build failures, and assert extraction rejects parent traversal and POSIX/Windows absolute archive entries. — [tests/unit/seed/embed/test_bootstrap_link_via_app_data.py#L223-L301](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/seed/embed/test_bootstrap_link_via_app_data.py#L223-L301)
- Hypothesis properties assert pyvenv.cfg never invents keys and retains one line per key, while batch quoting properties cover dangerous syntax, line boundaries, literal percent signs, and preserved parentheses. — [tests/property/test_pyenv_cfg.py#L35-L77](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/property/test_pyenv_cfg.py#L35-L77) [tests/property/test_batch_quote.py#L29-L72](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/property/test_batch_quote.py#L29-L72)
- Digest/TLS tests mock urlopen to cover matching and mismatching hashes, missing digests, retries, and insecure fallback opt-in; redirect tests cover auto/forced/disabled behavior and preserving foreign, undecodable, or directory targets. — [tests/unit/seed/wheels/test_periodic_update.py#L558-L665](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/seed/wheels/test_periodic_update.py#L558-L665) [tests/unit/create/test_venv_redirect.py#L31-L149](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/tests/unit/create/test_venv_redirect.py#L31-L149)
- Inspected CI defines OS/interpreter matrices, separate property/fuzz/tasks/type/zipapp jobs, combined coverage, and CodeQL/query tests; configured coverage fails below 76% and omits runtime activation/import-hook files, so these definitions are neither execution results nor exhaustive coverage. — [.github/workflows/check.yaml#L25-L63](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/.github/workflows/check.yaml#L25-L63) [.github/workflows/check.yaml#L244-L364](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/.github/workflows/check.yaml#L244-L364) [pyproject.toml#L328-L337](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/pyproject.toml#L328-L337) [.github/workflows/codeql.yaml#L23-L39](https://github.com/pypa/virtualenv/blob/571bc2041dae5ecbd250d82ec7ef482cfd3c3b69/.github/workflows/codeql.yaml#L23-L39)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
