pytest 8.3.2__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.2 → pytest-8.3.4}/.github/workflows/deploy.yml +3 -1
- {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/test.yml +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/.pre-commit-config.yaml +12 -6
- {pytest-8.3.2 → pytest-8.3.4}/AUTHORS +7 -0
- {pytest-8.3.2 → pytest-8.3.4}/CONTRIBUTING.rst +55 -2
- {pytest-8.3.2/src/pytest.egg-info → pytest-8.3.4}/PKG-INFO +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/index.rst +2 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.0.rst +2 -2
- pytest-8.3.4/doc/en/announce/release-8.3.3.rst +31 -0
- pytest-8.3.4/doc/en/announce/release-8.3.4.rst +30 -0
- pytest-8.3.4/doc/en/broken-dep-constraints.txt +6 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/builtin.rst +22 -35
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/changelog.rst +91 -4
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/contact.rst +3 -2
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/deprecations.rst +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/parametrize.rst +4 -4
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/pythoncollection.rst +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/simple.rst +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/fixtures.rst +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/goodpractices.rst +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/funcarg_compare.rst +3 -3
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/getting-started.rst +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/capture-stdout-stderr.rst +15 -27
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/capture-warnings.rst +38 -12
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/fixtures.rst +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/tmp_path.rst +35 -15
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/unittest.rst +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/index.rst +0 -1
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/reference.rst +13 -7
- pytest-8.3.4/doc/en/requirements.txt +10 -0
- {pytest-8.3.2 → pytest-8.3.4}/pyproject.toml +6 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/release.py +15 -4
- {pytest-8.3.2 → pytest-8.3.4}/scripts/update-plugin-list.py +1 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/code.py +12 -6
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/pprint.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_version.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/rewrite.py +25 -8
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/cacheprovider.py +3 -5
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/capture.py +12 -11
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/__init__.py +13 -8
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/debugging.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/doctest.py +3 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/faulthandler.py +1 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/fixtures.py +16 -6
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/hookspec.py +11 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/legacypath.py +5 -10
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/logging.py +11 -13
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/main.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/monkeypatch.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/nodes.py +3 -3
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pathlib.py +100 -35
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pytester.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python.py +6 -6
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python_api.py +26 -18
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/recwarn.py +2 -3
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/runner.py +3 -3
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/skipping.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/stepwise.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/terminal.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/threadexception.py +4 -4
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/tmpdir.py +8 -16
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/unittest.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/unraisableexception.py +4 -4
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/warnings.py +4 -4
- {pytest-8.3.2 → pytest-8.3.4/src/pytest.egg-info}/PKG-INFO +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/SOURCES.txt +3 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/acceptance_test.py +7 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_excinfo.py +17 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/conftest.py +3 -3
- {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_terminalwriter.py +1 -3
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/approx.py +22 -1
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/collect.py +37 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/fixtures.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_assertion.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_assertrewrite.py +236 -5
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_cacheprovider.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_capture.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_config.py +14 -8
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_conftest.py +1 -3
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_debugging.py +12 -4
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_monkeypatch.py +2 -2
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_pathlib.py +110 -2
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_runner.py +1 -1
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_terminal.py +35 -0
- pytest-8.3.2/doc/en/requirements.txt +0 -13
- {pytest-8.3.2 → pytest-8.3.4}/.coveragerc +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.git-blame-ignore-revs +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.gitattributes +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/FUNDING.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/chronographer.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/config.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/dependabot.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/labels.toml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/patchback.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/prepare-release-pr.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/stale.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/update-plugin-list.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/.readthedocs.yaml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/CHANGELOG.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/CITATION +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/CODE_OF_CONDUCT.md +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/LICENSE +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/OPENCOLLECTIVE.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/README.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/RELEASING.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/TIDELIFT.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/bench.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/bench_argcomplete.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/empty.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/manyparam.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/skip.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/unit_test.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/bench/xunit.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/changelog/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/changelog/README.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/changelog/_template.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/codecov.yml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/Makefile +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/_static/pytest-custom.css +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/_static/pytest1.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/_templates/links.html +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/adopt.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.6.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.7.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.6.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.7.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.10.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.10.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.5.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.5.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.3.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.5.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.6.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.7.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.8.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.9.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.5.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.3.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.4.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.0.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.1.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.2.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/sprint2016.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/backwards-compatibility.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/conf.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/contents.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/contributing.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/development_guide.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/failure_demo.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/test_failures.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/attic.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/index.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/markers.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/multipython.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/pythoncollection.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/reportingdemo.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/special.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/xfail_demo.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/anatomy.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/ci.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/flaky.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/index.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/pythonpath.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/funcargs.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/historical-notes.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/history.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/assert.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/bash-completion.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/cache.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/doctest.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/existingtestsuite.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/failures.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/index.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/logging.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/mark.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/monkeypatch.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/output.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/parametrize.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/plugins.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/skipping.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/usage.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/writing_plugins.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/xunit_setup.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/cramer2.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/favicon.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/freiburg2.jpg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/gaynor3.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/keleshev.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pullrequest.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pylib.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pytest_logo_curves.svg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/theuni.png +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/license.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/naming20.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/recwarn.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/customize.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/exit-codes.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/fixtures.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/index.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/plugin_list.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/sponsor.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/talks.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/tidelift.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/doc/en/yieldfixture.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/extra/get_issues.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/generate-gh-release-notes.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/prepare-release-pr.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/release.major.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/release.minor.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/release.patch.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/scripts/release.pre.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/setup.cfg +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_argcomplete.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/source.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/saferepr.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/terminalwriter.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/wcwidth.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/error.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/path.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/truncate.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/util.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/compat.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/argparsing.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/compat.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/exceptions.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/findpaths.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/deprecated.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/freeze_support.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/helpconfig.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/junitxml.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/expression.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/structures.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/outcomes.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pastebin.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/py.typed +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pytester_assertions.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python_path.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/reports.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/scope.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/setuponly.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/setupplan.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/stash.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/timing.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/warning_types.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/py.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest/__main__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest/py.typed +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/dependency_links.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/entry_points.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/requires.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/top_level.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/_py/test_local.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_code.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_source.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/deprecated_test.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/README.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
- {pytest-8.3.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → 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.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
- {pytest-8.3.2 → 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.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue_519.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/junit-10.xsd +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/examples/test_issue519.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/create_executable.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/runtests_script.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tests/test_doctest.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tests/test_trivial.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tox_run.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_pprint.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_saferepr.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_wcwidth.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_fixture.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_formatter.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_reporting.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/.gitignore +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/README.rst +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/django_settings.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest.ini +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/requirements.txt +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/simple_integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/integration.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/metafunc.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/raises.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/python/show_fixtures_per_test.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_argcomplete.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_collection.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_compat.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_doctest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_entry_points.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_error_diffs.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_faulthandler.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_findpaths.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_helpconfig.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_junitxml.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_legacypath.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_link_resolve.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_main.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_mark.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_mark_expression.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_meta.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_nodes.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_parseopt.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_pastebin.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_pluginmanager.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_pytester.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_python_path.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_recwarn.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_reports.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_runner_xunit.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_scope.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_session.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_setuponly.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_setupplan.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_skipping.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_stash.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_stepwise.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_threadexception.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_tmpdir.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_unittest.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_unraisableexception.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_warning_types.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/test_warnings.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/testing/typing_checks.py +0 -0
- {pytest-8.3.2 → pytest-8.3.4}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
-
rev: "v0.
|
|
3
|
+
rev: "v0.6.2"
|
|
4
4
|
hooks:
|
|
5
5
|
- id: ruff
|
|
6
6
|
args: ["--fix"]
|
|
@@ -16,35 +16,41 @@ repos:
|
|
|
16
16
|
hooks:
|
|
17
17
|
- id: blacken-docs
|
|
18
18
|
additional_dependencies: [black==24.1.1]
|
|
19
|
+
- repo: https://github.com/codespell-project/codespell
|
|
20
|
+
rev: v2.3.0
|
|
21
|
+
hooks:
|
|
22
|
+
- id: codespell
|
|
23
|
+
args: ["--toml=pyproject.toml"]
|
|
24
|
+
additional_dependencies:
|
|
25
|
+
- tomli
|
|
19
26
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
20
27
|
rev: v1.10.0
|
|
21
28
|
hooks:
|
|
22
29
|
- id: python-use-type-annotations
|
|
23
30
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
24
|
-
rev: v1.
|
|
31
|
+
rev: v1.11.2
|
|
25
32
|
hooks:
|
|
26
33
|
- id: mypy
|
|
27
34
|
files: ^(src/|testing/|scripts/)
|
|
28
|
-
args: []
|
|
29
35
|
additional_dependencies:
|
|
30
36
|
- iniconfig>=1.1.0
|
|
31
37
|
- attrs>=19.2.0
|
|
32
38
|
- pluggy>=1.5.0
|
|
33
39
|
- packaging
|
|
34
40
|
- tomli
|
|
35
|
-
- types-
|
|
41
|
+
- types-setuptools
|
|
36
42
|
- types-tabulate
|
|
37
43
|
# for mypy running on python>=3.11 since exceptiongroup is only a dependency
|
|
38
44
|
# on <3.11
|
|
39
45
|
- exceptiongroup>=1.0.0rc8
|
|
40
46
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
41
|
-
rev: "2.1
|
|
47
|
+
rev: "2.2.1"
|
|
42
48
|
hooks:
|
|
43
49
|
- id: pyproject-fmt
|
|
44
50
|
# https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
|
|
45
51
|
additional_dependencies: ["tox>=4.9"]
|
|
46
52
|
- repo: https://github.com/asottile/pyupgrade
|
|
47
|
-
rev: v3.
|
|
53
|
+
rev: v3.17.0
|
|
48
54
|
hooks:
|
|
49
55
|
- id: pyupgrade
|
|
50
56
|
stages: [manual]
|
|
@@ -85,6 +85,7 @@ Chris NeJame
|
|
|
85
85
|
Chris Rose
|
|
86
86
|
Chris Wheeler
|
|
87
87
|
Christian Boelsen
|
|
88
|
+
Christian Clauss
|
|
88
89
|
Christian Fetzer
|
|
89
90
|
Christian Neumüller
|
|
90
91
|
Christian Theunert
|
|
@@ -115,6 +116,7 @@ Dave Hunt
|
|
|
115
116
|
David Díaz-Barquero
|
|
116
117
|
David Mohr
|
|
117
118
|
David Paul Röthlisberger
|
|
119
|
+
David Peled
|
|
118
120
|
David Szotten
|
|
119
121
|
David Vierra
|
|
120
122
|
Daw-Ran Liou
|
|
@@ -158,6 +160,7 @@ Feng Ma
|
|
|
158
160
|
Florian Bruhin
|
|
159
161
|
Florian Dahlitz
|
|
160
162
|
Floris Bruynooghe
|
|
163
|
+
Frank Hoffmann
|
|
161
164
|
Fraser Stark
|
|
162
165
|
Gabriel Landau
|
|
163
166
|
Gabriel Reis
|
|
@@ -242,6 +245,7 @@ Kristoffer Nordström
|
|
|
242
245
|
Kyle Altendorf
|
|
243
246
|
Lawrence Mitchell
|
|
244
247
|
Lee Kamentsky
|
|
248
|
+
Leonardus Chen
|
|
245
249
|
Lev Maximov
|
|
246
250
|
Levon Saldamli
|
|
247
251
|
Lewis Cowles
|
|
@@ -299,6 +303,7 @@ mrbean-bremen
|
|
|
299
303
|
Nathan Goldbaum
|
|
300
304
|
Nathaniel Compton
|
|
301
305
|
Nathaniel Waisbrot
|
|
306
|
+
Nauman Ahmed
|
|
302
307
|
Ned Batchelder
|
|
303
308
|
Neil Martin
|
|
304
309
|
Neven Mundar
|
|
@@ -351,6 +356,7 @@ Rafal Semik
|
|
|
351
356
|
Raquel Alegre
|
|
352
357
|
Ravi Chandra
|
|
353
358
|
Reagan Lee
|
|
359
|
+
Rob Arrow
|
|
354
360
|
Robert Holt
|
|
355
361
|
Roberto Aldera
|
|
356
362
|
Roberto Polli
|
|
@@ -411,6 +417,7 @@ Ted Xiao
|
|
|
411
417
|
Terje Runde
|
|
412
418
|
Thomas Grainger
|
|
413
419
|
Thomas Hisch
|
|
420
|
+
Tianyu Dongfang
|
|
414
421
|
Tim Hoffmann
|
|
415
422
|
Tim Strazny
|
|
416
423
|
TJ Bruno
|
|
@@ -380,6 +380,57 @@ pull requests from other contributors yourself after having reviewed
|
|
|
380
380
|
them.
|
|
381
381
|
|
|
382
382
|
|
|
383
|
+
Merge/squash guidelines
|
|
384
|
+
-----------------------
|
|
385
|
+
|
|
386
|
+
When a PR is approved and ready to be integrated to the ``main`` branch, one has the option to *merge* the commits unchanged, or *squash* all the commits into a single commit.
|
|
387
|
+
|
|
388
|
+
Here are some guidelines on how to proceed, based on examples of a single PR commit history:
|
|
389
|
+
|
|
390
|
+
1. Miscellaneous commits:
|
|
391
|
+
|
|
392
|
+
* ``Implement X``
|
|
393
|
+
* ``Fix test_a``
|
|
394
|
+
* ``Add myself to AUTHORS``
|
|
395
|
+
* ``fixup! Fix test_a``
|
|
396
|
+
* ``Update tests/test_integration.py``
|
|
397
|
+
* ``Merge origin/main into PR branch``
|
|
398
|
+
* ``Update tests/test_integration.py``
|
|
399
|
+
|
|
400
|
+
In this case, prefer to use the **Squash** merge strategy: the commit history is a bit messy (not in a derogatory way, often one just commits changes because they know the changes will eventually be squashed together), so squashing everything into a single commit is best. You must clean up the commit message, making sure it contains useful details.
|
|
401
|
+
|
|
402
|
+
2. Separate commits related to the same topic:
|
|
403
|
+
|
|
404
|
+
* ``Implement X``
|
|
405
|
+
* ``Add myself to AUTHORS``
|
|
406
|
+
* ``Update CHANGELOG for X``
|
|
407
|
+
|
|
408
|
+
In this case, prefer to use the **Squash** merge strategy: while the commit history is not "messy" as in the example above, the individual commits do not bring much value overall, specially when looking at the changes a few months/years down the line.
|
|
409
|
+
|
|
410
|
+
3. Separate commits, each with their own topic (refactorings, renames, etc), but still have a larger topic/purpose.
|
|
411
|
+
|
|
412
|
+
* ``Refactor class X in preparation for feature Y``
|
|
413
|
+
* ``Remove unused method``
|
|
414
|
+
* ``Implement feature Y``
|
|
415
|
+
|
|
416
|
+
In this case, prefer to use the **Merge** strategy: each commit is valuable on its own, even if they serve a common topic overall. Looking at the history later, it is useful to have the removal of the unused method separately on its own commit, along with more information (such as how it became unused in the first place).
|
|
417
|
+
|
|
418
|
+
4. Separate commits, each with their own topic, but without a larger topic/purpose other than improve the code base (using more modern techniques, improve typing, removing clutter, etc).
|
|
419
|
+
|
|
420
|
+
* ``Improve internal names in X``
|
|
421
|
+
* ``Add type annotations to Y``
|
|
422
|
+
* ``Remove unnecessary dict access``
|
|
423
|
+
* ``Remove unreachable code due to EOL Python``
|
|
424
|
+
|
|
425
|
+
In this case, prefer to use the **Merge** strategy: each commit is valuable on its own, and the information on each is valuable in the long term.
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
As mentioned, those are overall guidelines, not rules cast in stone. This topic was discussed in `#12633 <https://github.com/pytest-dev/pytest/discussions/12633>`_.
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
*Backport PRs* (as those created automatically from a ``backport`` label) should always be **squashed**, as they preserve the original PR author.
|
|
432
|
+
|
|
433
|
+
|
|
383
434
|
Backporting bug fixes for the next patch release
|
|
384
435
|
------------------------------------------------
|
|
385
436
|
|
|
@@ -438,6 +489,8 @@ above?
|
|
|
438
489
|
All the above are not rules, but merely some guidelines/suggestions on what we should expect
|
|
439
490
|
about backports.
|
|
440
491
|
|
|
492
|
+
Backports should be **squashed** (rather than **merged**), as doing so preserves the original PR author correctly.
|
|
493
|
+
|
|
441
494
|
Handling stale issues/PRs
|
|
442
495
|
-------------------------
|
|
443
496
|
|
|
@@ -485,9 +538,9 @@ When closing a Pull Request, it needs to be acknowledging the time, effort, and
|
|
|
485
538
|
|
|
486
539
|
<bye>
|
|
487
540
|
|
|
488
|
-
Closing
|
|
541
|
+
Closing issues
|
|
489
542
|
--------------
|
|
490
543
|
|
|
491
544
|
When a pull request is submitted to fix an issue, add text like ``closes #XYZW`` to the PR description and/or commits (where ``XYZW`` is the issue number). See the `GitHub docs <https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword>`_ for more information.
|
|
492
545
|
|
|
493
|
-
When an issue is due to user error (e.g. misunderstanding of a functionality), please politely explain to the user why the issue raised is really a non-issue and ask them to close the issue if they have no further questions. If the original
|
|
546
|
+
When an issue is due to user error (e.g. misunderstanding of a functionality), please politely explain to the user why the issue raised is really a non-issue and ask them to close the issue if they have no further questions. If the original requester is unresponsive, the issue will be handled as described in the section `Handling stale issues/PRs`_ above.
|
|
@@ -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
|
|
@@ -6,10 +6,10 @@ and parametrized testing in Python. It is now easier, more efficient and
|
|
|
6
6
|
more predictable to re-run the same tests with different fixture
|
|
7
7
|
instances. Also, you can directly declare the caching "scope" of
|
|
8
8
|
fixtures so that dependent tests throughout your whole test suite can
|
|
9
|
-
|
|
9
|
+
reuse database or other expensive fixture objects with ease. Lastly,
|
|
10
10
|
it's possible for fixture functions (formerly known as funcarg
|
|
11
11
|
factories) to use other fixtures, allowing for a completely modular and
|
|
12
|
-
|
|
12
|
+
reusable fixture design.
|
|
13
13
|
|
|
14
14
|
For detailed info and tutorial-style examples, see:
|
|
15
15
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
pytest-8.3.3
|
|
2
|
+
=======================================
|
|
3
|
+
|
|
4
|
+
pytest 8.3.3 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
|
+
* Anthony Sottile
|
|
15
|
+
* Avasam
|
|
16
|
+
* Bruno Oliveira
|
|
17
|
+
* Christian Clauss
|
|
18
|
+
* Eugene Mwangi
|
|
19
|
+
* Florian Bruhin
|
|
20
|
+
* GTowers1
|
|
21
|
+
* Nauman Ahmed
|
|
22
|
+
* Pierre Sassoulas
|
|
23
|
+
* Reagan Lee
|
|
24
|
+
* Ronny Pfannschmidt
|
|
25
|
+
* Stefaan Lippens
|
|
26
|
+
* Sviatoslav Sydorenko (Святослав Сидоренко)
|
|
27
|
+
* dongfangtianyu
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Happy testing,
|
|
31
|
+
The pytest Development Team
|
|
@@ -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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# This file contains transitive dependencies that need to be pinned for some reason.
|
|
2
|
+
# Eventually this file will be empty, but in this case keep it around for future use.
|
|
3
|
+
|
|
4
|
+
# Pin towncrier temporarily due to incompatibility with sphinxcontrib-towncrier:
|
|
5
|
+
# https://github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/92
|
|
6
|
+
towncrier<24.7
|
|
@@ -22,7 +22,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
22
22
|
cachedir: .pytest_cache
|
|
23
23
|
rootdir: /home/sweet/project
|
|
24
24
|
collected 0 items
|
|
25
|
-
cache -- .../_pytest/cacheprovider.py:
|
|
25
|
+
cache -- .../_pytest/cacheprovider.py:556
|
|
26
26
|
Return a cache object that can persist state between testing sessions.
|
|
27
27
|
|
|
28
28
|
cache.get(key, default)
|
|
@@ -33,7 +33,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
33
33
|
|
|
34
34
|
Values can be any object handled by the json stdlib module.
|
|
35
35
|
|
|
36
|
-
capsysbinary -- .../_pytest/capture.py:
|
|
36
|
+
capsysbinary -- .../_pytest/capture.py:1006
|
|
37
37
|
Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.
|
|
38
38
|
|
|
39
39
|
The captured output is made available via ``capsysbinary.readouterr()``
|
|
@@ -51,7 +51,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
51
51
|
captured = capsysbinary.readouterr()
|
|
52
52
|
assert captured.out == b"hello\n"
|
|
53
53
|
|
|
54
|
-
capfd -- .../_pytest/capture.py:
|
|
54
|
+
capfd -- .../_pytest/capture.py:1034
|
|
55
55
|
Enable text capturing of writes to file descriptors ``1`` and ``2``.
|
|
56
56
|
|
|
57
57
|
The captured output is made available via ``capfd.readouterr()`` method
|
|
@@ -69,7 +69,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
69
69
|
captured = capfd.readouterr()
|
|
70
70
|
assert captured.out == "hello\n"
|
|
71
71
|
|
|
72
|
-
capfdbinary -- .../_pytest/capture.py:
|
|
72
|
+
capfdbinary -- .../_pytest/capture.py:1062
|
|
73
73
|
Enable bytes capturing of writes to file descriptors ``1`` and ``2``.
|
|
74
74
|
|
|
75
75
|
The captured output is made available via ``capfd.readouterr()`` method
|
|
@@ -87,7 +87,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
87
87
|
captured = capfdbinary.readouterr()
|
|
88
88
|
assert captured.out == b"hello\n"
|
|
89
89
|
|
|
90
|
-
capsys -- .../_pytest/capture.py:
|
|
90
|
+
capsys -- .../_pytest/capture.py:978
|
|
91
91
|
Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.
|
|
92
92
|
|
|
93
93
|
The captured output is made available via ``capsys.readouterr()`` method
|
|
@@ -105,7 +105,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
105
105
|
captured = capsys.readouterr()
|
|
106
106
|
assert captured.out == "hello\n"
|
|
107
107
|
|
|
108
|
-
doctest_namespace [session scope] -- .../_pytest/doctest.py:
|
|
108
|
+
doctest_namespace [session scope] -- .../_pytest/doctest.py:741
|
|
109
109
|
Fixture that returns a :py:class:`dict` that will be injected into the
|
|
110
110
|
namespace of doctests.
|
|
111
111
|
|
|
@@ -119,14 +119,14 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
119
119
|
|
|
120
120
|
For more details: :ref:`doctest_namespace`.
|
|
121
121
|
|
|
122
|
-
pytestconfig [session scope] -- .../_pytest/fixtures.py:
|
|
122
|
+
pytestconfig [session scope] -- .../_pytest/fixtures.py:1345
|
|
123
123
|
Session-scoped fixture that returns the session's :class:`pytest.Config`
|
|
124
124
|
object.
|
|
125
125
|
|
|
126
126
|
Example::
|
|
127
127
|
|
|
128
128
|
def test_foo(pytestconfig):
|
|
129
|
-
if pytestconfig.
|
|
129
|
+
if pytestconfig.get_verbosity() > 0:
|
|
130
130
|
...
|
|
131
131
|
|
|
132
132
|
record_property -- .../_pytest/junitxml.py:280
|
|
@@ -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``.
|
|
@@ -196,7 +191,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
|
|
|
196
191
|
|
|
197
192
|
.. _legacy_path: https://py.readthedocs.io/en/latest/path.html
|
|
198
193
|
|
|
199
|
-
caplog -- .../_pytest/logging.py:
|
|
194
|
+
caplog -- .../_pytest/logging.py:598
|
|
200
195
|
Access and control log capturing.
|
|
201
196
|
|
|
202
197
|
Captured logs are available through the following properties/methods::
|
|
@@ -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,93 @@ 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
|
+
|
|
75
|
+
pytest 8.3.3 (2024-09-09)
|
|
76
|
+
=========================
|
|
77
|
+
|
|
78
|
+
Bug fixes
|
|
79
|
+
---------
|
|
80
|
+
|
|
81
|
+
- `#12446 <https://github.com/pytest-dev/pytest/issues/12446>`_: Avoid calling ``@property`` (and other instance descriptors) during fixture discovery -- by :user:`asottile`
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
- `#12659 <https://github.com/pytest-dev/pytest/issues/12659>`_: Fixed the issue of not displaying assertion failure differences when using the parameter ``--import-mode=importlib`` in pytest>=8.1.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
- `#12667 <https://github.com/pytest-dev/pytest/issues/12667>`_: Fixed a regression where type change in `ExceptionInfo.errisinstance` caused `mypy` to fail.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
- `#12744 <https://github.com/pytest-dev/pytest/issues/12744>`_: Fixed typing compatibility with Python 3.9 or less -- replaced `typing.Self` with `typing_extensions.Self` -- by :user:`Avasam`
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
- `#12745 <https://github.com/pytest-dev/pytest/issues/12745>`_: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
- `#6682 <https://github.com/pytest-dev/pytest/issues/6682>`_: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in ``assert condition, msg``).
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
- `#9422 <https://github.com/pytest-dev/pytest/issues/9422>`_: Fix bug where disabling the terminal plugin via ``-p no:terminal`` would cause crashes related to missing the ``verbose`` option.
|
|
100
|
+
|
|
101
|
+
-- by :user:`GTowers1`
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
Improved documentation
|
|
106
|
+
----------------------
|
|
107
|
+
|
|
108
|
+
- `#12663 <https://github.com/pytest-dev/pytest/issues/12663>`_: Clarify that the `pytest_deselected` hook should be called from `pytest_collection_modifyitems` hook implementations when items are deselected.
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
- `#12678 <https://github.com/pytest-dev/pytest/issues/12678>`_: Remove erroneous quotes from `tmp_path_retention_policy` example in docs.
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
Miscellaneous internal changes
|
|
116
|
+
------------------------------
|
|
117
|
+
|
|
118
|
+
- `#12769 <https://github.com/pytest-dev/pytest/issues/12769>`_: Fix typos discovered by codespell and add codespell to pre-commit hooks.
|
|
119
|
+
|
|
120
|
+
|
|
34
121
|
pytest 8.3.2 (2024-07-24)
|
|
35
122
|
=========================
|
|
36
123
|
|
|
@@ -215,7 +302,7 @@ Improved documentation
|
|
|
215
302
|
-- by :user:`webknjaz`
|
|
216
303
|
|
|
217
304
|
|
|
218
|
-
- `#12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is
|
|
305
|
+
- `#12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is described in
|
|
219
306
|
the reference doc. They now also appear when doing `pytest -h`
|
|
220
307
|
-- by :user:`MarcBresson`.
|
|
221
308
|
|
|
@@ -319,7 +406,7 @@ Bug Fixes
|
|
|
319
406
|
- `#12367 <https://github.com/pytest-dev/pytest/issues/12367>`_: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
|
|
320
407
|
|
|
321
408
|
|
|
322
|
-
- `#12381 <https://github.com/pytest-dev/pytest/issues/12381>`_: Fix possible "Directory not empty" crashes arising from
|
|
409
|
+
- `#12381 <https://github.com/pytest-dev/pytest/issues/12381>`_: Fix possible "Directory not empty" crashes arising from concurrent cache dir (``.pytest_cache``) creation. Regressed in pytest 8.2.0.
|
|
323
410
|
|
|
324
411
|
|
|
325
412
|
|
|
@@ -330,7 +417,7 @@ Improved Documentation
|
|
|
330
417
|
|
|
331
418
|
|
|
332
419
|
- `#12356 <https://github.com/pytest-dev/pytest/issues/12356>`_: Added a subsection to the documentation for debugging flaky tests to mention
|
|
333
|
-
lack of thread safety in pytest as a possible source of
|
|
420
|
+
lack of thread safety in pytest as a possible source of flakiness.
|
|
334
421
|
|
|
335
422
|
|
|
336
423
|
- `#12363 <https://github.com/pytest-dev/pytest/issues/12363>`_: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
|
|
@@ -676,7 +763,7 @@ Bug Fixes
|
|
|
676
763
|
This bug was introduced in pytest 8.0.0rc1.
|
|
677
764
|
|
|
678
765
|
|
|
679
|
-
- `#9765 <https://github.com/pytest-dev/pytest/issues/9765>`_, `#11816 <https://github.com/pytest-dev/pytest/issues/11816>`_: Fixed a frustrating bug that afflicted some users with the only error being ``assert mod not in mods``. The issue was caused by the fact that ``str(Path(mod))`` and ``mod.__file__`` don't necessarily produce the same string, and was being erroneously used
|
|
766
|
+
- `#9765 <https://github.com/pytest-dev/pytest/issues/9765>`_, `#11816 <https://github.com/pytest-dev/pytest/issues/11816>`_: Fixed a frustrating bug that afflicted some users with the only error being ``assert mod not in mods``. The issue was caused by the fact that ``str(Path(mod))`` and ``mod.__file__`` don't necessarily produce the same string, and was being erroneously used interchangeably in some places in the code.
|
|
680
767
|
|
|
681
768
|
This fix also broke the internal API of ``PytestPluginManager.consider_conftest`` by introducing a new parameter -- we mention this in case it is being used by external code, even if marked as *private*.
|
|
682
769
|
|
|
@@ -33,10 +33,11 @@ Mail
|
|
|
33
33
|
discussed in public. Mails sent there will be distributed among the members
|
|
34
34
|
in the pytest core team, who can also be contacted individually:
|
|
35
35
|
|
|
36
|
-
* Ronny Pfannschmidt (:user:`RonnyPfannschmidt`, `ronny@pytest.org <mailto:ronny@pytest.org>`_)
|
|
37
|
-
* Florian Bruhin (:user:`The-Compiler`, `florian@pytest.org <mailto:florian@pytest.org>`_)
|
|
38
36
|
* Bruno Oliveira (:user:`nicoddemus`, `bruno@pytest.org <mailto:bruno@pytest.org>`_)
|
|
37
|
+
* Florian Bruhin (:user:`The-Compiler`, `florian@pytest.org <mailto:florian@pytest.org>`_)
|
|
38
|
+
* Pierre Sassoulas (:user:`Pierre-Sassoulas`, `pierre@pytest.org <mailto:pierre@pytest.org>`_)
|
|
39
39
|
* Ran Benita (:user:`bluetech`, `ran@pytest.org <mailto:ran@pytest.org>`_)
|
|
40
|
+
* Ronny Pfannschmidt (:user:`RonnyPfannschmidt`, `ronny@pytest.org <mailto:ronny@pytest.org>`_)
|
|
40
41
|
* Zac Hatfield-Dodds (:user:`Zac-HD`, `zac@pytest.org <mailto:zac@pytest.org>`_)
|
|
41
42
|
|
|
42
43
|
Other
|
|
@@ -43,7 +43,7 @@ If the import attempt raises :class:`ModuleNotFoundError` (the usual case), then
|
|
|
43
43
|
warning is emitted.
|
|
44
44
|
|
|
45
45
|
This way, the usual cases will keep working the same way, while unexpected errors will now issue a warning, with
|
|
46
|
-
users being able to
|
|
46
|
+
users being able to suppress the warning by passing ``exc_type=ImportError`` explicitly.
|
|
47
47
|
|
|
48
48
|
In ``9.0``, the warning will turn into an error, and in ``9.1`` :func:`pytest.importorskip` will only capture
|
|
49
49
|
:class:`ModuleNotFoundError` by default and no warnings will be issued anymore -- but users can still capture
|
|
@@ -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]>
|
|
@@ -686,5 +686,5 @@ For example:
|
|
|
686
686
|
assert (6 / example_input) == e
|
|
687
687
|
|
|
688
688
|
In the example above, the first three test cases should run without any
|
|
689
|
-
exceptions, while the fourth should raise a``ZeroDivisionError`` exception,
|
|
689
|
+
exceptions, while the fourth should raise a ``ZeroDivisionError`` exception,
|
|
690
690
|
which is expected by pytest.
|
|
@@ -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>
|