pytest 8.3.3__tar.gz → 8.3.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-8.3.3 → pytest-8.3.4}/.github/workflows/deploy.yml +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/test.yml +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/.pre-commit-config.yaml +0 -2
- {pytest-8.3.3 → pytest-8.3.4}/AUTHORS +3 -0
- {pytest-8.3.3/src/pytest.egg-info → pytest-8.3.4}/PKG-INFO +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/index.rst +1 -0
- pytest-8.3.4/doc/en/announce/release-8.3.4.rst +30 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/builtin.rst +13 -26
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/changelog.rst +41 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/parametrize.rst +3 -3
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/pythoncollection.rst +2 -2
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/goodpractices.rst +2 -2
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/getting-started.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/capture-stdout-stderr.rst +15 -27
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/capture-warnings.rst +38 -12
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/fixtures.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/tmp_path.rst +35 -15
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/reference.rst +10 -4
- {pytest-8.3.3 → pytest-8.3.4}/pyproject.toml +1 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/update-plugin-list.py +1 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/code.py +11 -5
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_version.py +2 -2
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/rewrite.py +14 -7
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/__init__.py +5 -4
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/legacypath.py +5 -10
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pathlib.py +97 -34
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python_api.py +26 -18
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/recwarn.py +1 -2
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/tmpdir.py +7 -15
- {pytest-8.3.3 → pytest-8.3.4/src/pytest.egg-info}/PKG-INFO +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/SOURCES.txt +1 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_excinfo.py +17 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/conftest.py +2 -2
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/approx.py +22 -1
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/fixtures.py +1 -1
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_assertrewrite.py +207 -4
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_config.py +13 -7
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_debugging.py +12 -4
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_pathlib.py +73 -1
- {pytest-8.3.3 → pytest-8.3.4}/.coveragerc +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.git-blame-ignore-revs +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.gitattributes +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/FUNDING.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/chronographer.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/config.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/dependabot.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/labels.toml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/patchback.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/prepare-release-pr.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/stale.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/update-plugin-list.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/.readthedocs.yaml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/CHANGELOG.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/CITATION +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/CODE_OF_CONDUCT.md +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/CONTRIBUTING.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/LICENSE +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/OPENCOLLECTIVE.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/RELEASING.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/TIDELIFT.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/bench.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/bench_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/empty.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/manyparam.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/skip.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/unit_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/bench/xunit.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/changelog/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/changelog/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/changelog/_template.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/codecov.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/Makefile +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/_static/pytest-custom.css +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/_static/pytest1.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/_templates/links.html +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/adopt.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.10.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.10.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.5.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.8.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.9.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/sprint2016.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/backwards-compatibility.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/broken-dep-constraints.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/conf.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/contact.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/contents.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/contributing.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/deprecations.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/development_guide.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/failure_demo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/test_failures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/attic.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/markers.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/multipython.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/pythoncollection.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/reportingdemo.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/simple.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/special.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/xfail_demo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/anatomy.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/ci.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/flaky.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/pythonpath.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/funcarg_compare.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/funcargs.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/historical-notes.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/history.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/assert.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/bash-completion.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/cache.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/doctest.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/existingtestsuite.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/failures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/logging.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/mark.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/monkeypatch.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/output.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/parametrize.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/plugins.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/skipping.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/unittest.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/usage.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/writing_plugins.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/xunit_setup.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/cramer2.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/favicon.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/freiburg2.jpg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/gaynor3.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/keleshev.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pullrequest.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pylib.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pytest_logo_curves.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/theuni.png +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/license.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/naming20.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/recwarn.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/customize.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/exit-codes.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/plugin_list.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/requirements.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/sponsor.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/talks.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/tidelift.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/doc/en/yieldfixture.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/extra/get_issues.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/generate-gh-release-notes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/prepare-release-pr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/release.major.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/release.minor.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/release.patch.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/release.pre.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/scripts/release.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/setup.cfg +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/source.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/pprint.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/saferepr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/terminalwriter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/wcwidth.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/error.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/truncate.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/util.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/cacheprovider.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/capture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/argparsing.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/exceptions.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/findpaths.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/debugging.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/deprecated.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/doctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/faulthandler.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/fixtures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/freeze_support.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/helpconfig.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/hookspec.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/junitxml.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/logging.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/main.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/expression.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/structures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/monkeypatch.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/nodes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/outcomes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pastebin.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/py.typed +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pytester.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pytester_assertions.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python_path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/reports.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/runner.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/setuponly.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/setupplan.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/skipping.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/stash.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/stepwise.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/terminal.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/threadexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/timing.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/unittest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/unraisableexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/warning_types.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/warnings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/py.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest/__main__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest/py.typed +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/dependency_links.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/entry_points.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/requires.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/top_level.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/_py/test_local.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/acceptance_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_code.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_source.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/deprecated_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue_519.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/junit-10.xsd +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/examples/test_issue519.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/create_executable.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/runtests_script.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tests/test_doctest.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tests/test_trivial.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tox_run.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_pprint.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_saferepr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_terminalwriter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_wcwidth.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_fixture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_formatter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_reporting.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/django_settings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/requirements.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/simple_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/collect.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/metafunc.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/raises.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/python/show_fixtures_per_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_assertion.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_cacheprovider.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_capture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_collection.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_doctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_entry_points.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_error_diffs.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_faulthandler.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_findpaths.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_helpconfig.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_junitxml.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_legacypath.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_link_resolve.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_main.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_mark.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_mark_expression.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_meta.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_monkeypatch.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_nodes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_parseopt.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_pastebin.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_pluginmanager.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_pytester.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_python_path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_recwarn.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_reports.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_runner.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_runner_xunit.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_session.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_setuponly.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_setupplan.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_skipping.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_stash.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_stepwise.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_terminal.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_threadexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_tmpdir.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_unittest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_unraisableexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_warning_types.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/test_warnings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/testing/typing_checks.py +0 -0
- {pytest-8.3.3 → pytest-8.3.4}/tox.ini +0 -0
|
@@ -116,6 +116,7 @@ Dave Hunt
|
|
|
116
116
|
David Díaz-Barquero
|
|
117
117
|
David Mohr
|
|
118
118
|
David Paul Röthlisberger
|
|
119
|
+
David Peled
|
|
119
120
|
David Szotten
|
|
120
121
|
David Vierra
|
|
121
122
|
Daw-Ran Liou
|
|
@@ -159,6 +160,7 @@ Feng Ma
|
|
|
159
160
|
Florian Bruhin
|
|
160
161
|
Florian Dahlitz
|
|
161
162
|
Floris Bruynooghe
|
|
163
|
+
Frank Hoffmann
|
|
162
164
|
Fraser Stark
|
|
163
165
|
Gabriel Landau
|
|
164
166
|
Gabriel Reis
|
|
@@ -243,6 +245,7 @@ Kristoffer Nordström
|
|
|
243
245
|
Kyle Altendorf
|
|
244
246
|
Lawrence Mitchell
|
|
245
247
|
Lee Kamentsky
|
|
248
|
+
Leonardus Chen
|
|
246
249
|
Lev Maximov
|
|
247
250
|
Levon Saldamli
|
|
248
251
|
Lewis Cowles
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pytest
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.4
|
|
4
4
|
Summary: pytest: simple powerful testing with Python
|
|
5
5
|
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin, Others (See AUTHORS)
|
|
6
6
|
License: MIT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
pytest-8.3.4
|
|
2
|
+
=======================================
|
|
3
|
+
|
|
4
|
+
pytest 8.3.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
|
+
* Florian Bruhin
|
|
16
|
+
* Frank Hoffmann
|
|
17
|
+
* Jakob van Santen
|
|
18
|
+
* Leonardus Chen
|
|
19
|
+
* Pierre Sassoulas
|
|
20
|
+
* Pradeep Kumar
|
|
21
|
+
* Ran Benita
|
|
22
|
+
* Serge Smertin
|
|
23
|
+
* Stefaan Lippens
|
|
24
|
+
* Sviatoslav Sydorenko (Святослав Сидоренко)
|
|
25
|
+
* dongfangtianyu
|
|
26
|
+
* suspe
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
Happy testing,
|
|
30
|
+
The pytest Development Team
|
|
@@ -178,16 +178,11 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
178
178
|
Return a :class:`pytest.TempdirFactory` instance for the test session.
|
|
179
179
|
|
|
180
180
|
tmpdir -- .../_pytest/legacypath.py:305
|
|
181
|
-
Return a temporary directory
|
|
182
|
-
|
|
183
|
-
directory
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
and old bases are removed after 3 sessions, to aid in debugging. If
|
|
187
|
-
``--basetemp`` is used then it is cleared each session. See
|
|
188
|
-
:ref:`temporary directory location and retention`.
|
|
189
|
-
|
|
190
|
-
The returned object is a `legacy_path`_ object.
|
|
181
|
+
Return a temporary directory (as `legacy_path`_ object)
|
|
182
|
+
which is unique to each test function invocation.
|
|
183
|
+
The temporary directory is created as a subdirectory
|
|
184
|
+
of the base temporary directory, with configurable retention,
|
|
185
|
+
as discussed in :ref:`temporary directory location and retention`.
|
|
191
186
|
|
|
192
187
|
.. note::
|
|
193
188
|
These days, it is preferred to use ``tmp_path``.
|
|
@@ -234,25 +229,17 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
234
229
|
recwarn -- .../_pytest/recwarn.py:35
|
|
235
230
|
Return a :class:`WarningsRecorder` instance that records all warnings emitted by test functions.
|
|
236
231
|
|
|
237
|
-
See
|
|
238
|
-
on warning categories.
|
|
232
|
+
See :ref:`warnings` for information on warning categories.
|
|
239
233
|
|
|
240
|
-
tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:
|
|
234
|
+
tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:241
|
|
241
235
|
Return a :class:`pytest.TempPathFactory` instance for the test session.
|
|
242
236
|
|
|
243
|
-
tmp_path -- .../_pytest/tmpdir.py:
|
|
244
|
-
Return a temporary directory
|
|
245
|
-
|
|
246
|
-
directory
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
and old bases are removed after 3 sessions, to aid in debugging.
|
|
250
|
-
This behavior can be configured with :confval:`tmp_path_retention_count` and
|
|
251
|
-
:confval:`tmp_path_retention_policy`.
|
|
252
|
-
If ``--basetemp`` is used then it is cleared each session. See
|
|
253
|
-
:ref:`temporary directory location and retention`.
|
|
254
|
-
|
|
255
|
-
The returned object is a :class:`pathlib.Path` object.
|
|
237
|
+
tmp_path -- .../_pytest/tmpdir.py:256
|
|
238
|
+
Return a temporary directory (as :class:`pathlib.Path` object)
|
|
239
|
+
which is unique to each test function invocation.
|
|
240
|
+
The temporary directory is created as a subdirectory
|
|
241
|
+
of the base temporary directory, with configurable retention,
|
|
242
|
+
as discussed in :ref:`temporary directory location and retention`.
|
|
256
243
|
|
|
257
244
|
|
|
258
245
|
========================== no tests ran in 0.12s ===========================
|
|
@@ -31,6 +31,47 @@ with advance notice in the **Deprecations** section of releases.
|
|
|
31
31
|
|
|
32
32
|
.. towncrier release notes start
|
|
33
33
|
|
|
34
|
+
pytest 8.3.4 (2024-12-01)
|
|
35
|
+
=========================
|
|
36
|
+
|
|
37
|
+
Bug fixes
|
|
38
|
+
---------
|
|
39
|
+
|
|
40
|
+
- `#12592 <https://github.com/pytest-dev/pytest/issues/12592>`_: Fixed :class:`KeyError` crash when using ``--import-mode=importlib`` in a directory layout where a directory contains a child directory with the same name.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
- `#12818 <https://github.com/pytest-dev/pytest/issues/12818>`_: Assertion rewriting now preserves the source ranges of the original instructions, making it play well with tools that deal with the ``AST``, like `executing <https://github.com/alexmojaki/executing>`__.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
- `#12849 <https://github.com/pytest-dev/pytest/issues/12849>`_: ANSI escape codes for colored output now handled correctly in :func:`pytest.fail` with `pytrace=False`.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
- `#9353 <https://github.com/pytest-dev/pytest/issues/9353>`_: :func:`pytest.approx` now uses strict equality when given booleans.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
Improved documentation
|
|
54
|
+
----------------------
|
|
55
|
+
|
|
56
|
+
- `#10558 <https://github.com/pytest-dev/pytest/issues/10558>`_: Fix ambiguous docstring of :func:`pytest.Config.getoption`.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
- `#10829 <https://github.com/pytest-dev/pytest/issues/10829>`_: Improve documentation on the current handling of the ``--basetemp`` option and its lack of retention functionality (:ref:`temporary directory location and retention`).
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
- `#12866 <https://github.com/pytest-dev/pytest/issues/12866>`_: Improved cross-references concerning the :fixture:`recwarn` fixture.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
- `#12966 <https://github.com/pytest-dev/pytest/issues/12966>`_: Clarify :ref:`filterwarnings` docs on filter precedence/order when using multiple :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` marks.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
Contributor-facing changes
|
|
70
|
+
--------------------------
|
|
71
|
+
|
|
72
|
+
- `#12497 <https://github.com/pytest-dev/pytest/issues/12497>`_: Fixed two failing pdb-related tests on Python 3.13.
|
|
73
|
+
|
|
74
|
+
|
|
34
75
|
pytest 8.3.3 (2024-09-09)
|
|
35
76
|
=========================
|
|
36
77
|
|
|
@@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
|
|
|
162
162
|
rootdir: /home/sweet/project
|
|
163
163
|
collected 8 items
|
|
164
164
|
|
|
165
|
-
<Dir parametrize.rst-
|
|
165
|
+
<Dir parametrize.rst-205>
|
|
166
166
|
<Module test_time.py>
|
|
167
167
|
<Function test_timedistance_v0[a0-b0-expected0]>
|
|
168
168
|
<Function test_timedistance_v0[a1-b1-expected1]>
|
|
@@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
|
|
|
239
239
|
rootdir: /home/sweet/project
|
|
240
240
|
collected 4 items
|
|
241
241
|
|
|
242
|
-
<Dir parametrize.rst-
|
|
242
|
+
<Dir parametrize.rst-205>
|
|
243
243
|
<Module test_scenarios.py>
|
|
244
244
|
<Class TestSampleWithScenarios>
|
|
245
245
|
<Function test_demo1[basic]>
|
|
@@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
|
|
|
318
318
|
rootdir: /home/sweet/project
|
|
319
319
|
collected 2 items
|
|
320
320
|
|
|
321
|
-
<Dir parametrize.rst-
|
|
321
|
+
<Dir parametrize.rst-205>
|
|
322
322
|
<Module test_backends.py>
|
|
323
323
|
<Function test_db_initialized[d1]>
|
|
324
324
|
<Function test_db_initialized[d2]>
|
|
@@ -152,7 +152,7 @@ The test collection would look like this:
|
|
|
152
152
|
configfile: pytest.ini
|
|
153
153
|
collected 2 items
|
|
154
154
|
|
|
155
|
-
<Dir pythoncollection.rst-
|
|
155
|
+
<Dir pythoncollection.rst-206>
|
|
156
156
|
<Module check_myapp.py>
|
|
157
157
|
<Class CheckMyApp>
|
|
158
158
|
<Function simple_check>
|
|
@@ -215,7 +215,7 @@ You can always peek at the collection tree without running tests like this:
|
|
|
215
215
|
configfile: pytest.ini
|
|
216
216
|
collected 3 items
|
|
217
217
|
|
|
218
|
-
<Dir pythoncollection.rst-
|
|
218
|
+
<Dir pythoncollection.rst-206>
|
|
219
219
|
<Dir CWD>
|
|
220
220
|
<Module pythoncollection.py>
|
|
221
221
|
<Function test_function>
|
|
@@ -210,8 +210,8 @@ Note that this layout also works in conjunction with the ``src`` layout mentione
|
|
|
210
210
|
to avoid surprises such as a test module getting imported twice.
|
|
211
211
|
|
|
212
212
|
With ``--import-mode=importlib`` things are less convoluted because
|
|
213
|
-
pytest doesn't need to change ``sys.path
|
|
214
|
-
|
|
213
|
+
pytest doesn't need to change ``sys.path``, making things much less
|
|
214
|
+
surprising.
|
|
215
215
|
|
|
216
216
|
|
|
217
217
|
.. _which-import-mode:
|
|
@@ -106,9 +106,10 @@ of the failing function and hide the other one:
|
|
|
106
106
|
Accessing captured output from a test function
|
|
107
107
|
---------------------------------------------------
|
|
108
108
|
|
|
109
|
-
The
|
|
110
|
-
allow access to stdout
|
|
111
|
-
|
|
109
|
+
The :fixture:`capsys`, :fixture:`capsysbinary`, :fixture:`capfd`, and :fixture:`capfdbinary` fixtures
|
|
110
|
+
allow access to ``stdout``/``stderr`` output created during test execution.
|
|
111
|
+
|
|
112
|
+
Here is an example test function that performs some output related checks:
|
|
112
113
|
|
|
113
114
|
.. code-block:: python
|
|
114
115
|
|
|
@@ -125,40 +126,27 @@ an example test function that performs some output related checks:
|
|
|
125
126
|
The ``readouterr()`` call snapshots the output so far -
|
|
126
127
|
and capturing will be continued. After the test
|
|
127
128
|
function finishes the original streams will
|
|
128
|
-
be restored. Using
|
|
129
|
+
be restored. Using :fixture:`capsys` this way frees your
|
|
129
130
|
test from having to care about setting/resetting
|
|
130
131
|
output streams and also interacts well with pytest's
|
|
131
132
|
own per-test capturing.
|
|
132
133
|
|
|
133
|
-
If you want to capture on filedescriptor level you can use
|
|
134
|
-
the ``capfd`` fixture which offers the exact
|
|
135
|
-
same interface but allows to also capture output from
|
|
136
|
-
libraries or subprocesses that directly write to operating
|
|
137
|
-
system level output streams (FD1 and FD2).
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
134
|
The return value from ``readouterr`` changed to a ``namedtuple`` with two attributes, ``out`` and ``err``.
|
|
142
135
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
If the code under test writes non-textual data, you can capture this using
|
|
146
|
-
the ``capsysbinary`` fixture which instead returns ``bytes`` from
|
|
136
|
+
If the code under test writes non-textual data (``bytes``), you can capture this using
|
|
137
|
+
the :fixture:`capsysbinary` fixture which instead returns ``bytes`` from
|
|
147
138
|
the ``readouterr`` method.
|
|
148
139
|
|
|
140
|
+
If you want to capture at the file descriptor level you can use
|
|
141
|
+
the :fixture:`capfd` fixture which offers the exact
|
|
142
|
+
same interface but allows to also capture output from
|
|
143
|
+
libraries or subprocesses that directly write to operating
|
|
144
|
+
system level output streams (FD1 and FD2). Similarly to :fixture:`capsysbinary`, :fixture:`capfdbinary` can be
|
|
145
|
+
used to capture ``bytes`` at the file descriptor level.
|
|
149
146
|
|
|
150
147
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
the ``capfdbinary`` fixture which instead returns ``bytes`` from
|
|
154
|
-
the ``readouterr`` method. The ``capfdbinary`` fixture operates on the
|
|
155
|
-
filedescriptor level.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
To temporarily disable capture within a test, both ``capsys``
|
|
161
|
-
and ``capfd`` have a ``disabled()`` method that can be used
|
|
148
|
+
To temporarily disable capture within a test, the capture fixtures
|
|
149
|
+
have a ``disabled()`` method that can be used
|
|
162
150
|
as a context manager, disabling capture inside the ``with`` block:
|
|
163
151
|
|
|
164
152
|
.. code-block:: python
|
|
@@ -128,7 +128,7 @@ is performed.
|
|
|
128
128
|
|
|
129
129
|
|
|
130
130
|
|
|
131
|
-
You can use the
|
|
131
|
+
You can use the :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` mark to add warning filters to specific test items,
|
|
132
132
|
allowing you to have finer control of which warnings should be captured at test, class or
|
|
133
133
|
even module level:
|
|
134
134
|
|
|
@@ -147,10 +147,30 @@ even module level:
|
|
|
147
147
|
assert api_v1() == 1
|
|
148
148
|
|
|
149
149
|
|
|
150
|
+
You can specify multiple filters with separate decorators:
|
|
151
|
+
|
|
152
|
+
.. code-block:: python
|
|
153
|
+
|
|
154
|
+
# Ignore "api v1" warnings, but fail on all other warnings
|
|
155
|
+
@pytest.mark.filterwarnings("ignore:api v1")
|
|
156
|
+
@pytest.mark.filterwarnings("error")
|
|
157
|
+
def test_one():
|
|
158
|
+
assert api_v1() == 1
|
|
159
|
+
|
|
160
|
+
.. important::
|
|
161
|
+
|
|
162
|
+
Regarding decorator order and filter precedence:
|
|
163
|
+
it's important to remember that decorators are evaluated in reverse order,
|
|
164
|
+
so you have to list the warning filters in the reverse order
|
|
165
|
+
compared to traditional :py:func:`warnings.filterwarnings` and :option:`-W option <python:-W>` usage.
|
|
166
|
+
This means in practice that filters from earlier :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` decorators
|
|
167
|
+
take precedence over filters from later decorators, as illustrated in the example above.
|
|
168
|
+
|
|
169
|
+
|
|
150
170
|
Filters applied using a mark take precedence over filters passed on the command line or configured
|
|
151
|
-
by the
|
|
171
|
+
by the :confval:`filterwarnings` ini option.
|
|
152
172
|
|
|
153
|
-
You may apply a filter to all tests of a class by using the
|
|
173
|
+
You may apply a filter to all tests of a class by using the :ref:`filterwarnings <pytest.mark.filterwarnings ref>` mark as a class
|
|
154
174
|
decorator or to all tests in a module by setting the :globalvar:`pytestmark` variable:
|
|
155
175
|
|
|
156
176
|
.. code-block:: python
|
|
@@ -159,6 +179,13 @@ decorator or to all tests in a module by setting the :globalvar:`pytestmark` var
|
|
|
159
179
|
pytestmark = pytest.mark.filterwarnings("error")
|
|
160
180
|
|
|
161
181
|
|
|
182
|
+
.. note::
|
|
183
|
+
|
|
184
|
+
If you want to apply multiple filters
|
|
185
|
+
(by assigning a list of :ref:`filterwarnings <pytest.mark.filterwarnings ref>` mark to :globalvar:`pytestmark`),
|
|
186
|
+
you must use the traditional :py:func:`warnings.filterwarnings` ordering approach (later filters take precedence),
|
|
187
|
+
which is the reverse of the decorator approach mentioned above.
|
|
188
|
+
|
|
162
189
|
|
|
163
190
|
*Credits go to Florian Schulze for the reference implementation in the* `pytest-warnings`_
|
|
164
191
|
*plugin.*
|
|
@@ -195,7 +222,7 @@ user code and third-party libraries, as recommended by :pep:`565`.
|
|
|
195
222
|
This helps users keep their code modern and avoid breakages when deprecated warnings are effectively removed.
|
|
196
223
|
|
|
197
224
|
However, in the specific case where users capture any type of warnings in their test, either with
|
|
198
|
-
:func:`pytest.warns`, :func:`pytest.deprecated_call` or using the :
|
|
225
|
+
:func:`pytest.warns`, :func:`pytest.deprecated_call` or using the :fixture:`recwarn` fixture,
|
|
199
226
|
no warning will be displayed at all.
|
|
200
227
|
|
|
201
228
|
Sometimes it is useful to hide some specific deprecation warnings that happen in code that you have no control over
|
|
@@ -332,10 +359,10 @@ additional information:
|
|
|
332
359
|
assert record[0].message.args[0] == "another warning"
|
|
333
360
|
|
|
334
361
|
Alternatively, you can examine raised warnings in detail using the
|
|
335
|
-
:
|
|
362
|
+
:fixture:`recwarn` fixture (see :ref:`below <recwarn>`).
|
|
336
363
|
|
|
337
364
|
|
|
338
|
-
The :
|
|
365
|
+
The :fixture:`recwarn` fixture automatically ensures to reset the warnings
|
|
339
366
|
filter at the end of the test, so no global state is leaked.
|
|
340
367
|
|
|
341
368
|
.. _`recording warnings`:
|
|
@@ -345,8 +372,8 @@ filter at the end of the test, so no global state is leaked.
|
|
|
345
372
|
Recording warnings
|
|
346
373
|
------------------
|
|
347
374
|
|
|
348
|
-
You can record raised warnings either using :func:`pytest.warns` or with
|
|
349
|
-
the
|
|
375
|
+
You can record raised warnings either using the :func:`pytest.warns` context manager or with
|
|
376
|
+
the :fixture:`recwarn` fixture.
|
|
350
377
|
|
|
351
378
|
To record with :func:`pytest.warns` without asserting anything about the warnings,
|
|
352
379
|
pass no arguments as the expected warning type and it will default to a generic Warning:
|
|
@@ -361,7 +388,7 @@ pass no arguments as the expected warning type and it will default to a generic
|
|
|
361
388
|
assert str(record[0].message) == "user"
|
|
362
389
|
assert str(record[1].message) == "runtime"
|
|
363
390
|
|
|
364
|
-
The
|
|
391
|
+
The :fixture:`recwarn` fixture will record warnings for the whole function:
|
|
365
392
|
|
|
366
393
|
.. code-block:: python
|
|
367
394
|
|
|
@@ -377,12 +404,11 @@ The ``recwarn`` fixture will record warnings for the whole function:
|
|
|
377
404
|
assert w.filename
|
|
378
405
|
assert w.lineno
|
|
379
406
|
|
|
380
|
-
Both
|
|
381
|
-
warnings: a WarningsRecorder instance. To view the recorded warnings, you can
|
|
407
|
+
Both the :fixture:`recwarn` fixture and the :func:`pytest.warns` context manager return the same interface for recorded
|
|
408
|
+
warnings: a :class:`~_pytest.recwarn.WarningsRecorder` instance. To view the recorded warnings, you can
|
|
382
409
|
iterate over this instance, call ``len`` on it to get the number of recorded
|
|
383
410
|
warnings, or index into it to get a particular recorded warning.
|
|
384
411
|
|
|
385
|
-
Full API: :class:`~_pytest.recwarn.WarningsRecorder`.
|
|
386
412
|
|
|
387
413
|
.. _`warns use cases`:
|
|
388
414
|
|
|
@@ -1418,7 +1418,7 @@ Running the above tests results in the following test IDs being used:
|
|
|
1418
1418
|
rootdir: /home/sweet/project
|
|
1419
1419
|
collected 12 items
|
|
1420
1420
|
|
|
1421
|
-
<Dir fixtures.rst-
|
|
1421
|
+
<Dir fixtures.rst-225>
|
|
1422
1422
|
<Module test_anothersmtp.py>
|
|
1423
1423
|
<Function test_showhelo[smtp.gmail.com]>
|
|
1424
1424
|
<Function test_showhelo[mail.python.org]>
|
|
@@ -133,27 +133,47 @@ API for details.
|
|
|
133
133
|
Temporary directory location and retention
|
|
134
134
|
------------------------------------------
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
This behavior can be configured with :confval:`tmp_path_retention_count` and
|
|
141
|
-
:confval:`tmp_path_retention_policy`.
|
|
136
|
+
The temporary directories,
|
|
137
|
+
as returned by the :fixture:`tmp_path` and (now deprecated) :fixture:`tmpdir` fixtures,
|
|
138
|
+
are automatically created under a base temporary directory,
|
|
139
|
+
in a structure that depends on the ``--basetemp`` option:
|
|
142
140
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
of only the most recent run will be kept.
|
|
141
|
+
- By default (when the ``--basetemp`` option is not set),
|
|
142
|
+
the temporary directories will follow this template:
|
|
146
143
|
|
|
147
|
-
|
|
144
|
+
.. code-block:: text
|
|
148
145
|
|
|
149
|
-
|
|
146
|
+
{temproot}/pytest-of-{user}/pytest-{num}/{testname}/
|
|
150
147
|
|
|
151
|
-
|
|
148
|
+
where:
|
|
152
149
|
|
|
153
|
-
|
|
150
|
+
- ``{temproot}`` is the system temporary directory
|
|
151
|
+
as determined by :py:func:`tempfile.gettempdir`.
|
|
152
|
+
It can be overridden by the :envvar:`PYTEST_DEBUG_TEMPROOT` environment variable.
|
|
153
|
+
- ``{user}`` is the user name running the tests,
|
|
154
|
+
- ``{num}`` is a number that is incremented with each test suite run
|
|
155
|
+
- ``{testname}`` is a sanitized version of :py:attr:`the name of the current test <_pytest.nodes.Node.name>`.
|
|
154
156
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
+
The auto-incrementing ``{num}`` placeholder provides a basic retention feature
|
|
158
|
+
and avoids that existing results of previous test runs are blindly removed.
|
|
159
|
+
By default, the last 3 temporary directories are kept,
|
|
160
|
+
but this behavior can be configured with
|
|
161
|
+
:confval:`tmp_path_retention_count` and :confval:`tmp_path_retention_policy`.
|
|
162
|
+
|
|
163
|
+
- When the ``--basetemp`` option is used (e.g. ``pytest --basetemp=mydir``),
|
|
164
|
+
it will be used directly as base temporary directory:
|
|
165
|
+
|
|
166
|
+
.. code-block:: text
|
|
167
|
+
|
|
168
|
+
{basetemp}/{testname}/
|
|
169
|
+
|
|
170
|
+
Note that there is no retention feature in this case:
|
|
171
|
+
only the results of the most recent run will be kept.
|
|
172
|
+
|
|
173
|
+
.. warning::
|
|
174
|
+
|
|
175
|
+
The directory given to ``--basetemp`` will be cleared blindly before each test run,
|
|
176
|
+
so make sure to use a directory for that purpose only.
|
|
157
177
|
|
|
158
178
|
When distributing tests on the local machine using ``pytest-xdist``, care is taken to
|
|
159
179
|
automatically configure a `basetemp` directory for the sub processes such that all temporary
|
|
@@ -54,7 +54,7 @@ pytest.fail
|
|
|
54
54
|
|
|
55
55
|
**Tutorial**: :ref:`skipping`
|
|
56
56
|
|
|
57
|
-
.. autofunction:: pytest.fail(reason, [pytrace=True
|
|
57
|
+
.. autofunction:: pytest.fail(reason, [pytrace=True])
|
|
58
58
|
|
|
59
59
|
.. class:: pytest.fail.Exception
|
|
60
60
|
|
|
@@ -63,7 +63,7 @@ pytest.fail
|
|
|
63
63
|
pytest.skip
|
|
64
64
|
~~~~~~~~~~~
|
|
65
65
|
|
|
66
|
-
.. autofunction:: pytest.skip(reason, [allow_module_level=False
|
|
66
|
+
.. autofunction:: pytest.skip(reason, [allow_module_level=False])
|
|
67
67
|
|
|
68
68
|
.. class:: pytest.skip.Exception
|
|
69
69
|
|
|
@@ -88,7 +88,7 @@ pytest.xfail
|
|
|
88
88
|
pytest.exit
|
|
89
89
|
~~~~~~~~~~~
|
|
90
90
|
|
|
91
|
-
.. autofunction:: pytest.exit(reason, [returncode=None
|
|
91
|
+
.. autofunction:: pytest.exit(reason, [returncode=None])
|
|
92
92
|
|
|
93
93
|
.. class:: pytest.exit.Exception
|
|
94
94
|
|
|
@@ -529,13 +529,14 @@ record_testsuite_property
|
|
|
529
529
|
recwarn
|
|
530
530
|
~~~~~~~
|
|
531
531
|
|
|
532
|
-
**Tutorial**: :ref:`
|
|
532
|
+
**Tutorial**: :ref:`recwarn`
|
|
533
533
|
|
|
534
534
|
.. autofunction:: _pytest.recwarn.recwarn()
|
|
535
535
|
:no-auto-options:
|
|
536
536
|
|
|
537
537
|
.. autoclass:: pytest.WarningsRecorder()
|
|
538
538
|
:members:
|
|
539
|
+
:special-members: __getitem__, __iter__, __len__
|
|
539
540
|
|
|
540
541
|
|
|
541
542
|
.. fixture:: request
|
|
@@ -1145,6 +1146,11 @@ processes can inspect it, see :ref:`pytest current test env` for more informatio
|
|
|
1145
1146
|
|
|
1146
1147
|
When set, pytest will print tracing and debug information.
|
|
1147
1148
|
|
|
1149
|
+
.. envvar:: PYTEST_DEBUG_TEMPROOT
|
|
1150
|
+
|
|
1151
|
+
Root for temporary directories produced by fixtures like :fixture:`tmp_path`
|
|
1152
|
+
as discussed in :ref:`temporary directory location and retention`.
|
|
1153
|
+
|
|
1148
1154
|
.. envvar:: PYTEST_DISABLE_PLUGIN_AUTOLOAD
|
|
1149
1155
|
|
|
1150
1156
|
When set, disables plugin auto-loading through :std:doc:`entry point packaging
|
|
@@ -1221,6 +1221,15 @@ class ReprEntry(TerminalRepr):
|
|
|
1221
1221
|
if not self.lines:
|
|
1222
1222
|
return
|
|
1223
1223
|
|
|
1224
|
+
if self.style == "value":
|
|
1225
|
+
# Using tw.write instead of tw.line for testing purposes due to TWMock implementation;
|
|
1226
|
+
# lines written with TWMock.line and TWMock._write_source cannot be distinguished
|
|
1227
|
+
# from each other, whereas lines written with TWMock.write are marked with TWMock.WRITE
|
|
1228
|
+
for line in self.lines:
|
|
1229
|
+
tw.write(line)
|
|
1230
|
+
tw.write("\n")
|
|
1231
|
+
return
|
|
1232
|
+
|
|
1224
1233
|
# separate indents and source lines that are not failures: we want to
|
|
1225
1234
|
# highlight the code but not the indentation, which may contain markers
|
|
1226
1235
|
# such as "> assert 0"
|
|
@@ -1236,11 +1245,8 @@ class ReprEntry(TerminalRepr):
|
|
|
1236
1245
|
failure_lines.extend(self.lines[index:])
|
|
1237
1246
|
break
|
|
1238
1247
|
else:
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
else:
|
|
1242
|
-
indents.append(line[:indent_size])
|
|
1243
|
-
source_lines.append(line[indent_size:])
|
|
1248
|
+
indents.append(line[:indent_size])
|
|
1249
|
+
source_lines.append(line[indent_size:])
|
|
1244
1250
|
|
|
1245
1251
|
tw._write_source(source_lines, indents)
|
|
1246
1252
|
|