CodeVetter · Repo Unpack · Testing signals
pytest-dev/pytest
Tests and CI were inspected, not executed; test existence is not a passing result. The repository tests pytest using pytest itself, including generated test projects through Pytester. Inspected cases exercise lifecycle reports, fixtures, assertion transforms, configuration, and cache boundaries. CI defines cross-platform and integration environments, but exclusions, disabled checks, and allowed failures limit what its configuration alone establishes.
- The default pytest configuration selects testing/, enables pytester, recognizes testing/python/*.py, and excludes example_scripts and plugins_integration from recursive discovery; these settings were inspected without running the suite.
- testing/conftest.py stabilizes terminal width and color environment variables and classifies Pytester subprocess or pexpect cases as slower tests.
- Runner tests inspect pass, failure, skip, setup failure, and teardown failure reports, including whether unsuccessful setup suppresses the call phase.
- Fixture regression tests assert that class-scoped setup and teardown occur once across multiple tests and that scoped setup exceptions are cached without repeating finalization.
- Assertion-rewrite helpers parse, transform, compile, and execute ASTs; configuration tests simulate pytest11 entry points and compare autoload disabling against explicit -p or PYTEST_PLUGINS enabling.
- Cache tests cover parent and absolute path escapes, normalization within the cache, invalid JSON fallback, and mocked open/write/close failures; these assertions do not establish coverage of every filesystem race.
- CI defines Windows, Ubuntu, macOS, CPython, PyPy, doctest, and plugin environments, installs built package artifacts through tox, and uploads coverage and JUnit reports; matrix.xfail jobs use continue-on-error.
- Coverage configuration enables branches, parallel data, and subprocess patching, while tox separates doctests and plugin integrations; its BDD wallet command is commented out as broken by an internal fixture-map change.