pytest 8.3.5__tar.gz → 8.4.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.
Files changed (623) hide show
  1. {pytest-8.3.5 → pytest-8.4.0}/.coveragerc +1 -0
  2. {pytest-8.3.5 → pytest-8.4.0}/.git-blame-ignore-revs +1 -1
  3. {pytest-8.3.5 → pytest-8.4.0}/.github/FUNDING.yml +2 -0
  4. {pytest-8.3.5 → pytest-8.4.0}/.github/workflows/deploy.yml +3 -3
  5. {pytest-8.3.5 → pytest-8.4.0}/.github/workflows/prepare-release-pr.yml +7 -4
  6. {pytest-8.3.5 → pytest-8.4.0}/.github/workflows/test.yml +70 -36
  7. {pytest-8.3.5 → pytest-8.4.0}/.github/workflows/update-plugin-list.yml +1 -1
  8. {pytest-8.3.5 → pytest-8.4.0}/.pre-commit-config.yaml +32 -9
  9. {pytest-8.3.5 → pytest-8.4.0}/AUTHORS +22 -0
  10. pytest-8.4.0/CITATION +28 -0
  11. {pytest-8.3.5 → pytest-8.4.0}/CONTRIBUTING.rst +3 -4
  12. {pytest-8.3.5/src/pytest.egg-info → pytest-8.4.0}/PKG-INFO +12 -10
  13. {pytest-8.3.5 → pytest-8.4.0}/README.rst +1 -1
  14. {pytest-8.3.5 → pytest-8.4.0}/RELEASING.rst +4 -2
  15. {pytest-8.3.5 → pytest-8.4.0}/bench/empty.py +1 -1
  16. {pytest-8.3.5 → pytest-8.4.0}/codecov.yml +3 -1
  17. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/index.rst +1 -0
  18. pytest-8.4.0/doc/en/announce/release-8.4.0.rst +106 -0
  19. {pytest-8.3.5 → pytest-8.4.0}/doc/en/backwards-compatibility.rst +1 -0
  20. {pytest-8.3.5 → pytest-8.4.0}/doc/en/builtin.rst +54 -31
  21. {pytest-8.3.5 → pytest-8.4.0}/doc/en/changelog.rst +423 -2
  22. {pytest-8.3.5 → pytest-8.4.0}/doc/en/conf.py +3 -0
  23. {pytest-8.3.5 → pytest-8.4.0}/doc/en/contact.rst +0 -2
  24. {pytest-8.3.5 → pytest-8.4.0}/doc/en/deprecations.rst +107 -31
  25. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/assertion/failure_demo.py +3 -3
  26. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/parametrize.rst +3 -3
  27. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/pythoncollection.rst +29 -2
  28. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/reportingdemo.rst +18 -12
  29. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/simple.rst +10 -4
  30. {pytest-8.3.5 → pytest-8.4.0}/doc/en/getting-started.rst +3 -25
  31. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/assert.rst +104 -7
  32. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/cache.rst +1 -3
  33. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/capture-stdout-stderr.rst +8 -2
  34. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/capture-warnings.rst +2 -1
  35. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/fixtures.rst +6 -1
  36. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/output.rst +14 -15
  37. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/parametrize.rst +1 -1
  38. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/plugins.rst +26 -1
  39. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/unittest.rst +2 -0
  40. {pytest-8.3.5 → pytest-8.4.0}/doc/en/index.rst +2 -1
  41. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/fixtures.rst +4 -0
  42. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/plugin_list.rst +2137 -905
  43. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/reference.rst +190 -38
  44. {pytest-8.3.5 → pytest-8.4.0}/pyproject.toml +63 -14
  45. {pytest-8.3.5 → pytest-8.4.0}/scripts/generate-gh-release-notes.py +1 -1
  46. {pytest-8.3.5 → pytest-8.4.0}/scripts/prepare-release-pr.py +15 -26
  47. {pytest-8.3.5 → pytest-8.4.0}/scripts/release.py +1 -1
  48. {pytest-8.3.5 → pytest-8.4.0}/scripts/update-plugin-list.py +5 -4
  49. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_code/code.py +240 -82
  50. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_code/source.py +12 -2
  51. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_io/pprint.py +6 -6
  52. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_io/terminalwriter.py +18 -38
  53. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_py/error.py +13 -5
  54. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_py/path.py +1 -1
  55. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_version.py +2 -2
  56. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/assertion/__init__.py +22 -6
  57. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/assertion/rewrite.py +10 -8
  58. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/assertion/truncate.py +39 -19
  59. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/assertion/util.py +31 -19
  60. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/cacheprovider.py +6 -7
  61. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/capture.py +58 -19
  62. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/compat.py +10 -59
  63. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/config/__init__.py +108 -52
  64. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/config/argparsing.py +29 -47
  65. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/config/compat.py +1 -1
  66. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/config/findpaths.py +16 -5
  67. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/debugging.py +43 -21
  68. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/doctest.py +7 -8
  69. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/faulthandler.py +1 -1
  70. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/fixtures.py +198 -114
  71. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/freeze_support.py +1 -1
  72. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/helpconfig.py +12 -5
  73. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/hookspec.py +2 -2
  74. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/junitxml.py +11 -16
  75. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/logging.py +21 -16
  76. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/main.py +84 -80
  77. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/mark/__init__.py +25 -16
  78. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/mark/expression.py +8 -10
  79. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/mark/structures.py +79 -32
  80. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/monkeypatch.py +3 -3
  81. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/nodes.py +22 -16
  82. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/outcomes.py +4 -5
  83. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/pastebin.py +7 -3
  84. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/pathlib.py +4 -4
  85. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/pytester.py +16 -13
  86. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/pytester_assertions.py +1 -1
  87. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/python.py +120 -77
  88. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/python_api.py +50 -285
  89. pytest-8.4.0/src/_pytest/raises.py +1519 -0
  90. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/recwarn.py +9 -8
  91. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/reports.py +9 -8
  92. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/runner.py +17 -17
  93. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/scope.py +5 -5
  94. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/setuponly.py +4 -8
  95. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/skipping.py +22 -7
  96. pytest-8.4.0/src/_pytest/stepwise.py +209 -0
  97. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/terminal.py +112 -51
  98. pytest-8.4.0/src/_pytest/threadexception.py +152 -0
  99. pytest-8.4.0/src/_pytest/timing.py +94 -0
  100. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/tmpdir.py +2 -4
  101. pytest-8.4.0/src/_pytest/tracemalloc.py +24 -0
  102. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/unittest.py +5 -7
  103. pytest-8.4.0/src/_pytest/unraisableexception.py +158 -0
  104. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/warning_types.py +7 -18
  105. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/warnings.py +44 -43
  106. {pytest-8.3.5 → pytest-8.4.0}/src/pytest/__init__.py +36 -30
  107. {pytest-8.3.5 → pytest-8.4.0/src/pytest.egg-info}/PKG-INFO +12 -10
  108. {pytest-8.3.5 → pytest-8.4.0}/src/pytest.egg-info/SOURCES.txt +6 -1
  109. {pytest-8.3.5 → pytest-8.4.0}/src/pytest.egg-info/requires.txt +5 -5
  110. {pytest-8.3.5 → pytest-8.4.0}/testing/_py/test_local.py +12 -11
  111. {pytest-8.3.5 → pytest-8.4.0}/testing/acceptance_test.py +197 -38
  112. {pytest-8.3.5 → pytest-8.4.0}/testing/code/test_excinfo.py +202 -26
  113. {pytest-8.3.5 → pytest-8.4.0}/testing/code/test_source.py +11 -14
  114. {pytest-8.3.5 → pytest-8.4.0}/testing/conftest.py +3 -20
  115. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +2 -2
  116. {pytest-8.3.5 → pytest-8.4.0}/testing/io/test_terminalwriter.py +3 -1
  117. {pytest-8.3.5 → pytest-8.4.0}/testing/logging/test_fixture.py +1 -1
  118. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest.ini +1 -0
  119. pytest-8.4.0/testing/plugins_integration/requirements.txt +15 -0
  120. {pytest-8.3.5 → pytest-8.4.0}/testing/python/approx.py +52 -6
  121. {pytest-8.3.5 → pytest-8.4.0}/testing/python/fixtures.py +171 -23
  122. {pytest-8.3.5 → pytest-8.4.0}/testing/python/integration.py +17 -0
  123. {pytest-8.3.5 → pytest-8.4.0}/testing/python/metafunc.py +173 -15
  124. {pytest-8.3.5 → pytest-8.4.0}/testing/python/raises.py +87 -16
  125. pytest-8.4.0/testing/python/raises_group.py +1348 -0
  126. {pytest-8.3.5 → pytest-8.4.0}/testing/test_assertion.py +117 -13
  127. {pytest-8.3.5 → pytest-8.4.0}/testing/test_assertrewrite.py +36 -7
  128. {pytest-8.3.5 → pytest-8.4.0}/testing/test_cacheprovider.py +4 -4
  129. {pytest-8.3.5 → pytest-8.4.0}/testing/test_capture.py +33 -1
  130. pytest-8.4.0/testing/test_collect_imported_tests.py +102 -0
  131. {pytest-8.3.5 → pytest-8.4.0}/testing/test_collection.py +19 -2
  132. {pytest-8.3.5 → pytest-8.4.0}/testing/test_compat.py +8 -82
  133. {pytest-8.3.5 → pytest-8.4.0}/testing/test_config.py +157 -14
  134. {pytest-8.3.5 → pytest-8.4.0}/testing/test_conftest.py +5 -6
  135. {pytest-8.3.5 → pytest-8.4.0}/testing/test_debugging.py +110 -1
  136. {pytest-8.3.5 → pytest-8.4.0}/testing/test_doctest.py +2 -2
  137. {pytest-8.3.5 → pytest-8.4.0}/testing/test_helpconfig.py +2 -0
  138. {pytest-8.3.5 → pytest-8.4.0}/testing/test_junitxml.py +277 -219
  139. {pytest-8.3.5 → pytest-8.4.0}/testing/test_mark.py +66 -1
  140. {pytest-8.3.5 → pytest-8.4.0}/testing/test_mark_expression.py +1 -1
  141. {pytest-8.3.5 → pytest-8.4.0}/testing/test_monkeypatch.py +7 -1
  142. {pytest-8.3.5 → pytest-8.4.0}/testing/test_nodes.py +4 -14
  143. {pytest-8.3.5 → pytest-8.4.0}/testing/test_parseopt.py +1 -1
  144. {pytest-8.3.5 → pytest-8.4.0}/testing/test_pastebin.py +27 -20
  145. {pytest-8.3.5 → pytest-8.4.0}/testing/test_pathlib.py +3 -3
  146. {pytest-8.3.5 → pytest-8.4.0}/testing/test_pytester.py +4 -5
  147. {pytest-8.3.5 → pytest-8.4.0}/testing/test_python_path.py +25 -8
  148. {pytest-8.3.5 → pytest-8.4.0}/testing/test_reports.py +1 -1
  149. {pytest-8.3.5 → pytest-8.4.0}/testing/test_runner.py +2 -2
  150. {pytest-8.3.5 → pytest-8.4.0}/testing/test_skipping.py +11 -13
  151. {pytest-8.3.5 → pytest-8.4.0}/testing/test_stepwise.py +188 -3
  152. {pytest-8.3.5 → pytest-8.4.0}/testing/test_terminal.py +139 -8
  153. {pytest-8.3.5 → pytest-8.4.0}/testing/test_threadexception.py +126 -4
  154. {pytest-8.3.5 → pytest-8.4.0}/testing/test_tmpdir.py +1 -1
  155. pytest-8.4.0/testing/test_unraisableexception.py +400 -0
  156. {pytest-8.3.5 → pytest-8.4.0}/testing/test_warning_types.py +1 -1
  157. {pytest-8.3.5 → pytest-8.4.0}/testing/test_warnings.py +23 -0
  158. {pytest-8.3.5 → pytest-8.4.0}/testing/typing_checks.py +8 -0
  159. pytest-8.4.0/testing/typing_raises_group.py +247 -0
  160. {pytest-8.3.5 → pytest-8.4.0}/tox.ini +6 -9
  161. pytest-8.3.5/CITATION +0 -16
  162. pytest-8.3.5/src/_pytest/python_path.py +0 -26
  163. pytest-8.3.5/src/_pytest/stepwise.py +0 -125
  164. pytest-8.3.5/src/_pytest/threadexception.py +0 -97
  165. pytest-8.3.5/src/_pytest/timing.py +0 -16
  166. pytest-8.3.5/src/_pytest/unraisableexception.py +0 -100
  167. pytest-8.3.5/testing/plugins_integration/requirements.txt +0 -15
  168. pytest-8.3.5/testing/test_unraisableexception.py +0 -138
  169. {pytest-8.3.5 → pytest-8.4.0}/.gitattributes +0 -0
  170. {pytest-8.3.5 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  171. {pytest-8.3.5 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  172. {pytest-8.3.5 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  173. {pytest-8.3.5 → pytest-8.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  174. {pytest-8.3.5 → pytest-8.4.0}/.github/chronographer.yml +0 -0
  175. {pytest-8.3.5 → pytest-8.4.0}/.github/config.yml +0 -0
  176. {pytest-8.3.5 → pytest-8.4.0}/.github/dependabot.yml +0 -0
  177. {pytest-8.3.5 → pytest-8.4.0}/.github/labels.toml +0 -0
  178. {pytest-8.3.5 → pytest-8.4.0}/.github/patchback.yml +0 -0
  179. {pytest-8.3.5 → pytest-8.4.0}/.github/workflows/stale.yml +0 -0
  180. {pytest-8.3.5 → pytest-8.4.0}/.gitignore +0 -0
  181. {pytest-8.3.5 → pytest-8.4.0}/.readthedocs.yaml +0 -0
  182. {pytest-8.3.5 → pytest-8.4.0}/CHANGELOG.rst +0 -0
  183. {pytest-8.3.5 → pytest-8.4.0}/CODE_OF_CONDUCT.md +0 -0
  184. {pytest-8.3.5 → pytest-8.4.0}/LICENSE +0 -0
  185. {pytest-8.3.5 → pytest-8.4.0}/OPENCOLLECTIVE.rst +0 -0
  186. {pytest-8.3.5 → pytest-8.4.0}/TIDELIFT.rst +0 -0
  187. {pytest-8.3.5 → pytest-8.4.0}/bench/bench.py +0 -0
  188. {pytest-8.3.5 → pytest-8.4.0}/bench/bench_argcomplete.py +0 -0
  189. {pytest-8.3.5 → pytest-8.4.0}/bench/manyparam.py +0 -0
  190. {pytest-8.3.5 → pytest-8.4.0}/bench/skip.py +0 -0
  191. {pytest-8.3.5 → pytest-8.4.0}/bench/unit_test.py +0 -0
  192. {pytest-8.3.5 → pytest-8.4.0}/bench/xunit.py +0 -0
  193. {pytest-8.3.5 → pytest-8.4.0}/changelog/.gitignore +0 -0
  194. {pytest-8.3.5 → pytest-8.4.0}/changelog/README.rst +0 -0
  195. {pytest-8.3.5 → pytest-8.4.0}/changelog/_template.rst +0 -0
  196. {pytest-8.3.5 → pytest-8.4.0}/doc/en/Makefile +0 -0
  197. {pytest-8.3.5 → pytest-8.4.0}/doc/en/_static/pytest-custom.css +0 -0
  198. {pytest-8.3.5 → pytest-8.4.0}/doc/en/_static/pytest1.png +0 -0
  199. {pytest-8.3.5 → pytest-8.4.0}/doc/en/_templates/links.html +0 -0
  200. {pytest-8.3.5 → pytest-8.4.0}/doc/en/adopt.rst +0 -0
  201. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.0.0.rst +0 -0
  202. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.0.1.rst +0 -0
  203. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.0.2.rst +0 -0
  204. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.0.3.rst +0 -0
  205. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.1.0.rst +0 -0
  206. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.1.1.rst +0 -0
  207. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.1.2.rst +0 -0
  208. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.1.3.rst +0 -0
  209. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.2.0.rst +0 -0
  210. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.2.1.rst +0 -0
  211. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.2.2.rst +0 -0
  212. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.2.4.rst +0 -0
  213. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.0.rst +0 -0
  214. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.1.rst +0 -0
  215. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.2.rst +0 -0
  216. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.3.rst +0 -0
  217. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.4.rst +0 -0
  218. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.3.5.rst +0 -0
  219. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.4.0.rst +0 -0
  220. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.4.1.rst +0 -0
  221. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.4.2.rst +0 -0
  222. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.5.0.rst +0 -0
  223. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.5.1.rst +0 -0
  224. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.5.2.rst +0 -0
  225. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.6.0.rst +0 -0
  226. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.6.1.rst +0 -0
  227. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.6.2.rst +0 -0
  228. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.6.3.rst +0 -0
  229. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.7.0.rst +0 -0
  230. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.7.1.rst +0 -0
  231. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.7.2.rst +0 -0
  232. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.2.rst +0 -0
  233. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.3.rst +0 -0
  234. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.4.rst +0 -0
  235. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.5.rst +0 -0
  236. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.6.rst +0 -0
  237. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.8.7.rst +0 -0
  238. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.9.0.rst +0 -0
  239. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.9.1.rst +0 -0
  240. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-2.9.2.rst +0 -0
  241. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.0.rst +0 -0
  242. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.1.rst +0 -0
  243. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.2.rst +0 -0
  244. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.3.rst +0 -0
  245. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.4.rst +0 -0
  246. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.5.rst +0 -0
  247. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.6.rst +0 -0
  248. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.0.7.rst +0 -0
  249. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.1.0.rst +0 -0
  250. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.1.1.rst +0 -0
  251. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.1.2.rst +0 -0
  252. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.1.3.rst +0 -0
  253. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.10.0.rst +0 -0
  254. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.10.1.rst +0 -0
  255. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.0.rst +0 -0
  256. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.1.rst +0 -0
  257. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.2.rst +0 -0
  258. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.3.rst +0 -0
  259. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.4.rst +0 -0
  260. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.2.5.rst +0 -0
  261. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.3.0.rst +0 -0
  262. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.3.1.rst +0 -0
  263. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.3.2.rst +0 -0
  264. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.4.0.rst +0 -0
  265. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.4.1.rst +0 -0
  266. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.4.2.rst +0 -0
  267. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.5.0.rst +0 -0
  268. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.5.1.rst +0 -0
  269. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.6.0.rst +0 -0
  270. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.6.1.rst +0 -0
  271. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.6.2.rst +0 -0
  272. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.6.3.rst +0 -0
  273. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.6.4.rst +0 -0
  274. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.7.0.rst +0 -0
  275. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.7.1.rst +0 -0
  276. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.7.2.rst +0 -0
  277. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.7.3.rst +0 -0
  278. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.7.4.rst +0 -0
  279. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.8.0.rst +0 -0
  280. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.8.1.rst +0 -0
  281. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.8.2.rst +0 -0
  282. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.9.0.rst +0 -0
  283. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.9.1.rst +0 -0
  284. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.9.2.rst +0 -0
  285. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-3.9.3.rst +0 -0
  286. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.0.0.rst +0 -0
  287. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.0.1.rst +0 -0
  288. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.0.2.rst +0 -0
  289. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.1.0.rst +0 -0
  290. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.1.1.rst +0 -0
  291. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.2.0.rst +0 -0
  292. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.2.1.rst +0 -0
  293. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.3.0.rst +0 -0
  294. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.3.1.rst +0 -0
  295. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.4.0.rst +0 -0
  296. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.4.1.rst +0 -0
  297. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.4.2.rst +0 -0
  298. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.5.0.rst +0 -0
  299. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.0.rst +0 -0
  300. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.1.rst +0 -0
  301. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.2.rst +0 -0
  302. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.3.rst +0 -0
  303. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.4.rst +0 -0
  304. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.5.rst +0 -0
  305. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.6.rst +0 -0
  306. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.7.rst +0 -0
  307. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.8.rst +0 -0
  308. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-4.6.9.rst +0 -0
  309. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.0.0.rst +0 -0
  310. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.0.1.rst +0 -0
  311. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.1.0.rst +0 -0
  312. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.1.1.rst +0 -0
  313. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.1.2.rst +0 -0
  314. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.1.3.rst +0 -0
  315. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.2.0.rst +0 -0
  316. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.2.1.rst +0 -0
  317. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.2.2.rst +0 -0
  318. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.2.3.rst +0 -0
  319. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.2.4.rst +0 -0
  320. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.0.rst +0 -0
  321. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.1.rst +0 -0
  322. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.2.rst +0 -0
  323. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.3.rst +0 -0
  324. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.4.rst +0 -0
  325. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.3.5.rst +0 -0
  326. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.4.0.rst +0 -0
  327. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.4.1.rst +0 -0
  328. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.4.2.rst +0 -0
  329. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-5.4.3.rst +0 -0
  330. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.0.0.rst +0 -0
  331. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  332. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.0.1.rst +0 -0
  333. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.0.2.rst +0 -0
  334. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.1.0.rst +0 -0
  335. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.1.1.rst +0 -0
  336. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.1.2.rst +0 -0
  337. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.0.rst +0 -0
  338. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.1.rst +0 -0
  339. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.2.rst +0 -0
  340. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.3.rst +0 -0
  341. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.4.rst +0 -0
  342. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-6.2.5.rst +0 -0
  343. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.0.0.rst +0 -0
  344. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  345. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.0.1.rst +0 -0
  346. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.1.0.rst +0 -0
  347. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.1.1.rst +0 -0
  348. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.1.2.rst +0 -0
  349. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.1.3.rst +0 -0
  350. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.2.0.rst +0 -0
  351. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.2.1.rst +0 -0
  352. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.2.2.rst +0 -0
  353. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.3.0.rst +0 -0
  354. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.3.1.rst +0 -0
  355. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.3.2.rst +0 -0
  356. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.4.0.rst +0 -0
  357. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.4.1.rst +0 -0
  358. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.4.2.rst +0 -0
  359. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.4.3.rst +0 -0
  360. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-7.4.4.rst +0 -0
  361. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.0.0.rst +0 -0
  362. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.0.0rc1.rst +0 -0
  363. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.0.0rc2.rst +0 -0
  364. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.0.1.rst +0 -0
  365. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.0.2.rst +0 -0
  366. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.1.0.rst +0 -0
  367. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.1.1.rst +0 -0
  368. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.1.2.rst +0 -0
  369. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.2.0.rst +0 -0
  370. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.2.1.rst +0 -0
  371. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.2.2.rst +0 -0
  372. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.0.rst +0 -0
  373. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.1.rst +0 -0
  374. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.2.rst +0 -0
  375. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.3.rst +0 -0
  376. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.4.rst +0 -0
  377. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/release-8.3.5.rst +0 -0
  378. {pytest-8.3.5 → pytest-8.4.0}/doc/en/announce/sprint2016.rst +0 -0
  379. {pytest-8.3.5 → pytest-8.4.0}/doc/en/broken-dep-constraints.txt +0 -0
  380. {pytest-8.3.5 → pytest-8.4.0}/doc/en/conftest.py +0 -0
  381. {pytest-8.3.5 → pytest-8.4.0}/doc/en/contents.rst +0 -0
  382. {pytest-8.3.5 → pytest-8.4.0}/doc/en/contributing.rst +0 -0
  383. {pytest-8.3.5 → pytest-8.4.0}/doc/en/development_guide.rst +0 -0
  384. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  385. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  386. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/assertion/test_failures.py +0 -0
  387. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  388. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/attic.rst +0 -0
  389. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/conftest.py +0 -0
  390. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/conftest.py +0 -0
  391. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/pytest.ini +0 -0
  392. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/tests/manifest.json +0 -0
  393. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_first.py +0 -0
  394. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_second.py +0 -0
  395. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_third.py +0 -0
  396. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/customdirectory.rst +0 -0
  397. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  398. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  399. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  400. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  401. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  402. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  403. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  404. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  405. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  406. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  407. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  408. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  409. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  410. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  411. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  412. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  413. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  414. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/index.rst +0 -0
  415. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/markers.rst +0 -0
  416. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/multipython.py +0 -0
  417. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/nonpython/__init__.py +0 -0
  418. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/nonpython/conftest.py +0 -0
  419. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/nonpython/test_simple.yaml +0 -0
  420. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/nonpython.rst +0 -0
  421. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/pythoncollection.py +0 -0
  422. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/special.rst +0 -0
  423. {pytest-8.3.5 → pytest-8.4.0}/doc/en/example/xfail_demo.py +0 -0
  424. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/anatomy.rst +0 -0
  425. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/ci.rst +0 -0
  426. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/fixtures.rst +0 -0
  427. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/flaky.rst +0 -0
  428. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/goodpractices.rst +0 -0
  429. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/index.rst +0 -0
  430. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/pythonpath.rst +0 -0
  431. {pytest-8.3.5 → pytest-8.4.0}/doc/en/explanation/types.rst +0 -0
  432. {pytest-8.3.5 → pytest-8.4.0}/doc/en/funcarg_compare.rst +0 -0
  433. {pytest-8.3.5 → pytest-8.4.0}/doc/en/funcargs.rst +0 -0
  434. {pytest-8.3.5 → pytest-8.4.0}/doc/en/historical-notes.rst +0 -0
  435. {pytest-8.3.5 → pytest-8.4.0}/doc/en/history.rst +0 -0
  436. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/bash-completion.rst +0 -0
  437. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/doctest.rst +0 -0
  438. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/existingtestsuite.rst +0 -0
  439. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/failures.rst +0 -0
  440. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/index.rst +0 -0
  441. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/logging.rst +0 -0
  442. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/mark.rst +0 -0
  443. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/monkeypatch.rst +0 -0
  444. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/skipping.rst +0 -0
  445. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/tmp_path.rst +0 -0
  446. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/usage.rst +0 -0
  447. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/writing_hook_functions.rst +0 -0
  448. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/writing_plugins.rst +0 -0
  449. {pytest-8.3.5 → pytest-8.4.0}/doc/en/how-to/xunit_setup.rst +0 -0
  450. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/cramer2.png +0 -0
  451. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/favicon.png +0 -0
  452. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/freiburg2.jpg +0 -0
  453. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/gaynor3.png +0 -0
  454. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/keleshev.png +0 -0
  455. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/pullrequest.png +0 -0
  456. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/pylib.png +0 -0
  457. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/pytest_logo_curves.svg +0 -0
  458. {pytest-8.3.5 → pytest-8.4.0}/doc/en/img/theuni.png +0 -0
  459. {pytest-8.3.5 → pytest-8.4.0}/doc/en/license.rst +0 -0
  460. {pytest-8.3.5 → pytest-8.4.0}/doc/en/naming20.rst +0 -0
  461. {pytest-8.3.5 → pytest-8.4.0}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  462. {pytest-8.3.5 → pytest-8.4.0}/doc/en/pytest.ini +0 -0
  463. {pytest-8.3.5 → pytest-8.4.0}/doc/en/recwarn.rst +0 -0
  464. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/customize.rst +0 -0
  465. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/exit-codes.rst +0 -0
  466. {pytest-8.3.5 → pytest-8.4.0}/doc/en/reference/index.rst +0 -0
  467. {pytest-8.3.5 → pytest-8.4.0}/doc/en/requirements.txt +0 -0
  468. {pytest-8.3.5 → pytest-8.4.0}/doc/en/sponsor.rst +0 -0
  469. {pytest-8.3.5 → pytest-8.4.0}/doc/en/talks.rst +0 -0
  470. {pytest-8.3.5 → pytest-8.4.0}/doc/en/tidelift.rst +0 -0
  471. {pytest-8.3.5 → pytest-8.4.0}/doc/en/yieldfixture.rst +0 -0
  472. {pytest-8.3.5 → pytest-8.4.0}/extra/get_issues.py +0 -0
  473. {pytest-8.3.5 → pytest-8.4.0}/scripts/.gitignore +0 -0
  474. {pytest-8.3.5 → pytest-8.4.0}/scripts/release.major.rst +0 -0
  475. {pytest-8.3.5 → pytest-8.4.0}/scripts/release.minor.rst +0 -0
  476. {pytest-8.3.5 → pytest-8.4.0}/scripts/release.patch.rst +0 -0
  477. {pytest-8.3.5 → pytest-8.4.0}/scripts/release.pre.rst +0 -0
  478. {pytest-8.3.5 → pytest-8.4.0}/setup.cfg +0 -0
  479. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/__init__.py +0 -0
  480. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_argcomplete.py +0 -0
  481. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_code/__init__.py +4 -4
  482. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_io/__init__.py +0 -0
  483. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_io/saferepr.py +0 -0
  484. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_io/wcwidth.py +0 -0
  485. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/_py/__init__.py +0 -0
  486. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/config/exceptions.py +0 -0
  487. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/deprecated.py +0 -0
  488. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/legacypath.py +0 -0
  489. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/py.typed +0 -0
  490. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/setupplan.py +0 -0
  491. {pytest-8.3.5 → pytest-8.4.0}/src/_pytest/stash.py +0 -0
  492. {pytest-8.3.5 → pytest-8.4.0}/src/py.py +0 -0
  493. {pytest-8.3.5 → pytest-8.4.0}/src/pytest/__main__.py +0 -0
  494. {pytest-8.3.5 → pytest-8.4.0}/src/pytest/py.typed +0 -0
  495. {pytest-8.3.5 → pytest-8.4.0}/src/pytest.egg-info/dependency_links.txt +0 -0
  496. {pytest-8.3.5 → pytest-8.4.0}/src/pytest.egg-info/entry_points.txt +0 -0
  497. {pytest-8.3.5 → pytest-8.4.0}/src/pytest.egg-info/top_level.txt +0 -0
  498. {pytest-8.3.5 → pytest-8.4.0}/testing/code/test_code.py +0 -0
  499. {pytest-8.3.5 → pytest-8.4.0}/testing/deprecated_test.py +0 -0
  500. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/README.rst +0 -0
  501. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/__init__.py +0 -0
  502. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
  503. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  504. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  505. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  506. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  507. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  508. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  509. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  510. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  511. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  512. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  513. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  514. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  515. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  516. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  517. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/conftest.py +0 -0
  518. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/pytest.ini +0 -0
  519. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
  520. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
  521. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
  522. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
  523. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  524. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  525. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  526. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  527. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  528. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  529. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  530. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  531. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  532. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  533. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  534. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  535. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
  536. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
  537. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
  538. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
  539. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
  540. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
  541. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  542. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  543. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  544. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  545. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  546. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
  547. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  548. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  549. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
  550. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  551. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  552. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  553. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  554. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  555. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  556. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  557. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  558. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  559. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  560. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/issue_519.py +2 -2
  561. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/junit-10.xsd +0 -0
  562. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  563. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  564. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  565. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  566. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  567. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  568. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/pytest.ini +0 -0
  569. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  570. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  571. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
  572. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
  573. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
  574. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  575. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
  576. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  577. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  578. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  579. {pytest-8.3.5 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  580. {pytest-8.3.5 → pytest-8.4.0}/testing/examples/test_issue519.py +0 -0
  581. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/.gitignore +0 -0
  582. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/create_executable.py +0 -0
  583. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/runtests_script.py +0 -0
  584. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/tests/test_doctest.txt +0 -0
  585. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/tests/test_trivial.py +0 -0
  586. {pytest-8.3.5 → pytest-8.4.0}/testing/freeze/tox_run.py +0 -0
  587. {pytest-8.3.5 → pytest-8.4.0}/testing/io/test_pprint.py +0 -0
  588. {pytest-8.3.5 → pytest-8.4.0}/testing/io/test_saferepr.py +0 -0
  589. {pytest-8.3.5 → pytest-8.4.0}/testing/io/test_wcwidth.py +0 -0
  590. {pytest-8.3.5 → pytest-8.4.0}/testing/logging/test_formatter.py +0 -0
  591. {pytest-8.3.5 → pytest-8.4.0}/testing/logging/test_reporting.py +0 -0
  592. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/.gitignore +0 -0
  593. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/README.rst +0 -0
  594. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/bdd_wallet.feature +0 -0
  595. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/bdd_wallet.py +0 -0
  596. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/django_settings.py +0 -0
  597. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  598. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  599. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  600. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
  601. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  602. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  603. {pytest-8.3.5 → pytest-8.4.0}/testing/plugins_integration/simple_integration.py +0 -0
  604. {pytest-8.3.5 → pytest-8.4.0}/testing/python/collect.py +0 -0
  605. {pytest-8.3.5 → pytest-8.4.0}/testing/python/show_fixtures_per_test.py +0 -0
  606. {pytest-8.3.5 → pytest-8.4.0}/testing/test_argcomplete.py +0 -0
  607. {pytest-8.3.5 → pytest-8.4.0}/testing/test_entry_points.py +0 -0
  608. {pytest-8.3.5 → pytest-8.4.0}/testing/test_error_diffs.py +0 -0
  609. {pytest-8.3.5 → pytest-8.4.0}/testing/test_faulthandler.py +0 -0
  610. {pytest-8.3.5 → pytest-8.4.0}/testing/test_findpaths.py +0 -0
  611. {pytest-8.3.5 → pytest-8.4.0}/testing/test_legacypath.py +0 -0
  612. {pytest-8.3.5 → pytest-8.4.0}/testing/test_link_resolve.py +0 -0
  613. {pytest-8.3.5 → pytest-8.4.0}/testing/test_main.py +0 -0
  614. {pytest-8.3.5 → pytest-8.4.0}/testing/test_meta.py +0 -0
  615. {pytest-8.3.5 → pytest-8.4.0}/testing/test_pluginmanager.py +0 -0
  616. {pytest-8.3.5 → pytest-8.4.0}/testing/test_recwarn.py +0 -0
  617. {pytest-8.3.5 → pytest-8.4.0}/testing/test_runner_xunit.py +0 -0
  618. {pytest-8.3.5 → pytest-8.4.0}/testing/test_scope.py +0 -0
  619. {pytest-8.3.5 → pytest-8.4.0}/testing/test_session.py +0 -0
  620. {pytest-8.3.5 → pytest-8.4.0}/testing/test_setuponly.py +0 -0
  621. {pytest-8.3.5 → pytest-8.4.0}/testing/test_setupplan.py +0 -0
  622. {pytest-8.3.5 → pytest-8.4.0}/testing/test_stash.py +0 -0
  623. {pytest-8.3.5 → pytest-8.4.0}/testing/test_unittest.py +0 -0
@@ -29,5 +29,6 @@ exclude_lines =
29
29
 
30
30
  ^\s*if TYPE_CHECKING:
31
31
  ^\s*@overload( |$)
32
+ ^\s*def .+: \.\.\.$
32
33
 
33
34
  ^\s*@pytest\.mark\.xfail
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # To "install" it:
7
7
  #
8
- # git config --local blame.ignoreRevsFile .gitblameignore
8
+ # git config --local blame.ignoreRevsFile .git-blame-ignore-revs
9
9
 
10
10
  # run black
11
11
  703e4b11ba76171eccd3f13e723c47b810ded7ef
@@ -1,5 +1,7 @@
1
1
  # info:
2
2
  # * https://help.github.com/en/articles/displaying-a-sponsor-button-in-your-repository
3
3
  # * https://tidelift.com/subscription/how-to-connect-tidelift-with-github
4
+ github: pytest-dev
4
5
  tidelift: pypi/pytest
5
6
  open_collective: pytest
7
+ thanks_dev: u/gh/pytest-dev
@@ -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.12.0
34
+ uses: hynek/build-and-inspect-python-package@b5076c307dc91924a82ad150cdd1533b444d3310
35
35
  with:
36
36
  attest-build-provenance-github: 'true'
37
37
 
@@ -56,7 +56,7 @@ jobs:
56
56
  path: dist
57
57
 
58
58
  - name: Publish package to PyPI
59
- uses: pypa/gh-action-pypi-publish@v1.12.3
59
+ uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc
60
60
  with:
61
61
  attestations: true
62
62
 
@@ -109,7 +109,7 @@ jobs:
109
109
  tox -e generate-gh-release-notes -- "$VERSION" scripts/latest-release-notes.md
110
110
 
111
111
  - name: Publish GitHub Release
112
- uses: softprops/action-gh-release@v2
112
+ uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631
113
113
  with:
114
114
  body_path: scripts/latest-release-notes.md
115
115
  files: dist/*
@@ -30,12 +30,13 @@ jobs:
30
30
  - uses: actions/checkout@v4
31
31
  with:
32
32
  fetch-depth: 0
33
- persist-credentials: false
33
+ # persist-credentials is needed in order for us to push the release branch.
34
+ persist-credentials: true
34
35
 
35
36
  - name: Set up Python
36
37
  uses: actions/setup-python@v5
37
38
  with:
38
- python-version: "3.8"
39
+ python-version: "3.x"
39
40
 
40
41
  - name: Install dependencies
41
42
  run: |
@@ -47,13 +48,15 @@ jobs:
47
48
  env:
48
49
  BRANCH: ${{ github.event.inputs.branch }}
49
50
  PRERELEASE: ${{ github.event.inputs.prerelease }}
51
+ GH_TOKEN: ${{ github.token }}
50
52
  run: |
51
- tox -e prepare-release-pr -- "$BRANCH" ${{ github.token }} --prerelease="$PRERELEASE"
53
+ tox -e prepare-release-pr -- "$BRANCH" --prerelease="$PRERELEASE"
52
54
 
53
55
  - name: Prepare release PR (major release)
54
56
  if: github.event.inputs.major == 'yes'
55
57
  env:
56
58
  BRANCH: ${{ github.event.inputs.branch }}
57
59
  PRERELEASE: ${{ github.event.inputs.prerelease }}
60
+ GH_TOKEN: ${{ github.token }}
58
61
  run: |
59
- tox -e prepare-release-pr -- "$BRANCH" ${{ github.token }} --major --prerelease="$PRERELEASE"
62
+ tox -e prepare-release-pr -- "$BRANCH" --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.12.0
43
+ uses: hynek/build-and-inspect-python-package@b5076c307dc91924a82ad150cdd1533b444d3310
44
44
 
45
45
  build:
46
46
  needs: [package]
@@ -54,135 +54,168 @@ jobs:
54
54
  fail-fast: false
55
55
  matrix:
56
56
  name: [
57
- "windows-py38",
57
+ "windows-py39-unittestextras",
58
58
  "windows-py39-pluggy",
59
- "windows-py39",
59
+ "windows-py39-xdist",
60
60
  "windows-py310",
61
61
  "windows-py311",
62
62
  "windows-py312",
63
63
  "windows-py313",
64
+ "windows-py314",
64
65
 
65
- "ubuntu-py38",
66
+ "ubuntu-py39-lsof-numpy-pexpect",
66
67
  "ubuntu-py39-pluggy",
67
- "ubuntu-py38-freeze",
68
- "ubuntu-py39",
69
- "ubuntu-py310",
68
+ "ubuntu-py39-freeze",
69
+ "ubuntu-py39-xdist",
70
+ "ubuntu-py310-xdist",
70
71
  "ubuntu-py311",
71
72
  "ubuntu-py312",
72
- "ubuntu-py313",
73
- "ubuntu-pypy3",
73
+ "ubuntu-py313-pexpect",
74
+ "ubuntu-py314",
75
+ "ubuntu-pypy3-xdist",
74
76
 
75
- "macos-py38",
76
77
  "macos-py39",
77
78
  "macos-py310",
78
79
  "macos-py312",
79
80
  "macos-py313",
81
+ "macos-py314",
80
82
 
81
83
  "doctesting",
82
84
  "plugins",
83
85
  ]
84
86
 
85
87
  include:
86
- - name: "windows-py38"
87
- python: "3.8"
88
+ - name: "windows-py39-unittestextras"
89
+ python: "3.9"
88
90
  os: windows-latest
89
- tox_env: "py38-unittestextras"
91
+ tox_env: "py39-unittestextras"
90
92
  use_coverage: true
93
+
91
94
  - name: "windows-py39-pluggy"
92
95
  python: "3.9"
93
96
  os: windows-latest
94
97
  tox_env: "py39-pluggymain-pylib-xdist"
95
- - name: "windows-py39"
98
+
99
+ - name: "windows-py39-xdist"
96
100
  python: "3.9"
97
101
  os: windows-latest
98
102
  tox_env: "py39-xdist"
103
+
99
104
  - name: "windows-py310"
100
105
  python: "3.10"
101
106
  os: windows-latest
102
107
  tox_env: "py310-xdist"
108
+
103
109
  - name: "windows-py311"
104
110
  python: "3.11"
105
111
  os: windows-latest
106
112
  tox_env: "py311"
113
+
107
114
  - name: "windows-py312"
108
115
  python: "3.12"
109
116
  os: windows-latest
110
117
  tox_env: "py312"
118
+
111
119
  - name: "windows-py313"
112
- python: "3.13-dev"
120
+ python: "3.13"
113
121
  os: windows-latest
114
122
  tox_env: "py313"
115
123
 
116
- - name: "ubuntu-py38"
117
- python: "3.8"
124
+ - name: "windows-py314"
125
+ python: "3.14"
126
+ os: windows-latest
127
+ tox_env: "py314"
128
+
129
+ - name: "ubuntu-py39-lsof-numpy-pexpect"
130
+ python: "3.9"
118
131
  os: ubuntu-latest
119
- tox_env: "py38-lsof-numpy-pexpect"
132
+ tox_env: "py39-lsof-numpy-pexpect"
120
133
  use_coverage: true
134
+
121
135
  - name: "ubuntu-py39-pluggy"
122
136
  python: "3.9"
123
137
  os: ubuntu-latest
124
138
  tox_env: "py39-pluggymain-pylib-xdist"
125
- - name: "ubuntu-py38-freeze"
126
- python: "3.8"
139
+
140
+ - name: "ubuntu-py39-freeze"
141
+ python: "3.9"
127
142
  os: ubuntu-latest
128
- tox_env: "py38-freeze"
129
- - name: "ubuntu-py39"
143
+ tox_env: "py39-freeze"
144
+
145
+ - name: "ubuntu-py39-xdist"
130
146
  python: "3.9"
131
147
  os: ubuntu-latest
132
148
  tox_env: "py39-xdist"
133
- - name: "ubuntu-py310"
149
+
150
+ - name: "ubuntu-py310-xdist"
134
151
  python: "3.10"
135
152
  os: ubuntu-latest
136
153
  tox_env: "py310-xdist"
154
+
137
155
  - name: "ubuntu-py311"
138
156
  python: "3.11"
139
157
  os: ubuntu-latest
140
158
  tox_env: "py311"
141
159
  use_coverage: true
160
+
142
161
  - name: "ubuntu-py312"
143
162
  python: "3.12"
144
163
  os: ubuntu-latest
145
164
  tox_env: "py312"
146
165
  use_coverage: true
147
- - name: "ubuntu-py313"
148
- python: "3.13-dev"
166
+
167
+ - name: "ubuntu-py313-pexpect"
168
+ python: "3.13"
149
169
  os: ubuntu-latest
150
170
  tox_env: "py313-pexpect"
151
171
  use_coverage: true
152
- - name: "ubuntu-pypy3"
172
+
173
+ - name: "ubuntu-py314"
174
+ python: "3.14"
175
+ os: ubuntu-latest
176
+ tox_env: "py314"
177
+ use_coverage: true
178
+
179
+ - name: "ubuntu-pypy3-xdist"
153
180
  python: "pypy-3.9"
154
181
  os: ubuntu-latest
155
182
  tox_env: "pypy3-xdist"
156
183
 
157
- - name: "macos-py38"
158
- python: "3.8"
159
- os: macos-latest
160
- tox_env: "py38-xdist"
184
+
161
185
  - name: "macos-py39"
162
186
  python: "3.9"
163
187
  os: macos-latest
164
188
  tox_env: "py39-xdist"
165
189
  use_coverage: true
190
+
166
191
  - name: "macos-py310"
167
192
  python: "3.10"
168
193
  os: macos-latest
169
194
  tox_env: "py310-xdist"
195
+
170
196
  - name: "macos-py312"
171
197
  python: "3.12"
172
198
  os: macos-latest
173
199
  tox_env: "py312-xdist"
200
+
174
201
  - name: "macos-py313"
175
- python: "3.13-dev"
202
+ python: "3.13"
176
203
  os: macos-latest
177
204
  tox_env: "py313-xdist"
178
205
 
206
+ - name: "macos-py314"
207
+ python: "3.14"
208
+ os: macos-latest
209
+ tox_env: "py314-xdist"
210
+
179
211
  - name: "plugins"
180
212
  python: "3.12"
181
213
  os: ubuntu-latest
182
214
  tox_env: "plugins"
183
215
 
216
+
184
217
  - name: "doctesting"
185
- python: "3.8"
218
+ python: "3.9"
186
219
  os: ubuntu-latest
187
220
  tox_env: "doctesting"
188
221
  use_coverage: true
@@ -195,9 +228,9 @@ jobs:
195
228
  "windows-py39-pluggy",
196
229
  "windows-py313",
197
230
  "ubuntu-py39-pluggy",
198
- "ubuntu-py38-freeze",
231
+ "ubuntu-py39-freeze",
199
232
  "ubuntu-py313",
200
- "macos-py38",
233
+ "macos-py39",
201
234
  "macos-py313"
202
235
  ]'
203
236
  ),
@@ -223,7 +256,8 @@ jobs:
223
256
  uses: actions/setup-python@v5
224
257
  with:
225
258
  python-version: ${{ matrix.python }}
226
- check-latest: ${{ endsWith(matrix.python, '-dev') }}
259
+ check-latest: true
260
+ allow-prereleases: true
227
261
 
228
262
  - name: Install dependencies
229
263
  run: |
@@ -246,7 +280,7 @@ jobs:
246
280
 
247
281
  - name: Upload coverage to Codecov
248
282
  if: "matrix.use_coverage"
249
- uses: codecov/codecov-action@v4
283
+ uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24
250
284
  with:
251
285
  fail_ci_if_error: false
252
286
  files: ./coverage.xml
@@ -48,7 +48,7 @@ jobs:
48
48
 
49
49
  - name: Create Pull Request
50
50
  id: pr
51
- uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
51
+ uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
52
52
  with:
53
53
  commit-message: '[automated] Update plugin list'
54
54
  author: 'pytest bot <pytestbot@users.noreply.github.com>'
@@ -1,27 +1,27 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
- rev: "v0.6.2"
3
+ rev: "v0.11.11"
4
4
  hooks:
5
5
  - id: ruff
6
6
  args: ["--fix"]
7
7
  - id: ruff-format
8
8
  - repo: https://github.com/pre-commit/pre-commit-hooks
9
- rev: v4.6.0
9
+ rev: v5.0.0
10
10
  hooks:
11
11
  - id: trailing-whitespace
12
12
  - id: end-of-file-fixer
13
13
  - id: check-yaml
14
14
  - repo: https://github.com/woodruffw/zizmor-pre-commit
15
- rev: v0.9.2
15
+ rev: v1.8.0
16
16
  hooks:
17
17
  - id: zizmor
18
18
  - repo: https://github.com/adamchainz/blacken-docs
19
- rev: 1.18.0
19
+ rev: 1.19.1
20
20
  hooks:
21
21
  - id: blacken-docs
22
22
  additional_dependencies: [black==24.1.1]
23
23
  - repo: https://github.com/codespell-project/codespell
24
- rev: v2.3.0
24
+ rev: v2.4.1
25
25
  hooks:
26
26
  - id: codespell
27
27
  args: ["--toml=pyproject.toml"]
@@ -32,7 +32,7 @@ repos:
32
32
  hooks:
33
33
  - id: python-use-type-annotations
34
34
  - repo: https://github.com/pre-commit/mirrors-mypy
35
- rev: v1.11.2
35
+ rev: v1.15.0
36
36
  hooks:
37
37
  - id: mypy
38
38
  files: ^(src/|testing/|scripts/)
@@ -47,16 +47,38 @@ repos:
47
47
  # for mypy running on python>=3.11 since exceptiongroup is only a dependency
48
48
  # on <3.11
49
49
  - exceptiongroup>=1.0.0rc8
50
+ - repo: https://github.com/RobertCraigie/pyright-python
51
+ rev: v1.1.401
52
+ hooks:
53
+ - id: pyright
54
+ files: ^(src/|scripts/)
55
+ additional_dependencies:
56
+ - iniconfig>=1.1.0
57
+ - attrs>=19.2.0
58
+ - pluggy>=1.5.0
59
+ - packaging
60
+ - tomli
61
+ - types-setuptools
62
+ - types-tabulate
63
+ # for mypy running on python>=3.11 since exceptiongroup is only a dependency
64
+ # on <3.11
65
+ - exceptiongroup>=1.0.0rc8
66
+ # Manual because passing pyright is a work in progress.
67
+ stages: [manual]
50
68
  - repo: https://github.com/tox-dev/pyproject-fmt
51
- rev: "2.2.1"
69
+ rev: "v2.6.0"
52
70
  hooks:
53
71
  - id: pyproject-fmt
54
72
  # https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
55
73
  additional_dependencies: ["tox>=4.9"]
56
74
  - repo: https://github.com/asottile/pyupgrade
57
- rev: v3.17.0
75
+ rev: v3.20.0
58
76
  hooks:
59
77
  - id: pyupgrade
78
+ args:
79
+ - "--py39-plus"
80
+ # Manual because ruff does what pyupgrade does and the two are not out of sync
81
+ # often enough to make launching pyupgrade everytime worth it
60
82
  stages: [manual]
61
83
  - repo: local
62
84
  hooks:
@@ -65,7 +87,8 @@ repos:
65
87
  entry: pylint
66
88
  language: system
67
89
  types: [python]
68
- args: ["-rn", "-sn", "--fail-on=I"]
90
+ args: ["-rn", "-sn", "--fail-on=I", "--enable-all-extentions"]
91
+ require_serial: true
69
92
  stages: [manual]
70
93
  - id: rst
71
94
  name: rst
@@ -24,6 +24,7 @@ Alice Purcell
24
24
  Allan Feldman
25
25
  Aly Sivji
26
26
  Amir Elkess
27
+ Ammar Askar
27
28
  Anatoly Bubenkoff
28
29
  Anders Hovmöller
29
30
  Andras Mitzki
@@ -31,6 +32,7 @@ Andras Tim
31
32
  Andrea Cimatoribus
32
33
  Andreas Motl
33
34
  Andreas Zeidler
35
+ Andrew Pikul
34
36
  Andrew Shapton
35
37
  Andrey Paramonov
36
38
  Andrzej Klajnert
@@ -42,6 +44,7 @@ Anthony Shaw
42
44
  Anthony Sottile
43
45
  Anton Grinevich
44
46
  Anton Lodder
47
+ Anton Zhilin
45
48
  Antony Lee
46
49
  Arel Cordero
47
50
  Arias Emmanuel
@@ -51,9 +54,11 @@ Aron Coyle
51
54
  Aron Curzon
52
55
  Arthur Richard
53
56
  Ashish Kurmi
57
+ Ashley Whetter
54
58
  Aviral Verma
55
59
  Aviv Palivoda
56
60
  Babak Keyvani
61
+ Bahram Farahmand
57
62
  Barney Gale
58
63
  Ben Brown
59
64
  Ben Gartner
@@ -94,6 +99,7 @@ Christine Mecklenborg
94
99
  Christoph Buelter
95
100
  Christopher Dignam
96
101
  Christopher Gilling
102
+ Christopher Head
97
103
  Claire Cecil
98
104
  Claudio Madotto
99
105
  Clément M.T. Robert
@@ -101,6 +107,7 @@ Cornelius Riemenschneider
101
107
  CrazyMerlyn
102
108
  Cristian Vera
103
109
  Cyrus Maden
110
+ Daara Shaw
104
111
  Damian Skrzypczak
105
112
  Daniel Grana
106
113
  Daniel Hahler
@@ -123,6 +130,7 @@ Daw-Ran Liou
123
130
  Debi Mishra
124
131
  Denis Kirisov
125
132
  Denivy Braiam Rück
133
+ Deysha Rivera
126
134
  Dheeraj C K
127
135
  Dhiren Serai
128
136
  Diego Russo
@@ -139,6 +147,7 @@ Eero Vaher
139
147
  Eli Boyarski
140
148
  Elizaveta Shashkova
141
149
  Éloi Rivard
150
+ Emil Hjelm
142
151
  Endre Galaczi
143
152
  Eric Hunsberger
144
153
  Eric Liu
@@ -147,6 +156,7 @@ Eric Yuan
147
156
  Erik Aronesty
148
157
  Erik Hasse
149
158
  Erik M. Bray
159
+ Ethan Wass
150
160
  Evan Kepner
151
161
  Evgeny Seliverstov
152
162
  Fabian Sturm
@@ -207,6 +217,7 @@ Jeff Rackauckas
207
217
  Jeff Widman
208
218
  Jenni Rinker
209
219
  Jens Tröger
220
+ Jiajun Xu
210
221
  John Eddie Ayson
211
222
  John Litborn
212
223
  John Towler
@@ -220,6 +231,7 @@ Joseph Hunkeler
220
231
  Joseph Sawaya
221
232
  Josh Karpel
222
233
  Joshua Bronson
234
+ Julian Valentin
223
235
  Jurko Gospodnetić
224
236
  Justice Ndou
225
237
  Justyna Janczyszyn
@@ -263,6 +275,7 @@ Manuel Krebber
263
275
  Marc Mueller
264
276
  Marc Schlaich
265
277
  Marcelo Duarte Trevisani
278
+ Marcin Augustynów
266
279
  Marcin Bachry
267
280
  Marc Bresson
268
281
  Marco Gorelli
@@ -302,6 +315,7 @@ Milan Lesnek
302
315
  Miro Hrončok
303
316
  mrbean-bremen
304
317
  Nathan Goldbaum
318
+ Nathan Rousseau
305
319
  Nathaniel Compton
306
320
  Nathaniel Waisbrot
307
321
  Nauman Ahmed
@@ -318,6 +332,7 @@ Nikolay Kondratyev
318
332
  Nipunn Koorapati
319
333
  Oleg Pidsadnyi
320
334
  Oleg Sushchenko
335
+ Oleksandr Zavertniev
321
336
  Olga Matoula
322
337
  Oliver Bestwalter
323
338
  Omar Kohl
@@ -331,8 +346,10 @@ Paul Müller
331
346
  Paul Reece
332
347
  Pauli Virtanen
333
348
  Pavel Karateev
349
+ Pavel Zhukov
334
350
  Paweł Adamczak
335
351
  Pedro Algarvio
352
+ Peter Gessler
336
353
  Petter Strandmark
337
354
  Philipp Loose
338
355
  Pierre Sassoulas
@@ -389,6 +406,7 @@ Serhii Mozghovyi
389
406
  Seth Junot
390
407
  Shantanu Jain
391
408
  Sharad Nair
409
+ Shaygan Hooshyari
392
410
  Shubham Adep
393
411
  Simon Blanchard
394
412
  Simon Gomizelj
@@ -404,11 +422,13 @@ Stefanie Molin
404
422
  Stefano Taschini
405
423
  Steffen Allner
406
424
  Stephan Obermann
425
+ Sven
407
426
  Sven-Hendrik Haase
408
427
  Sviatoslav Sydorenko
409
428
  Sylvain Marié
410
429
  Tadek Teleżyński
411
430
  Takafumi Arakaki
431
+ Takumi Otani
412
432
  Taneli Hukkinen
413
433
  Tanvi Mehta
414
434
  Tanya Agarwal
@@ -424,6 +444,7 @@ Tim Hoffmann
424
444
  Tim Strazny
425
445
  TJ Bruno
426
446
  Tobias Diez
447
+ Tobias Petersen
427
448
  Tom Dalton
428
449
  Tom Viner
429
450
  Tomáš Gavenčiak
@@ -452,6 +473,7 @@ Volodymyr Kochetkov
452
473
  Volodymyr Piskun
453
474
  Wei Lin
454
475
  Wil Cooley
476
+ Will Riley
455
477
  William Lee
456
478
  Wim Glenn
457
479
  Wouter van Ackooy
pytest-8.4.0/CITATION ADDED
@@ -0,0 +1,28 @@
1
+ NOTE: Change "x.y" by the version you use. If you are unsure about which version
2
+ you are using run: `pip show pytest`. Do not include the patch number (i.e., z in x.y.z)
3
+
4
+ Text:
5
+
6
+ [pytest] pytest x.y, 2004
7
+ Krekel et al., https://github.com/pytest-dev/pytest
8
+
9
+ BibLaTeX:
10
+
11
+ @software{pytest,
12
+ title = {pytest x.y},
13
+ author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Florian Bruhin},
14
+ year = {2004},
15
+ version = {x.y},
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 Florian Bruhin and others}
18
+ }
19
+
20
+ BibTeX:
21
+
22
+ @misc{pytest,
23
+ author = {Holger Krekel and Bruno Oliveira and Ronny Pfannschmidt and Floris Bruynooghe and Brianna Laugher and Florian Bruhin},
24
+ title = {pytest x.y},
25
+ year = {2004},
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, Florian Bruhin, and others.}
28
+ }
@@ -139,9 +139,8 @@ The objectives of the ``pytest-dev`` organisation are:
139
139
  * Sharing some of the maintenance responsibility (in case a maintainer no
140
140
  longer wishes to maintain a plugin)
141
141
 
142
- You can submit your plugin by subscribing to the `pytest-dev mail list
143
- <https://mail.python.org/mailman/listinfo/pytest-dev>`_ and writing a
144
- mail pointing to your existing pytest plugin repository which must have
142
+ You can submit your plugin by posting a new topic in the `pytest-dev GitHub Discussions
143
+ <https://github.com/pytest-dev/pytest/discussions>`_ pointing to your existing pytest plugin repository which must have
145
144
  the following:
146
145
 
147
146
  - PyPI presence with packaging metadata that contains a ``pytest-``
@@ -270,7 +269,7 @@ Here is a simple overview, with pytest-specific bits:
270
269
 
271
270
  #. Run all the tests
272
271
 
273
- You need to have Python 3.8 or later available in your system. Now
272
+ You need to have Python 3.9 or later available in your system. Now
274
273
  running tests is as simple as issuing this command::
275
274
 
276
275
  $ tox -e linting,py39