pytest 9.0.2__tar.gz → 9.1.0__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-9.1.0/.github/ISSUE_TEMPLATE/3_security_vulnerability.md +8 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/PULL_REQUEST_TEMPLATE.md +6 -1
- {pytest-9.0.2 → pytest-9.1.0}/.github/dependabot.yml +4 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/deploy.yml +12 -12
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/doc-check-links.yml +3 -3
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/prepare-release-pr.yml +4 -4
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/stale.yml +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/test.yml +40 -13
- {pytest-9.0.2 → pytest-9.1.0}/.github/workflows/update-plugin-list.yml +5 -5
- {pytest-9.0.2 → pytest-9.1.0}/.gitignore +1 -0
- pytest-9.1.0/.mailmap +2 -0
- {pytest-9.0.2 → pytest-9.1.0}/.pre-commit-config.yaml +10 -9
- {pytest-9.0.2 → pytest-9.1.0}/.readthedocs.yaml +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/AUTHORS +21 -1
- {pytest-9.0.2 → pytest-9.1.0}/CITATION +4 -4
- {pytest-9.0.2 → pytest-9.1.0}/CODE_OF_CONDUCT.md +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/CONTRIBUTING.rst +80 -11
- {pytest-9.0.2/src/pytest.egg-info → pytest-9.1.0}/PKG-INFO +4 -5
- {pytest-9.0.2 → pytest-9.1.0}/README.rst +1 -3
- {pytest-9.0.2 → pytest-9.1.0}/RELEASING.rst +5 -1
- pytest-9.1.0/SECURITY.md +3 -0
- {pytest-9.0.2 → pytest-9.1.0}/changelog/README.rst +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/index.rst +2 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.3.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.4.rst +3 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.6.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.9.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.9.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.9.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.3.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.4.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.7.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.1.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.1.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.1.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.4.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.3.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.3.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.3.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.4.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.4.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.4.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.5.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.0.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.0.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.1.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.1.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.2.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.2.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.2.3.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.0.0rc1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.1.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.4.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.5.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.0.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.0.0rc1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.1.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.2.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.3.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.4.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.4.1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.0.0rc1.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.1.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.2.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.3.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.4.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.5.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.4.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.4.2.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-9.0.0.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-9.0.2.rst +1 -1
- pytest-9.1.0/doc/en/announce/release-9.0.3.rst +38 -0
- pytest-9.1.0/doc/en/announce/release-9.1.0.rst +98 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/backwards-compatibility.rst +6 -5
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/builtin.rst +17 -17
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/changelog.rst +370 -7
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/conf.py +31 -8
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/contact.rst +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/deprecations.rst +403 -153
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/attic.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/markers.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/nonpython.rst +8 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/parametrize.rst +15 -5
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/pythoncollection.rst +3 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/reportingdemo.rst +10 -10
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/simple.rst +5 -8
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/ci.rst +6 -6
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/fixtures.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/flaky.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/goodpractices.rst +8 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/pythonpath.rst +3 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/funcarg_compare.rst +4 -4
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/getting-started.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/historical-notes.rst +11 -7
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/assert.rst +7 -7
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/cache.rst +12 -5
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/capture-stdout-stderr.rst +14 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/capture-warnings.rst +58 -14
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/doctest.rst +11 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/fixtures.rst +16 -18
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/logging.rst +4 -4
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/monkeypatch.rst +9 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/output.rst +8 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/plugins.rst +30 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/skipping.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/subtests.rst +4 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/usage.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/writing_hook_functions.rst +39 -3
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/writing_plugins.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/index.rst +3 -4
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/customize.rst +8 -4
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/exit-codes.rst +3 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/fixtures.rst +5 -5
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/plugin_list.rst +4257 -2185
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/reference.rst +254 -116
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/requirements.txt +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/sponsor.rst +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/talks.rst +6 -6
- {pytest-9.0.2 → pytest-9.1.0}/pyproject.toml +84 -34
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_code/code.py +114 -47
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_code/source.py +3 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_io/pprint.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_io/saferepr.py +25 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_py/path.py +1 -1
- pytest-9.1.0/src/_pytest/_version.py +24 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/assertion/__init__.py +29 -1
- pytest-9.1.0/src/_pytest/assertion/_compare_any.py +131 -0
- pytest-9.1.0/src/_pytest/assertion/_compare_mapping.py +48 -0
- pytest-9.1.0/src/_pytest/assertion/_compare_sequence.py +90 -0
- pytest-9.1.0/src/_pytest/assertion/_compare_set.py +101 -0
- pytest-9.1.0/src/_pytest/assertion/_guards.py +60 -0
- pytest-9.1.0/src/_pytest/assertion/_typing.py +12 -0
- pytest-9.1.0/src/_pytest/assertion/compare_text.py +104 -0
- pytest-9.1.0/src/_pytest/assertion/highlight.py +11 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/assertion/rewrite.py +0 -9
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/assertion/truncate.py +22 -31
- pytest-9.1.0/src/_pytest/assertion/util.py +215 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/cacheprovider.py +41 -47
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/capture.py +8 -1
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/compat.py +15 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/config/__init__.py +129 -80
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/config/argparsing.py +58 -133
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/config/findpaths.py +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/debugging.py +3 -6
- pytest-9.1.0/src/_pytest/deprecated.py +139 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/doctest.py +1 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/fixtures.py +536 -204
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/hookspec.py +15 -68
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/junitxml.py +12 -4
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/logging.py +37 -22
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/main.py +14 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/mark/__init__.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/mark/expression.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/mark/structures.py +57 -10
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/monkeypatch.py +20 -25
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/nodes.py +27 -35
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/outcomes.py +12 -34
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/pastebin.py +4 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/pathlib.py +31 -40
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/pytester.py +17 -5
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/pytester_assertions.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/python.py +76 -89
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/python_api.py +119 -17
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/raises.py +49 -61
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/recwarn.py +38 -26
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/runner.py +33 -20
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/scope.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/skipping.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/subtests.py +10 -3
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/terminal.py +26 -3
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/timing.py +4 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/tmpdir.py +38 -2
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/unittest.py +31 -6
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/unraisableexception.py +28 -3
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/warning_types.py +0 -6
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/warnings.py +2 -1
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest/__init__.py +5 -3
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest/__main__.py +2 -2
- {pytest-9.0.2 → pytest-9.1.0/src/pytest.egg-info}/PKG-INFO +4 -5
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest.egg-info/SOURCES.txt +13 -2
- pytest-9.1.0/src/pytest.egg-info/entry_points.txt +3 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/_py/test_local.py +12 -11
- {pytest-9.0.2 → pytest-9.1.0}/testing/acceptance_test.py +18 -36
- {pytest-9.0.2 → pytest-9.1.0}/testing/code/test_code.py +18 -6
- {pytest-9.0.2 → pytest-9.1.0}/testing/code/test_excinfo.py +130 -78
- {pytest-9.0.2 → pytest-9.1.0}/testing/code/test_source.py +31 -3
- pytest-9.1.0/testing/deprecated_test.py +312 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/README.rst +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/io/test_saferepr.py +37 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/logging/test_fixture.py +27 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/logging/test_reporting.py +32 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/README.rst +1 -1
- pytest-9.1.0/testing/plugins_integration/requirements.txt +15 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/approx.py +362 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/collect.py +44 -4
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/fixtures.py +426 -42
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/metafunc.py +179 -36
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/raises.py +117 -11
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/raises_group.py +2 -7
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/show_fixtures_per_test.py +73 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_assertion.py +330 -7
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_assertrewrite.py +23 -3
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_cacheprovider.py +39 -4
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_capture.py +59 -22
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_collection.py +4 -3
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_compat.py +15 -5
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_config.py +107 -15
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_conftest.py +125 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_debugging.py +3 -2
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_doctest.py +62 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_helpconfig.py +4 -3
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_junitxml.py +16 -10
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_legacypath.py +2 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_mark.py +85 -10
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_mark_expression.py +14 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_monkeypatch.py +24 -4
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_nodes.py +36 -12
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_parseopt.py +54 -47
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_pastebin.py +19 -2
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_pathlib.py +7 -8
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_pluginmanager.py +14 -9
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_pytester.py +4 -2
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_recwarn.py +62 -28
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_runner.py +51 -42
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_session.py +2 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_setuponly.py +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_skipping.py +2 -1
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_subtests.py +104 -6
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_tmpdir.py +116 -8
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_unittest.py +21 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_unraisableexception.py +134 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_warnings.py +166 -5
- {pytest-9.0.2 → pytest-9.1.0}/testing/typing_checks.py +21 -0
- {pytest-9.0.2 → pytest-9.1.0}/tox.ini +8 -11
- pytest-9.0.2/.coveragerc +0 -38
- pytest-9.0.2/src/_pytest/_version.py +0 -34
- pytest-9.0.2/src/_pytest/assertion/util.py +0 -615
- pytest-9.0.2/src/_pytest/config/compat.py +0 -85
- pytest-9.0.2/src/_pytest/deprecated.py +0 -99
- pytest-9.0.2/src/pytest.egg-info/entry_points.txt +0 -3
- pytest-9.0.2/testing/deprecated_test.py +0 -221
- pytest-9.0.2/testing/plugins_integration/requirements.txt +0 -15
- {pytest-9.0.2 → pytest-9.1.0}/.git-blame-ignore-revs +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.gitattributes +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/FUNDING.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/chronographer.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/config.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/labels.toml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/.github/patchback.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/CHANGELOG.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/LICENSE +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/OPENCOLLECTIVE.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/TIDELIFT.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/bench.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/bench_argcomplete.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/empty.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/manyparam.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/skip.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/unit_test.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/bench/xunit.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/changelog/.gitignore +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/changelog/_template.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/codecov.yml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/Makefile +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/_static/pytest-custom.css +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/_static/pytest1.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/_templates/links.html +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/adopt.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.0.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.0.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.0.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.1.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.1.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.1.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.1.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.2.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.2.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.2.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.2.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.3.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.4.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.4.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.4.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.5.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.5.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.5.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.6.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.6.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.6.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.6.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.7.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.7.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.7.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-2.8.7.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.0.6.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.1.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.10.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.10.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.2.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.5.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.6.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.6.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.6.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.6.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.6.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.7.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.7.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.7.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.7.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.7.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.8.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.8.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.8.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.9.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.9.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.9.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-3.9.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.0.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.0.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.1.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.1.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.2.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.2.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.3.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.3.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.4.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.4.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.4.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.5.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.6.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.7.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.8.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-4.6.9.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.1.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.1.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.2.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.2.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.3.5.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.4.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.4.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.4.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-5.4.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.0.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.0.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.1.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.1.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-6.2.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.1.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.1.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.1.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.2.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.2.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.3.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.3.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.4.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.4.3.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-7.4.4.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.0.0.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.0.0rc2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.0.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.1.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.1.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.2.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.2.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.3.2.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-8.4.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/release-9.0.1.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/announce/sprint2016.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/broken-dep-constraints.txt +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/contents.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/contributing.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/development_guide.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/.ruff.toml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/assertion/failure_demo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/assertion/test_failures.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/tests/manifest.json +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/tests/test_first.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/tests/test_second.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/customdirectory/tests/test_third.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/fixture_availability.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/index.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/multipython.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/nonpython/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/nonpython/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/nonpython/test_simple.yaml +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/pythoncollection.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/special.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/example/xfail_demo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/anatomy.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/index.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/explanation/types.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/funcargs.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/history.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/bash-completion.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/existingtestsuite.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/failures.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/index.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/mark.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/parametrize.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/tmp_path.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/unittest.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/how-to/xunit_setup.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/cramer2.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/favicon.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/freiburg2.jpg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/gaynor3.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/keleshev.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/pullrequest.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/pylib.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/pytest_logo_curves.svg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/img/theuni.png +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/license.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/naming20.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/recwarn.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/reference/index.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/tidelift.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/doc/en/yieldfixture.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/extra/get_issues.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/.gitignore +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/generate-gh-release-notes.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/prepare-release-pr.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/release.major.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/release.minor.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/release.patch.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/release.pre.rst +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/release.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/scripts/update-plugin-list.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/setup.cfg +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_argcomplete.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_code/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_io/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_io/terminalwriter.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_io/wcwidth.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_py/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/_py/error.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/config/exceptions.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/faulthandler.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/freeze_support.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/helpconfig.py +1 -1
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/legacypath.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/py.typed +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/reports.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/setuponly.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/setupplan.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/stash.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/stepwise.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/terminalprogress.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/threadexception.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/_pytest/tracemalloc.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/py.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest/py.typed +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest.egg-info/dependency_links.txt +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest.egg-info/requires.txt +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/src/pytest.egg-info/top_level.txt +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/issue_519.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/junit-10.xsd +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/examples/test_issue519.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/.gitignore +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/create_executable.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/runtests_script.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/tests/test_doctest.txt +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/tests/test_trivial.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/freeze/tox_run.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/io/test_pprint.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/io/test_terminalwriter.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/io/test_wcwidth.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/logging/test_formatter.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/.gitignore +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/bdd_wallet.feature +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/bdd_wallet.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/django_settings.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest.ini +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_mock_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_trio_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/plugins_integration/simple_integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/python/integration.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_argcomplete.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_collect_imported_tests.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_entry_points.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_error_diffs.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_faulthandler.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_findpaths.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_link_resolve.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_main.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_meta.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_python_path.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_reports.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_runner_xunit.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_scope.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_setupplan.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_stash.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_stepwise.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_terminal.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_threadexception.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/test_warning_types.py +0 -0
- {pytest-9.0.2 → pytest-9.1.0}/testing/typing_raises_group.py +0 -0
|
@@ -11,9 +11,14 @@ If this change fixes an issue, please:
|
|
|
11
11
|
|
|
12
12
|
- [ ] 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.
|
|
13
13
|
|
|
14
|
+
> [!IMPORTANT]
|
|
15
|
+
> **Unsupervised agentic contributions are not accepted**. See our [AI/LLM-Assisted Contributions Policy](https://github.com/pytest-dev/pytest/blob/main/CONTRIBUTING.rst#aillm-assisted-contributions-policy).
|
|
16
|
+
|
|
17
|
+
- [ ] If AI agents were used, they are credited in `Co-authored-by` commit trailers.
|
|
18
|
+
|
|
14
19
|
Unless your change is trivial or a small documentation fix (e.g., a typo or reword of a small section) please:
|
|
15
20
|
|
|
16
|
-
- [ ] Create a new changelog file in the `changelog`
|
|
21
|
+
- [ ] Create a new changelog file in the `changelog` directory, with a name like `<ISSUE NUMBER>.<TYPE>.rst`. See [changelog/README.rst](https://github.com/pytest-dev/pytest/blob/main/changelog/README.rst) for details.
|
|
17
22
|
|
|
18
23
|
Write sentences in the **past or present tense**, examples:
|
|
19
24
|
|
|
@@ -9,9 +9,13 @@ updates:
|
|
|
9
9
|
allow:
|
|
10
10
|
- dependency-type: direct
|
|
11
11
|
- dependency-type: indirect
|
|
12
|
+
cooldown:
|
|
13
|
+
default-days: 7
|
|
12
14
|
- package-ecosystem: github-actions
|
|
13
15
|
directory: /
|
|
14
16
|
schedule:
|
|
15
17
|
interval: weekly
|
|
16
18
|
time: "03:00"
|
|
17
19
|
open-pull-requests-limit: 10
|
|
20
|
+
cooldown:
|
|
21
|
+
default-days: 7
|
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
package:
|
|
17
17
|
runs-on: ubuntu-latest
|
|
18
18
|
env:
|
|
19
|
-
|
|
19
|
+
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST: ${{ github.event.inputs.version }}
|
|
20
20
|
timeout-minutes: 10
|
|
21
21
|
|
|
22
22
|
# Required by attest-build-provenance-github.
|
|
@@ -25,13 +25,13 @@ jobs:
|
|
|
25
25
|
attestations: write
|
|
26
26
|
|
|
27
27
|
steps:
|
|
28
|
-
- uses: actions/checkout@
|
|
28
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
29
29
|
with:
|
|
30
30
|
fetch-depth: 0
|
|
31
31
|
persist-credentials: false
|
|
32
32
|
|
|
33
33
|
- name: Build and Check Package
|
|
34
|
-
uses: hynek/build-and-inspect-python-package@
|
|
34
|
+
uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df
|
|
35
35
|
with:
|
|
36
36
|
attest-build-provenance-github: 'true'
|
|
37
37
|
|
|
@@ -42,20 +42,20 @@ jobs:
|
|
|
42
42
|
permissions:
|
|
43
43
|
contents: read
|
|
44
44
|
steps:
|
|
45
|
-
- uses: actions/checkout@
|
|
45
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
46
46
|
with:
|
|
47
47
|
fetch-depth: 0
|
|
48
48
|
persist-credentials: false
|
|
49
49
|
|
|
50
50
|
- name: Set up Python
|
|
51
|
-
uses: actions/setup-python@v6
|
|
51
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
52
52
|
with:
|
|
53
53
|
python-version: "3.13"
|
|
54
54
|
|
|
55
55
|
- name: Install tox
|
|
56
56
|
run: |
|
|
57
57
|
python -m pip install --upgrade pip
|
|
58
|
-
pip install
|
|
58
|
+
pip install tox
|
|
59
59
|
|
|
60
60
|
- name: Generate release notes
|
|
61
61
|
env:
|
|
@@ -64,7 +64,7 @@ jobs:
|
|
|
64
64
|
tox -e generate-gh-release-notes -- "$VERSION" gh-release-notes.md
|
|
65
65
|
|
|
66
66
|
- name: Upload release notes
|
|
67
|
-
uses: actions/upload-artifact@
|
|
67
|
+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
68
68
|
with:
|
|
69
69
|
name: release-notes
|
|
70
70
|
path: gh-release-notes.md
|
|
@@ -82,13 +82,13 @@ jobs:
|
|
|
82
82
|
id-token: write
|
|
83
83
|
steps:
|
|
84
84
|
- name: Download Package
|
|
85
|
-
uses: actions/download-artifact@
|
|
85
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
86
86
|
with:
|
|
87
87
|
name: Packages
|
|
88
88
|
path: dist
|
|
89
89
|
|
|
90
90
|
- name: Publish package to PyPI
|
|
91
|
-
uses: pypa/gh-action-pypi-publish@
|
|
91
|
+
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b
|
|
92
92
|
with:
|
|
93
93
|
attestations: true
|
|
94
94
|
|
|
@@ -99,7 +99,7 @@ jobs:
|
|
|
99
99
|
permissions:
|
|
100
100
|
contents: write
|
|
101
101
|
steps:
|
|
102
|
-
- uses: actions/checkout@
|
|
102
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
103
103
|
with:
|
|
104
104
|
fetch-depth: 0
|
|
105
105
|
persist-credentials: true
|
|
@@ -121,13 +121,13 @@ jobs:
|
|
|
121
121
|
contents: write
|
|
122
122
|
steps:
|
|
123
123
|
- name: Download Package
|
|
124
|
-
uses: actions/download-artifact@
|
|
124
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
125
125
|
with:
|
|
126
126
|
name: Packages
|
|
127
127
|
path: dist
|
|
128
128
|
|
|
129
129
|
- name: Download release notes
|
|
130
|
-
uses: actions/download-artifact@
|
|
130
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
131
131
|
with:
|
|
132
132
|
name: release-notes
|
|
133
133
|
path: .
|
|
@@ -17,18 +17,18 @@ jobs:
|
|
|
17
17
|
|
|
18
18
|
steps:
|
|
19
19
|
- name: Checkout
|
|
20
|
-
uses: actions/checkout@
|
|
20
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
21
21
|
with:
|
|
22
22
|
fetch-depth: 0
|
|
23
23
|
persist-credentials: false
|
|
24
24
|
|
|
25
25
|
- name: Setup Python
|
|
26
|
-
uses: actions/setup-python@v6
|
|
26
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
27
27
|
with:
|
|
28
28
|
python-version: "3.13"
|
|
29
29
|
cache: pip
|
|
30
30
|
|
|
31
|
-
- name: Install
|
|
31
|
+
- name: Install tox
|
|
32
32
|
run: |
|
|
33
33
|
python -m pip install --upgrade pip
|
|
34
34
|
pip install tox
|
|
@@ -27,21 +27,21 @@ jobs:
|
|
|
27
27
|
pull-requests: write
|
|
28
28
|
|
|
29
29
|
steps:
|
|
30
|
-
- uses: actions/checkout@
|
|
30
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
31
31
|
with:
|
|
32
32
|
fetch-depth: 0
|
|
33
33
|
# persist-credentials is needed in order for us to push the release branch.
|
|
34
34
|
persist-credentials: true
|
|
35
35
|
|
|
36
36
|
- name: Set up Python
|
|
37
|
-
uses: actions/setup-python@v6
|
|
37
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
38
38
|
with:
|
|
39
39
|
python-version: "3.13"
|
|
40
40
|
|
|
41
|
-
- name: Install
|
|
41
|
+
- name: Install tox
|
|
42
42
|
run: |
|
|
43
43
|
python -m pip install --upgrade pip
|
|
44
|
-
pip install
|
|
44
|
+
pip install tox
|
|
45
45
|
|
|
46
46
|
- name: Prepare release PR (minor/patch release)
|
|
47
47
|
if: github.event.inputs.major == 'no'
|
|
@@ -37,12 +37,12 @@ jobs:
|
|
|
37
37
|
package:
|
|
38
38
|
runs-on: ubuntu-latest
|
|
39
39
|
steps:
|
|
40
|
-
- uses: actions/checkout@
|
|
40
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
41
41
|
with:
|
|
42
42
|
fetch-depth: 0
|
|
43
43
|
persist-credentials: false
|
|
44
44
|
- name: Build and Check Package
|
|
45
|
-
uses: hynek/build-and-inspect-python-package@
|
|
45
|
+
uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df
|
|
46
46
|
|
|
47
47
|
build:
|
|
48
48
|
needs: [package]
|
|
@@ -65,6 +65,7 @@ jobs:
|
|
|
65
65
|
"windows-py312",
|
|
66
66
|
"windows-py313",
|
|
67
67
|
"windows-py314",
|
|
68
|
+
"windows-py315",
|
|
68
69
|
|
|
69
70
|
"ubuntu-py310-unittest-asynctest",
|
|
70
71
|
"ubuntu-py310-unittest-twisted24",
|
|
@@ -77,12 +78,14 @@ jobs:
|
|
|
77
78
|
"ubuntu-py312",
|
|
78
79
|
"ubuntu-py313-pexpect",
|
|
79
80
|
"ubuntu-py314",
|
|
81
|
+
"ubuntu-py315",
|
|
80
82
|
"ubuntu-pypy3-xdist",
|
|
81
83
|
|
|
82
84
|
"macos-py310",
|
|
83
85
|
"macos-py312",
|
|
84
86
|
"macos-py313",
|
|
85
87
|
"macos-py314",
|
|
88
|
+
"macos-py315",
|
|
86
89
|
|
|
87
90
|
"doctesting",
|
|
88
91
|
"plugins",
|
|
@@ -141,6 +144,11 @@ jobs:
|
|
|
141
144
|
tox_env: "py314"
|
|
142
145
|
use_coverage: true
|
|
143
146
|
|
|
147
|
+
- name: "windows-py315"
|
|
148
|
+
python: "3.15"
|
|
149
|
+
os: windows-latest
|
|
150
|
+
tox_env: "py315"
|
|
151
|
+
|
|
144
152
|
# Use separate jobs for different unittest flavors (twisted, asynctest) to ensure proper coverage.
|
|
145
153
|
- name: "ubuntu-py310-unittest-asynctest"
|
|
146
154
|
python: "3.10"
|
|
@@ -208,6 +216,12 @@ jobs:
|
|
|
208
216
|
tox_env: "py314"
|
|
209
217
|
use_coverage: true
|
|
210
218
|
|
|
219
|
+
- name: "ubuntu-py315"
|
|
220
|
+
python: "3.15"
|
|
221
|
+
os: ubuntu-latest
|
|
222
|
+
tox_env: "py315"
|
|
223
|
+
use_coverage: true
|
|
224
|
+
|
|
211
225
|
- name: "ubuntu-pypy3-xdist"
|
|
212
226
|
python: "pypy-3.10"
|
|
213
227
|
os: ubuntu-latest
|
|
@@ -236,6 +250,11 @@ jobs:
|
|
|
236
250
|
os: macos-latest
|
|
237
251
|
tox_env: "py314-xdist"
|
|
238
252
|
|
|
253
|
+
- name: "macos-py315"
|
|
254
|
+
python: "3.15"
|
|
255
|
+
os: macos-latest
|
|
256
|
+
tox_env: "py315-xdist"
|
|
257
|
+
|
|
239
258
|
- name: "plugins"
|
|
240
259
|
python: "3.12"
|
|
241
260
|
os: ubuntu-latest
|
|
@@ -251,51 +270,59 @@ jobs:
|
|
|
251
270
|
continue-on-error: ${{ matrix.xfail && true || false }}
|
|
252
271
|
|
|
253
272
|
steps:
|
|
254
|
-
- uses: actions/checkout@
|
|
273
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
255
274
|
with:
|
|
256
275
|
fetch-depth: 0
|
|
257
276
|
persist-credentials: false
|
|
258
277
|
|
|
259
278
|
- name: Download Package
|
|
260
|
-
uses: actions/download-artifact@
|
|
279
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
261
280
|
with:
|
|
262
281
|
name: Packages
|
|
263
282
|
path: dist
|
|
264
283
|
|
|
265
284
|
- name: Set up Python ${{ matrix.python }}
|
|
266
|
-
uses: actions/setup-python@v6
|
|
285
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
267
286
|
with:
|
|
268
287
|
python-version: ${{ matrix.python }}
|
|
269
288
|
check-latest: true
|
|
270
289
|
allow-prereleases: true
|
|
271
290
|
|
|
272
|
-
- name: Install
|
|
291
|
+
- name: Install tox
|
|
273
292
|
run: |
|
|
274
293
|
python -m pip install --upgrade pip
|
|
275
|
-
pip install tox
|
|
294
|
+
pip install tox
|
|
276
295
|
|
|
277
296
|
- name: Test without coverage
|
|
278
297
|
if: "! matrix.use_coverage"
|
|
279
298
|
shell: bash
|
|
299
|
+
env:
|
|
300
|
+
_PYTEST_TOX_POSARGS_JUNIT: --junitxml=junit.xml
|
|
280
301
|
run: tox run -e ${{ matrix.tox_env }} --installpkg `find dist/*.tar.gz`
|
|
281
302
|
|
|
282
303
|
- name: Test with coverage
|
|
283
304
|
if: "matrix.use_coverage"
|
|
284
305
|
shell: bash
|
|
306
|
+
env:
|
|
307
|
+
_PYTEST_TOX_POSARGS_JUNIT: --junitxml=junit.xml
|
|
285
308
|
run: tox run -e ${{ matrix.tox_env }}-coverage --installpkg `find dist/*.tar.gz`
|
|
286
309
|
|
|
287
|
-
- name: Generate coverage report
|
|
288
|
-
if: "matrix.use_coverage"
|
|
289
|
-
run: python -m coverage xml
|
|
290
|
-
|
|
291
310
|
- name: Upload coverage to Codecov
|
|
292
311
|
if: "matrix.use_coverage"
|
|
293
|
-
uses: codecov/codecov-action@
|
|
312
|
+
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354
|
|
294
313
|
with:
|
|
295
314
|
fail_ci_if_error: false
|
|
296
315
|
files: ./coverage.xml
|
|
297
316
|
verbose: true
|
|
298
317
|
|
|
318
|
+
- name: Upload JUnit report to Codecov
|
|
319
|
+
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354
|
|
320
|
+
with:
|
|
321
|
+
fail_ci_if_error: false
|
|
322
|
+
files: junit.xml
|
|
323
|
+
report_type: test_results
|
|
324
|
+
verbose: true
|
|
325
|
+
|
|
299
326
|
check: # This job does nothing and is only used for the branch protection
|
|
300
327
|
if: always()
|
|
301
328
|
|
|
@@ -306,6 +333,6 @@ jobs:
|
|
|
306
333
|
|
|
307
334
|
steps:
|
|
308
335
|
- name: Decide whether the needed jobs succeeded or failed
|
|
309
|
-
uses: re-actors/alls-green@
|
|
336
|
+
uses: re-actors/alls-green@a638d6464689bbb24c325bb3fe9404d63a913030
|
|
310
337
|
with:
|
|
311
338
|
jobs: ${{ toJSON(needs) }}
|
|
@@ -20,18 +20,18 @@ jobs:
|
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
22
|
- name: Checkout
|
|
23
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
24
24
|
with:
|
|
25
25
|
fetch-depth: 0
|
|
26
26
|
persist-credentials: false
|
|
27
27
|
|
|
28
28
|
- name: Setup Python
|
|
29
|
-
uses: actions/setup-python@v6
|
|
29
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
30
30
|
with:
|
|
31
31
|
python-version: "3.13"
|
|
32
32
|
|
|
33
33
|
- name: requests-cache
|
|
34
|
-
uses: actions/cache@
|
|
34
|
+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
|
35
35
|
with:
|
|
36
36
|
path: ~/.cache/pytest-plugin-list/
|
|
37
37
|
key: plugins-http-cache-${{ github.run_id }} # Can use time based key as well
|
|
@@ -40,14 +40,14 @@ jobs:
|
|
|
40
40
|
- name: Install tox
|
|
41
41
|
run: |
|
|
42
42
|
python -m pip install --upgrade pip
|
|
43
|
-
pip install
|
|
43
|
+
pip install tox
|
|
44
44
|
|
|
45
45
|
- name: Update Plugin List
|
|
46
46
|
run: tox -e update-plugin-list
|
|
47
47
|
|
|
48
48
|
- name: Create Pull Request
|
|
49
49
|
id: pr
|
|
50
|
-
uses: peter-evans/create-pull-request@
|
|
50
|
+
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1
|
|
51
51
|
with:
|
|
52
52
|
commit-message: '[automated] Update plugin list'
|
|
53
53
|
author: 'pytest bot <pytestbot@users.noreply.github.com>'
|
pytest-9.1.0/.mailmap
ADDED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
minimum_pre_commit_version: "4.4.0"
|
|
2
2
|
repos:
|
|
3
3
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
4
|
-
rev: "v0.
|
|
4
|
+
rev: "v0.15.16"
|
|
5
5
|
hooks:
|
|
6
6
|
- id: ruff-check
|
|
7
7
|
args: ["--fix"]
|
|
@@ -13,16 +13,17 @@ repos:
|
|
|
13
13
|
- id: end-of-file-fixer
|
|
14
14
|
- id: check-yaml
|
|
15
15
|
- repo: https://github.com/woodruffw/zizmor-pre-commit
|
|
16
|
-
rev: v1.
|
|
16
|
+
rev: v1.25.2
|
|
17
17
|
hooks:
|
|
18
18
|
- id: zizmor
|
|
19
|
+
args: ["--fix", "--no-progress"]
|
|
19
20
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
20
21
|
rev: 1.20.0
|
|
21
22
|
hooks:
|
|
22
23
|
- id: blacken-docs
|
|
23
24
|
additional_dependencies: [black==24.1.1]
|
|
24
25
|
- repo: https://github.com/codespell-project/codespell
|
|
25
|
-
rev: v2.4.
|
|
26
|
+
rev: v2.4.2
|
|
26
27
|
hooks:
|
|
27
28
|
- id: codespell
|
|
28
29
|
args: ["--toml=pyproject.toml"]
|
|
@@ -33,7 +34,7 @@ repos:
|
|
|
33
34
|
hooks:
|
|
34
35
|
- id: python-use-type-annotations
|
|
35
36
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
36
|
-
rev:
|
|
37
|
+
rev: v2.1.0
|
|
37
38
|
hooks:
|
|
38
39
|
- id: mypy
|
|
39
40
|
files: ^(src/|testing/|scripts/)
|
|
@@ -49,7 +50,7 @@ repos:
|
|
|
49
50
|
# on <3.11
|
|
50
51
|
- exceptiongroup>=1.0.0rc8
|
|
51
52
|
- repo: https://github.com/RobertCraigie/pyright-python
|
|
52
|
-
rev: v1.1.
|
|
53
|
+
rev: v1.1.410
|
|
53
54
|
hooks:
|
|
54
55
|
- id: pyright
|
|
55
56
|
files: ^(src/|scripts/)
|
|
@@ -66,14 +67,14 @@ repos:
|
|
|
66
67
|
- exceptiongroup>=1.0.0rc8
|
|
67
68
|
# Manual because passing pyright is a work in progress.
|
|
68
69
|
stages: [manual]
|
|
69
|
-
- repo: https://github.com/
|
|
70
|
-
rev: "v2.
|
|
70
|
+
- repo: https://github.com/pytest-dev/pyproject-fmt
|
|
71
|
+
rev: "v2.12.1"
|
|
71
72
|
hooks:
|
|
72
73
|
- id: pyproject-fmt
|
|
73
74
|
# https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
|
|
74
75
|
additional_dependencies: ["tox>=4.9"]
|
|
75
76
|
- repo: https://github.com/asottile/pyupgrade
|
|
76
|
-
rev: v3.21.
|
|
77
|
+
rev: v3.21.2
|
|
77
78
|
hooks:
|
|
78
79
|
- id: pyupgrade
|
|
79
80
|
args:
|
|
@@ -86,7 +87,7 @@ repos:
|
|
|
86
87
|
- id: pylint
|
|
87
88
|
name: pylint
|
|
88
89
|
entry: pylint
|
|
89
|
-
language:
|
|
90
|
+
language: unsupported
|
|
90
91
|
types: [python]
|
|
91
92
|
args: ["-rn", "-sn", "--fail-on=I", "--enable-all-extentions"]
|
|
92
93
|
require_serial: true
|
|
@@ -14,12 +14,14 @@ Ahn Ki-Wook
|
|
|
14
14
|
Akhilesh Ramakrishnan
|
|
15
15
|
Akiomi Kamakura
|
|
16
16
|
Alan Velasco
|
|
17
|
+
Alejandro Villate
|
|
17
18
|
Alessio Izzo
|
|
18
19
|
Alex Jones
|
|
19
20
|
Alex Lambson
|
|
20
21
|
Alexander Johnson
|
|
21
22
|
Alexander King
|
|
22
23
|
Alexei Kozlenok
|
|
24
|
+
algojogacor
|
|
23
25
|
Alice Purcell
|
|
24
26
|
Allan Feldman
|
|
25
27
|
Aly Sivji
|
|
@@ -56,6 +58,7 @@ Aron Curzon
|
|
|
56
58
|
Arthur Richard
|
|
57
59
|
Ashish Kurmi
|
|
58
60
|
Ashley Whetter
|
|
61
|
+
Ava Birtwistle
|
|
59
62
|
Aviral Verma
|
|
60
63
|
Aviv Palivoda
|
|
61
64
|
Babak Keyvani
|
|
@@ -130,6 +133,7 @@ David Szotten
|
|
|
130
133
|
David Vierra
|
|
131
134
|
Daw-Ran Liou
|
|
132
135
|
Debi Mishra
|
|
136
|
+
Denis Cherednichenko
|
|
133
137
|
Denis Kirisov
|
|
134
138
|
Denivy Braiam Rück
|
|
135
139
|
Deysha Rivera
|
|
@@ -165,18 +169,20 @@ Evgeny Seliverstov
|
|
|
165
169
|
Fabian Sturm
|
|
166
170
|
Fabien Zarifian
|
|
167
171
|
Fabio Zadrozny
|
|
172
|
+
Fazeel Usmani
|
|
168
173
|
Farbod Ahmadian
|
|
169
174
|
faph
|
|
170
175
|
Felix Hofstätter
|
|
171
176
|
Felix Nieuwenhuizen
|
|
172
177
|
Feng Ma
|
|
173
|
-
Florian Bruhin
|
|
174
178
|
Florian Dahlitz
|
|
175
179
|
Floris Bruynooghe
|
|
176
180
|
Frank Hoffmann
|
|
177
181
|
Fraser Stark
|
|
182
|
+
Freya Bruhin
|
|
178
183
|
Gabriel Landau
|
|
179
184
|
Gabriel Reis
|
|
185
|
+
Garion Milazzo
|
|
180
186
|
Garvit Shubham
|
|
181
187
|
Gene Wood
|
|
182
188
|
George Kussumoto
|
|
@@ -191,6 +197,7 @@ Grig Gheorghiu
|
|
|
191
197
|
Grigorii Eremeev (budulianin)
|
|
192
198
|
Guido Wesdorp
|
|
193
199
|
Guoqiang Zhang
|
|
200
|
+
Hamza Mobeen
|
|
194
201
|
Harald Armin Massa
|
|
195
202
|
Harshna
|
|
196
203
|
Henk-Jaap Wagenaar
|
|
@@ -199,6 +206,7 @@ Hugo van Kemenade
|
|
|
199
206
|
Hui Wang (coldnight)
|
|
200
207
|
Ian Bicking
|
|
201
208
|
Ian Lesperance
|
|
209
|
+
Ilya Abdolmanafi
|
|
202
210
|
Ilya Konstantinov
|
|
203
211
|
Ionuț Turturică
|
|
204
212
|
Isaac Virshup
|
|
@@ -207,6 +215,7 @@ Israël Hallé
|
|
|
207
215
|
Itxaso Aizpurua
|
|
208
216
|
Iwan Briquemont
|
|
209
217
|
Jaap Broekhuizen
|
|
218
|
+
JaeHyuck Sa
|
|
210
219
|
Jake VanderPlas
|
|
211
220
|
Jakob van Santen
|
|
212
221
|
Jakub Mitoraj
|
|
@@ -236,7 +245,9 @@ Joseph Hunkeler
|
|
|
236
245
|
Joseph Sawaya
|
|
237
246
|
Josh Karpel
|
|
238
247
|
Joshua Bronson
|
|
248
|
+
Julia Knaak
|
|
239
249
|
Julian Valentin
|
|
250
|
+
Junhao Liao
|
|
240
251
|
Jurko Gospodnetić
|
|
241
252
|
Justice Ndou
|
|
242
253
|
Justyna Janczyszyn
|
|
@@ -296,6 +307,7 @@ Martijn Faassen
|
|
|
296
307
|
Martin Altmayer
|
|
297
308
|
Martin K. Scherer
|
|
298
309
|
Martin Prusse
|
|
310
|
+
Mateya Berezowsky
|
|
299
311
|
Mathieu Clabaut
|
|
300
312
|
Matt Bachmann
|
|
301
313
|
Matt Duck
|
|
@@ -311,15 +323,18 @@ Michael Goerz
|
|
|
311
323
|
Michael Krebs
|
|
312
324
|
Michael Seifert
|
|
313
325
|
Michael Vogt
|
|
326
|
+
Michael Reznik
|
|
314
327
|
Michal Wajszczuk
|
|
315
328
|
Michał Górny
|
|
316
329
|
Michał Zięba
|
|
317
330
|
Mickey Pashov
|
|
318
331
|
Mihai Capotă
|
|
319
332
|
Mihail Milushev
|
|
333
|
+
Mike Fiedler (miketheman)
|
|
320
334
|
Mike Hoyle (hoylemd)
|
|
321
335
|
Mike Lundy
|
|
322
336
|
Milan Lesnek
|
|
337
|
+
minbang930
|
|
323
338
|
Miro Hrončok
|
|
324
339
|
Mulat Mekonen
|
|
325
340
|
mrbean-bremen
|
|
@@ -337,6 +352,7 @@ Niclas Olofsson
|
|
|
337
352
|
Nicolas Delaby
|
|
338
353
|
Nicolas Simonds
|
|
339
354
|
Nico Vidal
|
|
355
|
+
Nikesh Chavhan
|
|
340
356
|
Nikolay Kondratyev
|
|
341
357
|
Nipunn Koorapati
|
|
342
358
|
Oleg Pidsadnyi
|
|
@@ -355,6 +371,7 @@ Patrick Hayes
|
|
|
355
371
|
Patrick Lannigan
|
|
356
372
|
Paul Müller
|
|
357
373
|
Paul Reece
|
|
374
|
+
Paul Zuradzki
|
|
358
375
|
Pauli Virtanen
|
|
359
376
|
Pavel Karateev
|
|
360
377
|
Pavel Zhukov
|
|
@@ -369,6 +386,7 @@ Piotr Banaszkiewicz
|
|
|
369
386
|
Piotr Helm
|
|
370
387
|
Poulami Sau
|
|
371
388
|
Prakhar Gurunani
|
|
389
|
+
Praneeth Kodumagulla
|
|
372
390
|
Prashant Anand
|
|
373
391
|
Prashant Sharma
|
|
374
392
|
Pulkit Goyal
|
|
@@ -379,6 +397,7 @@ Ralf Schmitt
|
|
|
379
397
|
Ralph Giles
|
|
380
398
|
Ram Rachum
|
|
381
399
|
Ran Benita
|
|
400
|
+
Randy Döring
|
|
382
401
|
Raphael Castaneda
|
|
383
402
|
Raphael Pierzina
|
|
384
403
|
Rafal Semik
|
|
@@ -485,6 +504,7 @@ Vlad Radziuk
|
|
|
485
504
|
Vladyslav Rachek
|
|
486
505
|
Volodymyr Kochetkov
|
|
487
506
|
Volodymyr Piskun
|
|
507
|
+
Warren Markham
|
|
488
508
|
Wei Lin
|
|
489
509
|
Wil Cooley
|
|
490
510
|
Will Riley
|
|
@@ -10,19 +10,19 @@ BibLaTeX:
|
|
|
10
10
|
|
|
11
11
|
@software{pytest,
|
|
12
12
|
title = {pytest x.y},
|
|
13
|
-
author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and
|
|
13
|
+
author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Freya Bruhin},
|
|
14
14
|
year = {2004},
|
|
15
15
|
version = {x.y},
|
|
16
16
|
url = {https://github.com/pytest-dev/pytest},
|
|
17
|
-
note = {Contributors: Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and
|
|
17
|
+
note = {Contributors: Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Freya Bruhin and others}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
BibTeX:
|
|
21
21
|
|
|
22
22
|
@misc{pytest,
|
|
23
|
-
author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and
|
|
23
|
+
author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Freya Bruhin},
|
|
24
24
|
title = {pytest x.y},
|
|
25
25
|
year = {2004},
|
|
26
26
|
howpublished = {\url{https://github.com/pytest-dev/pytest}},
|
|
27
|
-
note = {Version x.y. Contributors include Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher,
|
|
27
|
+
note = {Version x.y. Contributors include Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Freya Bruhin, and others.}
|
|
28
28
|
}
|
|
@@ -70,7 +70,7 @@ contacted individually:
|
|
|
70
70
|
|
|
71
71
|
- Brianna Laugher ([@pfctdayelise](https://github.com/pfctdayelise)): brianna@laugher.id.au
|
|
72
72
|
- Bruno Oliveira ([@nicoddemus](https://github.com/nicoddemus)): nicoddemus@gmail.com
|
|
73
|
-
-
|
|
73
|
+
- Freya Bruhin ([@the-compiler](https://github.com/the-compiler)): pytest@the-compiler.org
|
|
74
74
|
|
|
75
75
|
## Attribution
|
|
76
76
|
|