pytest 8.3.3__tar.gz → 8.3.5__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.5}/.github/workflows/deploy.yml +11 -5
- {pytest-8.3.3 → pytest-8.3.5}/.github/workflows/prepare-release-pr.yml +9 -2
- {pytest-8.3.3 → pytest-8.3.5}/.github/workflows/test.yml +12 -12
- {pytest-8.3.3 → pytest-8.3.5}/.github/workflows/update-plugin-list.yml +4 -2
- {pytest-8.3.3 → pytest-8.3.5}/.pre-commit-config.yaml +4 -2
- {pytest-8.3.3 → pytest-8.3.5}/AUTHORS +5 -0
- {pytest-8.3.3/src/pytest.egg-info → pytest-8.3.5}/PKG-INFO +4 -3
- {pytest-8.3.3 → pytest-8.3.5}/RELEASING.rst +5 -1
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/index.rst +2 -0
- pytest-8.3.5/doc/en/announce/release-8.3.4.rst +30 -0
- pytest-8.3.5/doc/en/announce/release-8.3.5.rst +26 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/broken-dep-constraints.txt +0 -4
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/builtin.rst +17 -30
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/changelog.rst +82 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/contact.rst +7 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/parametrize.rst +8 -7
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/pythoncollection.rst +2 -2
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/reportingdemo.rst +9 -9
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/simple.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/flaky.rst +12 -2
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/goodpractices.rst +2 -2
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/index.rst +1 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/pythonpath.rst +2 -2
- pytest-8.3.5/doc/en/explanation/types.rst +89 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/getting-started.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/capture-stdout-stderr.rst +16 -28
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/capture-warnings.rst +38 -12
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/fixtures.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/parametrize.rst +0 -4
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/tmp_path.rst +35 -15
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/index.rst +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/reference.rst +18 -10
- {pytest-8.3.3 → pytest-8.3.5}/pyproject.toml +3 -1
- {pytest-8.3.3 → pytest-8.3.5}/scripts/release.patch.rst +1 -3
- {pytest-8.3.3 → pytest-8.3.5}/scripts/update-plugin-list.py +1 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_code/code.py +11 -5
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_version.py +9 -4
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/assertion/rewrite.py +17 -7
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/capture.py +18 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/config/__init__.py +5 -4
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/hookspec.py +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/legacypath.py +5 -10
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/pathlib.py +120 -40
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/python_api.py +26 -18
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/recwarn.py +1 -2
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/tmpdir.py +7 -15
- {pytest-8.3.3 → pytest-8.3.5/src/pytest.egg-info}/PKG-INFO +4 -3
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest.egg-info/SOURCES.txt +3 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/code/test_excinfo.py +17 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/conftest.py +9 -2
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/approx.py +22 -1
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/fixtures.py +1 -1
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_assertrewrite.py +207 -4
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_capture.py +30 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_config.py +13 -7
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_debugging.py +12 -4
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_pathlib.py +156 -1
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_terminal.py +34 -5
- {pytest-8.3.3 → pytest-8.3.5}/tox.ini +0 -6
- {pytest-8.3.3 → pytest-8.3.5}/.coveragerc +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.git-blame-ignore-revs +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.gitattributes +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/FUNDING.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/chronographer.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/config.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/dependabot.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/labels.toml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/patchback.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.github/workflows/stale.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/.readthedocs.yaml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/CHANGELOG.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/CITATION +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/CODE_OF_CONDUCT.md +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/CONTRIBUTING.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/LICENSE +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/OPENCOLLECTIVE.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/TIDELIFT.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/bench.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/bench_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/empty.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/manyparam.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/skip.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/unit_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/bench/xunit.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/changelog/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/changelog/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/changelog/_template.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/codecov.yml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/Makefile +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/_static/pytest-custom.css +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/_static/pytest1.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/_templates/links.html +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/adopt.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.0.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.3.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.5.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.5.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.7.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.7.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.7.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.8.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.9.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.9.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-2.9.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.0.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.10.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.10.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.2.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.5.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.6.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.7.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.7.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.7.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.7.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.7.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.8.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.8.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.8.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.9.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.9.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.9.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-3.9.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.5.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.6.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.7.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.8.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-4.6.9.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.3.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-5.4.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-6.2.5.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.1.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.4.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.4.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.4.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.4.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-7.4.4.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.0.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.0.0rc1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.0.0rc2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.0.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.0.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.1.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.1.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.1.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.2.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.2.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.2.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.3.0.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.3.1.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.3.2.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/release-8.3.3.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/announce/sprint2016.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/backwards-compatibility.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/conf.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/contents.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/contributing.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/deprecations.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/development_guide.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/assertion/failure_demo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/assertion/test_failures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/attic.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/customdirectory.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/fixture_availability.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/markers.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/multipython.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/nonpython/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/nonpython/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/nonpython/test_simple.yaml +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/nonpython.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/pythoncollection.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/special.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/example/xfail_demo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/anatomy.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/ci.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/explanation/fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/funcarg_compare.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/funcargs.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/historical-notes.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/history.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/assert.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/bash-completion.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/cache.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/doctest.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/existingtestsuite.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/failures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/logging.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/mark.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/monkeypatch.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/output.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/plugins.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/skipping.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/unittest.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/usage.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/writing_hook_functions.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/writing_plugins.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/how-to/xunit_setup.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/cramer2.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/favicon.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/freiburg2.jpg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/gaynor3.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/keleshev.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/pullrequest.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/pylib.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/pytest_logo_curves.svg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/img/theuni.png +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/license.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/naming20.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/recwarn.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/customize.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/exit-codes.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/fixtures.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/index.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/reference/plugin_list.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/requirements.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/sponsor.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/talks.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/tidelift.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/doc/en/yieldfixture.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/extra/get_issues.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/generate-gh-release-notes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/prepare-release-pr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/release.major.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/release.minor.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/release.pre.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/scripts/release.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/setup.cfg +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_code/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_code/source.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_io/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_io/pprint.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_io/saferepr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_io/terminalwriter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_io/wcwidth.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_py/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_py/error.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/_py/path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/assertion/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/assertion/truncate.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/assertion/util.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/cacheprovider.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/config/argparsing.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/config/compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/config/exceptions.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/config/findpaths.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/debugging.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/deprecated.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/doctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/faulthandler.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/fixtures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/freeze_support.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/helpconfig.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/junitxml.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/logging.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/main.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/mark/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/mark/expression.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/mark/structures.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/monkeypatch.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/nodes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/outcomes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/pastebin.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/py.typed +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/pytester.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/pytester_assertions.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/python.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/python_path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/reports.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/runner.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/setuponly.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/setupplan.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/skipping.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/stash.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/stepwise.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/terminal.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/threadexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/timing.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/unittest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/unraisableexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/warning_types.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/_pytest/warnings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/py.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest/__main__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest/py.typed +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest.egg-info/dependency_links.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest.egg-info/entry_points.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest.egg-info/requires.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/src/pytest.egg-info/top_level.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/_py/test_local.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/acceptance_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/code/test_code.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/code/test_source.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/deprecated_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/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.5}/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.5}/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.5}/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.5}/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.5}/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.5}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/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.5}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/issue_519.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/junit-10.xsd +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/examples/test_issue519.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/create_executable.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/runtests_script.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/tests/test_doctest.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/tests/test_trivial.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/freeze/tox_run.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/io/test_pprint.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/io/test_saferepr.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/io/test_terminalwriter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/io/test_wcwidth.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/logging/test_fixture.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/logging/test_formatter.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/logging/test_reporting.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/.gitignore +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/README.rst +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/bdd_wallet.feature +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/bdd_wallet.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/django_settings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest.ini +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_mock_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_trio_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/requirements.txt +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/plugins_integration/simple_integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/collect.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/integration.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/metafunc.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/raises.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/python/show_fixtures_per_test.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_argcomplete.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_assertion.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_cacheprovider.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_collection.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_compat.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_conftest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_doctest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_entry_points.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_error_diffs.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_faulthandler.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_findpaths.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_helpconfig.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_junitxml.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_legacypath.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_link_resolve.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_main.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_mark.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_mark_expression.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_meta.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_monkeypatch.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_nodes.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_parseopt.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_pastebin.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_pluginmanager.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_pytester.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_python_path.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_recwarn.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_reports.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_runner.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_runner_xunit.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_scope.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_session.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_setuponly.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_setupplan.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_skipping.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_stash.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_stepwise.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_threadexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_tmpdir.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_unittest.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_unraisableexception.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_warning_types.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/test_warnings.py +0 -0
- {pytest-8.3.3 → pytest-8.3.5}/testing/typing_checks.py +0 -0
|
@@ -31,7 +31,7 @@ jobs:
|
|
|
31
31
|
persist-credentials: false
|
|
32
32
|
|
|
33
33
|
- name: Build and Check Package
|
|
34
|
-
uses: hynek/build-and-inspect-python-package@v2.
|
|
34
|
+
uses: hynek/build-and-inspect-python-package@v2.12.0
|
|
35
35
|
with:
|
|
36
36
|
attest-build-provenance-github: 'true'
|
|
37
37
|
|
|
@@ -46,6 +46,8 @@ jobs:
|
|
|
46
46
|
contents: write
|
|
47
47
|
steps:
|
|
48
48
|
- uses: actions/checkout@v4
|
|
49
|
+
with:
|
|
50
|
+
persist-credentials: true
|
|
49
51
|
|
|
50
52
|
- name: Download Package
|
|
51
53
|
uses: actions/download-artifact@v4
|
|
@@ -54,16 +56,18 @@ jobs:
|
|
|
54
56
|
path: dist
|
|
55
57
|
|
|
56
58
|
- name: Publish package to PyPI
|
|
57
|
-
uses: pypa/gh-action-pypi-publish@v1.
|
|
59
|
+
uses: pypa/gh-action-pypi-publish@v1.12.3
|
|
58
60
|
with:
|
|
59
61
|
attestations: true
|
|
60
62
|
|
|
61
63
|
- name: Push tag
|
|
64
|
+
env:
|
|
65
|
+
VERSION: ${{ github.event.inputs.version }}
|
|
62
66
|
run: |
|
|
63
67
|
git config user.name "pytest bot"
|
|
64
68
|
git config user.email "pytestbot@gmail.com"
|
|
65
|
-
git tag --annotate --message=v$
|
|
66
|
-
git push origin $
|
|
69
|
+
git tag --annotate --message=v"$VERSION" "$VERSION" ${{ github.sha }}
|
|
70
|
+
git push origin "$VERSION"
|
|
67
71
|
|
|
68
72
|
release-notes:
|
|
69
73
|
|
|
@@ -98,9 +102,11 @@ jobs:
|
|
|
98
102
|
pip install --upgrade tox
|
|
99
103
|
|
|
100
104
|
- name: Generate release notes
|
|
105
|
+
env:
|
|
106
|
+
VERSION: ${{ github.event.inputs.version }}
|
|
101
107
|
run: |
|
|
102
108
|
sudo apt-get install pandoc
|
|
103
|
-
tox -e generate-gh-release-notes -- $
|
|
109
|
+
tox -e generate-gh-release-notes -- "$VERSION" scripts/latest-release-notes.md
|
|
104
110
|
|
|
105
111
|
- name: Publish GitHub Release
|
|
106
112
|
uses: softprops/action-gh-release@v2
|
|
@@ -30,6 +30,7 @@ jobs:
|
|
|
30
30
|
- uses: actions/checkout@v4
|
|
31
31
|
with:
|
|
32
32
|
fetch-depth: 0
|
|
33
|
+
persist-credentials: false
|
|
33
34
|
|
|
34
35
|
- name: Set up Python
|
|
35
36
|
uses: actions/setup-python@v5
|
|
@@ -43,10 +44,16 @@ jobs:
|
|
|
43
44
|
|
|
44
45
|
- name: Prepare release PR (minor/patch release)
|
|
45
46
|
if: github.event.inputs.major == 'no'
|
|
47
|
+
env:
|
|
48
|
+
BRANCH: ${{ github.event.inputs.branch }}
|
|
49
|
+
PRERELEASE: ${{ github.event.inputs.prerelease }}
|
|
46
50
|
run: |
|
|
47
|
-
tox -e prepare-release-pr -- $
|
|
51
|
+
tox -e prepare-release-pr -- "$BRANCH" ${{ github.token }} --prerelease="$PRERELEASE"
|
|
48
52
|
|
|
49
53
|
- name: Prepare release PR (major release)
|
|
50
54
|
if: github.event.inputs.major == 'yes'
|
|
55
|
+
env:
|
|
56
|
+
BRANCH: ${{ github.event.inputs.branch }}
|
|
57
|
+
PRERELEASE: ${{ github.event.inputs.prerelease }}
|
|
51
58
|
run: |
|
|
52
|
-
tox -e prepare-release-pr -- $
|
|
59
|
+
tox -e prepare-release-pr -- "$BRANCH" ${{ github.token }} --major --prerelease="$PRERELEASE"
|
|
@@ -40,7 +40,7 @@ jobs:
|
|
|
40
40
|
fetch-depth: 0
|
|
41
41
|
persist-credentials: false
|
|
42
42
|
- name: Build and Check Package
|
|
43
|
-
uses: hynek/build-and-inspect-python-package@v2.
|
|
43
|
+
uses: hynek/build-and-inspect-python-package@v2.12.0
|
|
44
44
|
|
|
45
45
|
build:
|
|
46
46
|
needs: [package]
|
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
matrix:
|
|
56
56
|
name: [
|
|
57
57
|
"windows-py38",
|
|
58
|
-
"windows-
|
|
58
|
+
"windows-py39-pluggy",
|
|
59
59
|
"windows-py39",
|
|
60
60
|
"windows-py310",
|
|
61
61
|
"windows-py311",
|
|
@@ -63,7 +63,7 @@ jobs:
|
|
|
63
63
|
"windows-py313",
|
|
64
64
|
|
|
65
65
|
"ubuntu-py38",
|
|
66
|
-
"ubuntu-
|
|
66
|
+
"ubuntu-py39-pluggy",
|
|
67
67
|
"ubuntu-py38-freeze",
|
|
68
68
|
"ubuntu-py39",
|
|
69
69
|
"ubuntu-py310",
|
|
@@ -88,10 +88,10 @@ jobs:
|
|
|
88
88
|
os: windows-latest
|
|
89
89
|
tox_env: "py38-unittestextras"
|
|
90
90
|
use_coverage: true
|
|
91
|
-
- name: "windows-
|
|
92
|
-
python: "3.
|
|
91
|
+
- name: "windows-py39-pluggy"
|
|
92
|
+
python: "3.9"
|
|
93
93
|
os: windows-latest
|
|
94
|
-
tox_env: "
|
|
94
|
+
tox_env: "py39-pluggymain-pylib-xdist"
|
|
95
95
|
- name: "windows-py39"
|
|
96
96
|
python: "3.9"
|
|
97
97
|
os: windows-latest
|
|
@@ -118,10 +118,10 @@ jobs:
|
|
|
118
118
|
os: ubuntu-latest
|
|
119
119
|
tox_env: "py38-lsof-numpy-pexpect"
|
|
120
120
|
use_coverage: true
|
|
121
|
-
- name: "ubuntu-
|
|
122
|
-
python: "3.
|
|
121
|
+
- name: "ubuntu-py39-pluggy"
|
|
122
|
+
python: "3.9"
|
|
123
123
|
os: ubuntu-latest
|
|
124
|
-
tox_env: "
|
|
124
|
+
tox_env: "py39-pluggymain-pylib-xdist"
|
|
125
125
|
- name: "ubuntu-py38-freeze"
|
|
126
126
|
python: "3.8"
|
|
127
127
|
os: ubuntu-latest
|
|
@@ -147,7 +147,7 @@ jobs:
|
|
|
147
147
|
- name: "ubuntu-py313"
|
|
148
148
|
python: "3.13-dev"
|
|
149
149
|
os: ubuntu-latest
|
|
150
|
-
tox_env: "py313"
|
|
150
|
+
tox_env: "py313-pexpect"
|
|
151
151
|
use_coverage: true
|
|
152
152
|
- name: "ubuntu-pypy3"
|
|
153
153
|
python: "pypy-3.9"
|
|
@@ -192,9 +192,9 @@ jobs:
|
|
|
192
192
|
contains(
|
|
193
193
|
fromJSON(
|
|
194
194
|
'[
|
|
195
|
-
"windows-
|
|
195
|
+
"windows-py39-pluggy",
|
|
196
196
|
"windows-py313",
|
|
197
|
-
"ubuntu-
|
|
197
|
+
"ubuntu-py39-pluggy",
|
|
198
198
|
"ubuntu-py38-freeze",
|
|
199
199
|
"ubuntu-py313",
|
|
200
200
|
"macos-py38",
|
|
@@ -23,12 +23,14 @@ jobs:
|
|
|
23
23
|
uses: actions/checkout@v4
|
|
24
24
|
with:
|
|
25
25
|
fetch-depth: 0
|
|
26
|
+
persist-credentials: false
|
|
26
27
|
|
|
27
28
|
- name: Setup Python
|
|
28
29
|
uses: actions/setup-python@v5
|
|
29
30
|
with:
|
|
30
31
|
python-version: "3.11"
|
|
31
32
|
cache: pip
|
|
33
|
+
|
|
32
34
|
- name: requests-cache
|
|
33
35
|
uses: actions/cache@v4
|
|
34
36
|
with:
|
|
@@ -41,7 +43,6 @@ jobs:
|
|
|
41
43
|
python -m pip install --upgrade pip
|
|
42
44
|
pip install packaging requests tabulate[widechars] tqdm requests-cache platformdirs
|
|
43
45
|
|
|
44
|
-
|
|
45
46
|
- name: Update Plugin List
|
|
46
47
|
run: python scripts/update-plugin-list.py
|
|
47
48
|
|
|
@@ -61,8 +62,9 @@ jobs:
|
|
|
61
62
|
- name: Instruct the maintainers to trigger CI by undrafting the PR
|
|
62
63
|
env:
|
|
63
64
|
GITHUB_TOKEN: ${{ github.token }}
|
|
65
|
+
PULL_REQUEST_NUMBER: ${{ steps.pr.outputs.pull-request-number }}
|
|
64
66
|
run: >-
|
|
65
67
|
gh pr comment
|
|
66
68
|
--body 'Please mark the PR as ready for review to trigger PR checks.'
|
|
67
69
|
--repo '${{ github.repository }}'
|
|
68
|
-
|
|
70
|
+
"$PULL_REQUEST_NUMBER"
|
|
@@ -11,6 +11,10 @@ repos:
|
|
|
11
11
|
- id: trailing-whitespace
|
|
12
12
|
- id: end-of-file-fixer
|
|
13
13
|
- id: check-yaml
|
|
14
|
+
- repo: https://github.com/woodruffw/zizmor-pre-commit
|
|
15
|
+
rev: v0.9.2
|
|
16
|
+
hooks:
|
|
17
|
+
- id: zizmor
|
|
14
18
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
15
19
|
rev: 1.18.0
|
|
16
20
|
hooks:
|
|
@@ -32,8 +36,6 @@ repos:
|
|
|
32
36
|
hooks:
|
|
33
37
|
- id: mypy
|
|
34
38
|
files: ^(src/|testing/|scripts/)
|
|
35
|
-
args: []
|
|
36
|
-
language_version: "3.8"
|
|
37
39
|
additional_dependencies:
|
|
38
40
|
- iniconfig>=1.1.0
|
|
39
41
|
- attrs>=19.2.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
|
|
@@ -252,6 +255,7 @@ lovetheguitar
|
|
|
252
255
|
Lukas Bednar
|
|
253
256
|
Luke Murphy
|
|
254
257
|
Maciek Fijalkowski
|
|
258
|
+
Maggie Chung
|
|
255
259
|
Maho
|
|
256
260
|
Maik Figura
|
|
257
261
|
Mandeep Bhutani
|
|
@@ -350,6 +354,7 @@ Ran Benita
|
|
|
350
354
|
Raphael Castaneda
|
|
351
355
|
Raphael Pierzina
|
|
352
356
|
Rafal Semik
|
|
357
|
+
Reza Mousavi
|
|
353
358
|
Raquel Alegre
|
|
354
359
|
Ravi Chandra
|
|
355
360
|
Reagan Lee
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: pytest
|
|
3
|
-
Version: 8.3.
|
|
3
|
+
Version: 8.3.5
|
|
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
|
|
7
7
|
Project-URL: Changelog, https://docs.pytest.org/en/stable/changelog.html
|
|
8
|
+
Project-URL: Contact, https://docs.pytest.org/en/stable/contact.html
|
|
9
|
+
Project-URL: Funding, https://docs.pytest.org/en/stable/sponsor.html
|
|
8
10
|
Project-URL: Homepage, https://docs.pytest.org/en/latest/
|
|
9
11
|
Project-URL: Source, https://github.com/pytest-dev/pytest
|
|
10
12
|
Project-URL: Tracker, https://github.com/pytest-dev/pytest/issues
|
|
11
|
-
Project-URL: Twitter, https://twitter.com/pytestdotorg
|
|
12
13
|
Keywords: test,unittest
|
|
13
14
|
Classifier: Development Status :: 6 - Mature
|
|
14
15
|
Classifier: Intended Audience :: Developers
|
|
@@ -170,4 +170,8 @@ Both automatic and manual processes described above follow the same steps from t
|
|
|
170
170
|
* python-announce-list@python.org (all releases)
|
|
171
171
|
* testing-in-python@lists.idyll.org (only major/minor releases)
|
|
172
172
|
|
|
173
|
-
And announce it
|
|
173
|
+
And announce it with the ``#pytest`` hashtag on:
|
|
174
|
+
|
|
175
|
+
* `Bluesky <https://bsky.app>`_
|
|
176
|
+
* `Fosstodon <https://fosstodon.org>`_
|
|
177
|
+
* `Twitter/X <https://x.com>`_
|
|
@@ -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,26 @@
|
|
|
1
|
+
pytest-8.3.5
|
|
2
|
+
=======================================
|
|
3
|
+
|
|
4
|
+
pytest 8.3.5 has just been released to PyPI.
|
|
5
|
+
|
|
6
|
+
This is a bug-fix release, being a drop-in replacement.
|
|
7
|
+
|
|
8
|
+
The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
|
|
9
|
+
|
|
10
|
+
Thanks to all of the contributors to this release:
|
|
11
|
+
|
|
12
|
+
* Bruno Oliveira
|
|
13
|
+
* Florian Bruhin
|
|
14
|
+
* John Litborn
|
|
15
|
+
* Kenny Y
|
|
16
|
+
* Ran Benita
|
|
17
|
+
* Sadra Barikbin
|
|
18
|
+
* Vincent (Wen Yu) Ge
|
|
19
|
+
* delta87
|
|
20
|
+
* dongfangtianyu
|
|
21
|
+
* mwychung
|
|
22
|
+
* 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
Happy testing,
|
|
26
|
+
The pytest Development Team
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
# This file contains transitive dependencies that need to be pinned for some reason.
|
|
2
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
|
|
@@ -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:1024
|
|
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:1052
|
|
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:1080
|
|
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:996
|
|
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
|
|
@@ -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,88 @@ with advance notice in the **Deprecations** section of releases.
|
|
|
31
31
|
|
|
32
32
|
.. towncrier release notes start
|
|
33
33
|
|
|
34
|
+
pytest 8.3.5 (2025-03-02)
|
|
35
|
+
=========================
|
|
36
|
+
|
|
37
|
+
Bug fixes
|
|
38
|
+
---------
|
|
39
|
+
|
|
40
|
+
- `#11777 <https://github.com/pytest-dev/pytest/issues/11777>`_: Fixed issue where sequences were still being shortened even with ``-vv`` verbosity.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
- `#12888 <https://github.com/pytest-dev/pytest/issues/12888>`_: Fixed broken input when using Python 3.13+ and a ``libedit`` build of Python, such as on macOS or with uv-managed Python binaries from the ``python-build-standalone`` project. This could manifest e.g. by a broken prompt when using ``Pdb``, or seeing empty inputs with manual usage of ``input()`` and suspended capturing.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
- `#13026 <https://github.com/pytest-dev/pytest/issues/13026>`_: Fixed :class:`AttributeError` crash when using ``--import-mode=importlib`` when top-level directory same name as another module of the standard library.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
- `#13053 <https://github.com/pytest-dev/pytest/issues/13053>`_: Fixed a regression in pytest 8.3.4 where, when using ``--import-mode=importlib``, a directory containing py file with the same name would cause an ``ImportError``
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
- `#13083 <https://github.com/pytest-dev/pytest/issues/13083>`_: Fixed issue where pytest could crash if one of the collected directories got removed during collection.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Improved documentation
|
|
57
|
+
----------------------
|
|
58
|
+
|
|
59
|
+
- `#12842 <https://github.com/pytest-dev/pytest/issues/12842>`_: Added dedicated page about using types with pytest.
|
|
60
|
+
|
|
61
|
+
See :ref:`types` for detailed usage.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Contributor-facing changes
|
|
66
|
+
--------------------------
|
|
67
|
+
|
|
68
|
+
- `#13112 <https://github.com/pytest-dev/pytest/issues/13112>`_: Fixed selftest failures in ``test_terminal.py`` with Pygments >= 2.19.0
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
- `#13256 <https://github.com/pytest-dev/pytest/issues/13256>`_: Support for Towncier versions released in 2024 has been re-enabled
|
|
72
|
+
when building Sphinx docs -- by :user:`webknjaz`.
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
pytest 8.3.4 (2024-12-01)
|
|
76
|
+
=========================
|
|
77
|
+
|
|
78
|
+
Bug fixes
|
|
79
|
+
---------
|
|
80
|
+
|
|
81
|
+
- `#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.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
- `#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>`__.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
- `#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`.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
- `#9353 <https://github.com/pytest-dev/pytest/issues/9353>`_: :func:`pytest.approx` now uses strict equality when given booleans.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
Improved documentation
|
|
95
|
+
----------------------
|
|
96
|
+
|
|
97
|
+
- `#10558 <https://github.com/pytest-dev/pytest/issues/10558>`_: Fix ambiguous docstring of :func:`pytest.Config.getoption`.
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
- `#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`).
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
- `#12866 <https://github.com/pytest-dev/pytest/issues/12866>`_: Improved cross-references concerning the :fixture:`recwarn` fixture.
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
- `#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.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
Contributor-facing changes
|
|
111
|
+
--------------------------
|
|
112
|
+
|
|
113
|
+
- `#12497 <https://github.com/pytest-dev/pytest/issues/12497>`_: Fixed two failing pdb-related tests on Python 3.13.
|
|
114
|
+
|
|
115
|
+
|
|
34
116
|
pytest 8.3.3 (2024-09-09)
|
|
35
117
|
=========================
|
|
36
118
|
|
|
@@ -24,6 +24,13 @@ Chat
|
|
|
24
24
|
<https://web.libera.chat/#pytest>`_)
|
|
25
25
|
- ``#pytest`` `on Matrix <https://matrix.to/#/#pytest:matrix.org>`_.
|
|
26
26
|
|
|
27
|
+
Microblogging
|
|
28
|
+
-------------
|
|
29
|
+
|
|
30
|
+
- Bluesky: `@pytest.org <https://bsky.app/profile/pytest.org>`_
|
|
31
|
+
- Mastodon: `@pytest@fosstodon.org <https://fosstodon.org/@pytest>`_
|
|
32
|
+
- Twitter/X: `@pytestdotorg <https://x.com/pytestdotorg>`_
|
|
33
|
+
|
|
27
34
|
Mail
|
|
28
35
|
----
|
|
29
36
|
|
|
@@ -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-206>
|
|
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-206>
|
|
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-206>
|
|
322
322
|
<Module test_backends.py>
|
|
323
323
|
<Function test_db_initialized[d1]>
|
|
324
324
|
<Function test_db_initialized[d2]>
|
|
@@ -503,11 +503,12 @@ Running it results in some skips if we don't have all the python interpreters in
|
|
|
503
503
|
.. code-block:: pytest
|
|
504
504
|
|
|
505
505
|
. $ pytest -rs -q multipython.py
|
|
506
|
-
|
|
506
|
+
sssssssssssssssssssssssssss [100%]
|
|
507
507
|
========================= short test summary info ==========================
|
|
508
|
-
SKIPPED [
|
|
509
|
-
SKIPPED [
|
|
510
|
-
|
|
508
|
+
SKIPPED [9] multipython.py:67: 'python3.9' not found
|
|
509
|
+
SKIPPED [9] multipython.py:67: 'python3.10' not found
|
|
510
|
+
SKIPPED [9] multipython.py:67: 'python3.11' not found
|
|
511
|
+
27 skipped in 0.12s
|
|
511
512
|
|
|
512
513
|
Parametrization of optional implementations/imports
|
|
513
514
|
---------------------------------------------------
|
|
@@ -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-207>
|
|
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-207>
|
|
219
219
|
<Dir CWD>
|
|
220
220
|
<Module pythoncollection.py>
|
|
221
221
|
<Function test_function>
|