pytest 7.4.3__tar.gz → 7.4.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/deploy.yml +3 -3
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/test.yml +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/AUTHORS +3 -0
- {pytest-7.4.3/src/pytest.egg-info → pytest-7.4.4}/PKG-INFO +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/changelog/README.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/index.rst +1 -0
- pytest-7.4.4/doc/en/announce/release-7.4.4.rst +20 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/changelog.rst +25 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/deprecations.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/markers.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/simple.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/getting-started.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/output.rst +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/reference.rst +3 -1
- {pytest-7.4.3 → pytest-7.4.4}/scripts/prepare-release-pr.py +11 -5
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_version.py +2 -2
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/rewrite.py +10 -4
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/util.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/faulthandler.py +14 -6
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/junitxml.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/nodes.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/outcomes.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pytester.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4/src/pytest.egg-info}/PKG-INFO +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/SOURCES.txt +1 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/_py/test_local.py +3 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/metafunc.py +1 -1
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_assertrewrite.py +33 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_collection.py +23 -0
- {pytest-7.4.3 → pytest-7.4.4}/.coveragerc +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.gitattributes +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.gitblameignore +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/FUNDING.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/config.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/dependabot.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/labels.toml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/backport.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/prepare-release-pr.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/stale.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/update-plugin-list.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.gitignore +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.pre-commit-config.yaml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/.readthedocs.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/CHANGELOG.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/CITATION +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/CODE_OF_CONDUCT.md +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/CONTRIBUTING.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/LICENSE +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/OPENCOLLECTIVE.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/README.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/RELEASING.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/TIDELIFT.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/bench.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/bench_argcomplete.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/empty.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/manyparam.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/skip.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/unit_test.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/bench/xunit.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/changelog/_template.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/codecov.yml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/Makefile +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/globaltoc.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/layout.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/links.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/relations.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/sidebarintro.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/slim_searchbox.html +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/adopt.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.6.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.7.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.6.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.7.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.10.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.10.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.5.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.5.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.3.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.3.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.5.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.6.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.7.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.8.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.9.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.4.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.5.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.0.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.1.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.2.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.3.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/sprint2016.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/backwards-compatibility.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/builtin.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/conf.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/contact.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/contents.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/contributing.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/development_guide.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/failure_demo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/test_failures.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/attic.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/index.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/multipython.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/parametrize.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/pythoncollection.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/pythoncollection.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/reportingdemo.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/special.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/xfail_demo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/anatomy.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/fixtures.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/flaky.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/goodpractices.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/index.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/pythonpath.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/funcarg_compare.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/funcargs.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/historical-notes.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/history.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/assert.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/bash-completion.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/cache.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/capture-stdout-stderr.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/capture-warnings.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/doctest.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/existingtestsuite.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/failures.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/fixtures.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/index.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/logging.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/mark.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/monkeypatch.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/nose.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/parametrize.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/plugins.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/skipping.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/tmp_path.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/unittest.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/usage.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/writing_plugins.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/xunit_setup.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/cramer2.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/favicon.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/freiburg2.jpg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/gaynor3.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/keleshev.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pullrequest.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pylib.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pytest1.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pytest_logo_curves.svg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/theuni.png +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/index.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/license.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/naming20.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/pytest.ini +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/recwarn.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/customize.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/exit-codes.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/fixtures.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/index.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/plugin_list.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/requirements.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/sponsor.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/talks.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/tidelift.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/doc/en/yieldfixture.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/extra/get_issues.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/pyproject.toml +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/publish-gh-release-notes.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/release.major.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/release.minor.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/release.patch.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/release.pre.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/release.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/towncrier-draft-to-file.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/scripts/update-plugin-list.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/setup.cfg +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/setup.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_argcomplete.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/code.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/source.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/saferepr.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/terminalwriter.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/wcwidth.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/error.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/path.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/truncate.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/cacheprovider.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/capture.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/compat.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/argparsing.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/compat.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/exceptions.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/findpaths.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/debugging.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/deprecated.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/doctest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/fixtures.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/freeze_support.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/helpconfig.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/hookspec.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/legacypath.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/logging.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/main.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/expression.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/structures.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/monkeypatch.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/nose.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pastebin.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pathlib.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/py.typed +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pytester_assertions.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python_api.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python_path.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/recwarn.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/reports.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/runner.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/scope.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/setuponly.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/setupplan.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/skipping.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/stash.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/stepwise.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/terminal.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/threadexception.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/timing.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/tmpdir.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/unittest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/unraisableexception.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/warning_types.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/warnings.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/py.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest/__main__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest/py.typed +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/dependency_links.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/entry_points.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/not-zip-safe +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/requires.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/top_level.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/acceptance_test.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_code.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_excinfo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_source.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/deprecated_test.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/README.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue_519.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/junit-10.xsd +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/pytest.ini +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/examples/test_issue519.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/.gitignore +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/create_executable.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/runtests_script.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tests/test_doctest.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tests/test_trivial.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tox_run.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_saferepr.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_terminalwriter.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_wcwidth.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_fixture.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_formatter.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_reporting.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/.gitignore +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/README.rst +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/bdd_wallet.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/django_settings.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest.ini +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/requirements.txt +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/simple_integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/approx.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/collect.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/fixtures.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/integration.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/raises.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/python/show_fixtures_per_test.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_argcomplete.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_assertion.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_cacheprovider.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_capture.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_compat.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_config.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_conftest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_debugging.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_doctest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_entry_points.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_error_diffs.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_faulthandler.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_findpaths.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_helpconfig.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_junitxml.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_legacypath.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_link_resolve.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_main.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_mark.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_mark_expression.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_meta.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_monkeypatch.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_nodes.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_nose.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_parseopt.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_pastebin.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_pathlib.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_pluginmanager.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_pytester.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_python_path.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_recwarn.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_reports.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_runner.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_runner_xunit.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_scope.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_session.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_setuponly.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_setupplan.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_skipping.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_stash.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_stepwise.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_terminal.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_threadexception.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_tmpdir.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_unittest.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_unraisableexception.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_warning_types.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/test_warnings.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/testing/typing_checks.py +0 -0
- {pytest-7.4.3 → pytest-7.4.4}/tox.ini +0 -0
|
@@ -26,7 +26,7 @@ jobs:
|
|
|
26
26
|
persist-credentials: false
|
|
27
27
|
|
|
28
28
|
- name: Build and Check Package
|
|
29
|
-
uses: hynek/build-and-inspect-python-package@v1.5
|
|
29
|
+
uses: hynek/build-and-inspect-python-package@v1.5.3
|
|
30
30
|
|
|
31
31
|
deploy:
|
|
32
32
|
if: github.repository == 'pytest-dev/pytest'
|
|
@@ -53,8 +53,8 @@ jobs:
|
|
|
53
53
|
run: |
|
|
54
54
|
git config user.name "pytest bot"
|
|
55
55
|
git config user.email "pytestbot@gmail.com"
|
|
56
|
-
git tag --annotate --message=v${{ github.event.inputs.version }}
|
|
57
|
-
git push origin
|
|
56
|
+
git tag --annotate --message=v${{ github.event.inputs.version }} ${{ github.event.inputs.version }} ${{ github.sha }}
|
|
57
|
+
git push origin ${{ github.event.inputs.version }}
|
|
58
58
|
|
|
59
59
|
release-notes:
|
|
60
60
|
|
|
@@ -47,6 +47,7 @@ Ariel Pillemer
|
|
|
47
47
|
Armin Rigo
|
|
48
48
|
Aron Coyle
|
|
49
49
|
Aron Curzon
|
|
50
|
+
Arthur Richard
|
|
50
51
|
Ashish Kurmi
|
|
51
52
|
Aviral Verma
|
|
52
53
|
Aviv Palivoda
|
|
@@ -323,6 +324,7 @@ Ronny Pfannschmidt
|
|
|
323
324
|
Ross Lawley
|
|
324
325
|
Ruaridh Williamson
|
|
325
326
|
Russel Winder
|
|
327
|
+
Ryan Puddephatt
|
|
326
328
|
Ryan Wooden
|
|
327
329
|
Saiprasad Kale
|
|
328
330
|
Samuel Colvin
|
|
@@ -375,6 +377,7 @@ Tomer Keren
|
|
|
375
377
|
Tony Narlock
|
|
376
378
|
Tor Colvin
|
|
377
379
|
Trevor Bekolay
|
|
380
|
+
Tushar Sadhwani
|
|
378
381
|
Tyler Goodlet
|
|
379
382
|
Tyler Smart
|
|
380
383
|
Tzu-ping Chung
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pytest
|
|
3
|
-
Version: 7.4.
|
|
3
|
+
Version: 7.4.4
|
|
4
4
|
Summary: pytest: simple powerful testing with Python
|
|
5
5
|
Home-page: https://docs.pytest.org/en/latest/
|
|
6
6
|
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
|
|
@@ -14,7 +14,7 @@ Each file should be named like ``<ISSUE>.<TYPE>.rst``, where
|
|
|
14
14
|
``<ISSUE>`` is an issue number, and ``<TYPE>`` is one of:
|
|
15
15
|
|
|
16
16
|
* ``feature``: new user facing features, like new command-line options and new behavior.
|
|
17
|
-
* ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--
|
|
17
|
+
* ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junit-xml``, improved colors in terminal, etc).
|
|
18
18
|
* ``bugfix``: fixes a bug.
|
|
19
19
|
* ``doc``: documentation improvement, like rewording an entire session or adding missing docs.
|
|
20
20
|
* ``deprecation``: feature deprecation.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
pytest-7.4.4
|
|
2
|
+
=======================================
|
|
3
|
+
|
|
4
|
+
pytest 7.4.4 has just been released to PyPI.
|
|
5
|
+
|
|
6
|
+
This is a bug-fix release, being a drop-in replacement. To upgrade::
|
|
7
|
+
|
|
8
|
+
pip install --upgrade pytest
|
|
9
|
+
|
|
10
|
+
The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
|
|
11
|
+
|
|
12
|
+
Thanks to all of the contributors to this release:
|
|
13
|
+
|
|
14
|
+
* Bruno Oliveira
|
|
15
|
+
* Ran Benita
|
|
16
|
+
* Zac Hatfield-Dodds
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Happy testing,
|
|
20
|
+
The pytest Development Team
|
|
@@ -28,6 +28,31 @@ with advance notice in the **Deprecations** section of releases.
|
|
|
28
28
|
|
|
29
29
|
.. towncrier release notes start
|
|
30
30
|
|
|
31
|
+
pytest 7.4.4 (2023-12-31)
|
|
32
|
+
=========================
|
|
33
|
+
|
|
34
|
+
Bug Fixes
|
|
35
|
+
---------
|
|
36
|
+
|
|
37
|
+
- `#11140 <https://github.com/pytest-dev/pytest/issues/11140>`_: Fix non-string constants at the top of file being detected as docstrings on Python>=3.8.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
- `#11572 <https://github.com/pytest-dev/pytest/issues/11572>`_: Handle an edge case where :data:`sys.stderr` and :data:`sys.__stderr__` might already be closed when :ref:`faulthandler` is tearing down.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
- `#11710 <https://github.com/pytest-dev/pytest/issues/11710>`_: Fixed tracebacks from collection errors not getting pruned.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
- `#7966 <https://github.com/pytest-dev/pytest/issues/7966>`_: Removed unhelpful error message from assertion rewrite mechanism when exceptions are raised in ``__iter__`` methods. Now they are treated un-iterable instead.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Improved Documentation
|
|
51
|
+
----------------------
|
|
52
|
+
|
|
53
|
+
- `#11091 <https://github.com/pytest-dev/pytest/issues/11091>`_: Updated documentation to refer to hyphenated options: replaced ``--junitxml`` with ``--junit-xml`` and ``--collectonly`` with ``--collect-only``.
|
|
54
|
+
|
|
55
|
+
|
|
31
56
|
pytest 7.4.3 (2023-10-24)
|
|
32
57
|
=========================
|
|
33
58
|
|
|
@@ -596,7 +596,7 @@ By using ``legacy`` you will keep using the legacy/xunit1 format when upgrading
|
|
|
596
596
|
pytest 6.0, where the default format will be ``xunit2``.
|
|
597
597
|
|
|
598
598
|
In order to let users know about the transition, pytest will issue a warning in case
|
|
599
|
-
the ``--
|
|
599
|
+
the ``--junit-xml`` option is given in the command line but ``junit_family`` is not explicitly
|
|
600
600
|
configured in ``pytest.ini``.
|
|
601
601
|
|
|
602
602
|
Services known to support the ``xunit2`` format:
|
|
@@ -136,7 +136,7 @@ Or select multiple nodes:
|
|
|
136
136
|
|
|
137
137
|
Node IDs for failing tests are displayed in the test summary info
|
|
138
138
|
when running pytest with the ``-rf`` option. You can also
|
|
139
|
-
construct Node IDs from the output of ``pytest --
|
|
139
|
+
construct Node IDs from the output of ``pytest --collect-only``.
|
|
140
140
|
|
|
141
141
|
Using ``-k expr`` to select tests based on their name
|
|
142
142
|
-------------------------------------------------------
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
:tocdepth: 3
|
|
2
|
+
|
|
1
3
|
.. _`api-reference`:
|
|
2
4
|
|
|
3
5
|
API Reference
|
|
@@ -77,7 +79,7 @@ pytest.xfail
|
|
|
77
79
|
pytest.exit
|
|
78
80
|
~~~~~~~~~~~
|
|
79
81
|
|
|
80
|
-
.. autofunction:: pytest.exit(reason, [returncode=
|
|
82
|
+
.. autofunction:: pytest.exit(reason, [returncode=None, msg=None])
|
|
81
83
|
|
|
82
84
|
pytest.main
|
|
83
85
|
~~~~~~~~~~~
|
|
@@ -31,16 +31,22 @@ class InvalidFeatureRelease(Exception):
|
|
|
31
31
|
SLUG = "pytest-dev/pytest"
|
|
32
32
|
|
|
33
33
|
PR_BODY = """\
|
|
34
|
-
Created by the [prepare release pr]
|
|
35
|
-
workflow.
|
|
34
|
+
Created by the [prepare release pr]\
|
|
35
|
+
(https://github.com/pytest-dev/pytest/actions/workflows/prepare-release-pr.yml) workflow.
|
|
36
36
|
|
|
37
|
-
Once all builds pass and it has been **approved** by one or more maintainers,
|
|
38
|
-
|
|
37
|
+
Once all builds pass and it has been **approved** by one or more maintainers, start the \
|
|
38
|
+
[deploy](https://github.com/pytest-dev/pytest/actions/workflows/deploy.yml) workflow, using these parameters:
|
|
39
39
|
|
|
40
40
|
* `Use workflow from`: `release-{version}`.
|
|
41
41
|
* `Release version`: `{version}`.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Or execute on the command line:
|
|
44
|
+
|
|
45
|
+
```console
|
|
46
|
+
gh workflow run deploy.yml -r release-{version} -f version={version}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
After the workflow has been approved by a core maintainer, the package will be uploaded to PyPI automatically.
|
|
44
50
|
"""
|
|
45
51
|
|
|
46
52
|
|
|
@@ -604,6 +604,13 @@ def _get_assertion_exprs(src: bytes) -> Dict[int, str]:
|
|
|
604
604
|
return ret
|
|
605
605
|
|
|
606
606
|
|
|
607
|
+
def _get_ast_constant_value(value: astStr) -> object:
|
|
608
|
+
if sys.version_info >= (3, 8):
|
|
609
|
+
return value.value
|
|
610
|
+
else:
|
|
611
|
+
return value.s
|
|
612
|
+
|
|
613
|
+
|
|
607
614
|
class AssertionRewriter(ast.NodeVisitor):
|
|
608
615
|
"""Assertion rewriting implementation.
|
|
609
616
|
|
|
@@ -700,11 +707,10 @@ class AssertionRewriter(ast.NodeVisitor):
|
|
|
700
707
|
expect_docstring
|
|
701
708
|
and isinstance(item, ast.Expr)
|
|
702
709
|
and isinstance(item.value, astStr)
|
|
710
|
+
and isinstance(_get_ast_constant_value(item.value), str)
|
|
703
711
|
):
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
else:
|
|
707
|
-
doc = item.value.s
|
|
712
|
+
doc = _get_ast_constant_value(item.value)
|
|
713
|
+
assert isinstance(doc, str)
|
|
708
714
|
if self.is_rewrite_disabled(doc):
|
|
709
715
|
return
|
|
710
716
|
expect_docstring = False
|
|
@@ -9,8 +9,8 @@ from _pytest.nodes import Item
|
|
|
9
9
|
from _pytest.stash import StashKey
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
fault_handler_original_stderr_fd_key = StashKey[int]()
|
|
12
13
|
fault_handler_stderr_fd_key = StashKey[int]()
|
|
13
|
-
fault_handler_originally_enabled_key = StashKey[bool]()
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def pytest_addoption(parser: Parser) -> None:
|
|
@@ -24,8 +24,15 @@ def pytest_addoption(parser: Parser) -> None:
|
|
|
24
24
|
def pytest_configure(config: Config) -> None:
|
|
25
25
|
import faulthandler
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
# at teardown we want to restore the original faulthandler fileno
|
|
28
|
+
# but faulthandler has no api to return the original fileno
|
|
29
|
+
# so here we stash the stderr fileno to be used at teardown
|
|
30
|
+
# sys.stderr and sys.__stderr__ may be closed or patched during the session
|
|
31
|
+
# so we can't rely on their values being good at that point (#11572).
|
|
32
|
+
stderr_fileno = get_stderr_fileno()
|
|
33
|
+
if faulthandler.is_enabled():
|
|
34
|
+
config.stash[fault_handler_original_stderr_fd_key] = stderr_fileno
|
|
35
|
+
config.stash[fault_handler_stderr_fd_key] = os.dup(stderr_fileno)
|
|
29
36
|
faulthandler.enable(file=config.stash[fault_handler_stderr_fd_key])
|
|
30
37
|
|
|
31
38
|
|
|
@@ -37,9 +44,10 @@ def pytest_unconfigure(config: Config) -> None:
|
|
|
37
44
|
if fault_handler_stderr_fd_key in config.stash:
|
|
38
45
|
os.close(config.stash[fault_handler_stderr_fd_key])
|
|
39
46
|
del config.stash[fault_handler_stderr_fd_key]
|
|
40
|
-
if
|
|
41
|
-
|
|
42
|
-
faulthandler.enable(
|
|
47
|
+
# Re-enable the faulthandler if it was originally enabled.
|
|
48
|
+
if fault_handler_original_stderr_fd_key in config.stash:
|
|
49
|
+
faulthandler.enable(config.stash[fault_handler_original_stderr_fd_key])
|
|
50
|
+
del config.stash[fault_handler_original_stderr_fd_key]
|
|
43
51
|
|
|
44
52
|
|
|
45
53
|
def get_stderr_fileno() -> int:
|
|
@@ -369,7 +369,7 @@ def record_testsuite_property(request: FixtureRequest) -> Callable[[str, object]
|
|
|
369
369
|
__tracebackhide__ = True
|
|
370
370
|
|
|
371
371
|
def record_func(name: str, value: object) -> None:
|
|
372
|
-
"""No-op function in case --
|
|
372
|
+
"""No-op function in case --junit-xml was not passed in the command-line."""
|
|
373
373
|
__tracebackhide__ = True
|
|
374
374
|
_check_record_param_type("name", name)
|
|
375
375
|
|
|
@@ -567,7 +567,7 @@ class Collector(Node):
|
|
|
567
567
|
ntraceback = traceback.cut(path=self.path)
|
|
568
568
|
if ntraceback == traceback:
|
|
569
569
|
ntraceback = ntraceback.cut(excludepath=tracebackcutdir)
|
|
570
|
-
return
|
|
570
|
+
return ntraceback.filter(excinfo)
|
|
571
571
|
return excinfo.traceback
|
|
572
572
|
|
|
573
573
|
|
|
@@ -123,7 +123,7 @@ def exit(
|
|
|
123
123
|
only because `msg` is deprecated.
|
|
124
124
|
|
|
125
125
|
:param returncode:
|
|
126
|
-
Return code to be used when exiting pytest.
|
|
126
|
+
Return code to be used when exiting pytest. None means the same as ``0`` (no error), same as :func:`sys.exit`.
|
|
127
127
|
|
|
128
128
|
:param msg:
|
|
129
129
|
Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead.
|
|
@@ -1074,7 +1074,7 @@ class Pytester:
|
|
|
1074
1074
|
return self.inline_run(*values)
|
|
1075
1075
|
|
|
1076
1076
|
def inline_genitems(self, *args) -> Tuple[List[Item], HookRecorder]:
|
|
1077
|
-
"""Run ``pytest.main(['--
|
|
1077
|
+
"""Run ``pytest.main(['--collect-only'])`` in-process.
|
|
1078
1078
|
|
|
1079
1079
|
Runs the :py:func:`pytest.main` function to run all of pytest inside
|
|
1080
1080
|
the test process itself like :py:meth:`inline_run`, but returns a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pytest
|
|
3
|
-
Version: 7.4.
|
|
3
|
+
Version: 7.4.4
|
|
4
4
|
Summary: pytest: simple powerful testing with Python
|
|
5
5
|
Home-page: https://docs.pytest.org/en/latest/
|
|
6
6
|
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
|
|
@@ -235,6 +235,7 @@ doc/en/announce/release-7.4.0.rst
|
|
|
235
235
|
doc/en/announce/release-7.4.1.rst
|
|
236
236
|
doc/en/announce/release-7.4.2.rst
|
|
237
237
|
doc/en/announce/release-7.4.3.rst
|
|
238
|
+
doc/en/announce/release-7.4.4.rst
|
|
238
239
|
doc/en/announce/sprint2016.rst
|
|
239
240
|
doc/en/example/attic.rst
|
|
240
241
|
doc/en/example/conftest.py
|
|
@@ -868,6 +868,9 @@ class TestLocalPath(CommonFSTests):
|
|
|
868
868
|
py_path.strpath, str_path
|
|
869
869
|
)
|
|
870
870
|
|
|
871
|
+
@pytest.mark.xfail(
|
|
872
|
+
reason="#11603", raises=(error.EEXIST, error.ENOENT), strict=False
|
|
873
|
+
)
|
|
871
874
|
def test_make_numbered_dir_multiprocess_safe(self, tmpdir):
|
|
872
875
|
# https://github.com/pytest-dev/py/issues/30
|
|
873
876
|
with multiprocessing.Pool() as pool:
|
|
@@ -686,6 +686,25 @@ class TestAssertionRewrite:
|
|
|
686
686
|
assert msg is not None
|
|
687
687
|
assert "<MY42 object> < 0" in msg
|
|
688
688
|
|
|
689
|
+
def test_assert_handling_raise_in__iter__(self, pytester: Pytester) -> None:
|
|
690
|
+
pytester.makepyfile(
|
|
691
|
+
"""\
|
|
692
|
+
class A:
|
|
693
|
+
def __iter__(self):
|
|
694
|
+
raise ValueError()
|
|
695
|
+
|
|
696
|
+
def __eq__(self, o: object) -> bool:
|
|
697
|
+
return self is o
|
|
698
|
+
|
|
699
|
+
def __repr__(self):
|
|
700
|
+
return "<A object>"
|
|
701
|
+
|
|
702
|
+
assert A() == A()
|
|
703
|
+
"""
|
|
704
|
+
)
|
|
705
|
+
result = pytester.runpytest()
|
|
706
|
+
result.stdout.fnmatch_lines(["*E*assert <A object> == <A object>"])
|
|
707
|
+
|
|
689
708
|
def test_formatchar(self) -> None:
|
|
690
709
|
def f() -> None:
|
|
691
710
|
assert "%test" == "test" # type: ignore[comparison-overlap]
|
|
@@ -2077,3 +2096,17 @@ class TestReprSizeVerbosity:
|
|
|
2077
2096
|
self.create_test_file(pytester, DEFAULT_REPR_MAX_SIZE * 10)
|
|
2078
2097
|
result = pytester.runpytest("-vv")
|
|
2079
2098
|
result.stdout.no_fnmatch_line("*xxx...xxx*")
|
|
2099
|
+
|
|
2100
|
+
|
|
2101
|
+
class TestIssue11140:
|
|
2102
|
+
def test_constant_not_picked_as_module_docstring(self, pytester: Pytester) -> None:
|
|
2103
|
+
pytester.makepyfile(
|
|
2104
|
+
"""\
|
|
2105
|
+
0
|
|
2106
|
+
|
|
2107
|
+
def test_foo():
|
|
2108
|
+
pass
|
|
2109
|
+
"""
|
|
2110
|
+
)
|
|
2111
|
+
result = pytester.runpytest()
|
|
2112
|
+
assert result.ret == 0
|
|
@@ -345,6 +345,29 @@ class TestPrunetraceback:
|
|
|
345
345
|
result = pytester.runpytest(p)
|
|
346
346
|
result.stdout.fnmatch_lines(["*ERROR collecting*", "*header1*"])
|
|
347
347
|
|
|
348
|
+
def test_collection_error_traceback_is_clean(self, pytester: Pytester) -> None:
|
|
349
|
+
"""When a collection error occurs, the report traceback doesn't contain
|
|
350
|
+
internal pytest stack entries.
|
|
351
|
+
|
|
352
|
+
Issue #11710.
|
|
353
|
+
"""
|
|
354
|
+
pytester.makepyfile(
|
|
355
|
+
"""
|
|
356
|
+
raise Exception("LOUSY")
|
|
357
|
+
"""
|
|
358
|
+
)
|
|
359
|
+
result = pytester.runpytest()
|
|
360
|
+
result.stdout.fnmatch_lines(
|
|
361
|
+
[
|
|
362
|
+
"*ERROR collecting*",
|
|
363
|
+
"test_*.py:1: in <module>",
|
|
364
|
+
' raise Exception("LOUSY")',
|
|
365
|
+
"E Exception: LOUSY",
|
|
366
|
+
"*= short test summary info =*",
|
|
367
|
+
],
|
|
368
|
+
consecutive=True,
|
|
369
|
+
)
|
|
370
|
+
|
|
348
371
|
|
|
349
372
|
class TestCustomConftests:
|
|
350
373
|
def test_ignore_collect_path(self, pytester: Pytester) -> None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|