pytest 8.3.4__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.4 → pytest-8.4.0}/.coveragerc +1 -0
  2. {pytest-8.3.4 → pytest-8.4.0}/.git-blame-ignore-revs +1 -1
  3. {pytest-8.3.4 → pytest-8.4.0}/.github/FUNDING.yml +2 -0
  4. {pytest-8.3.4 → pytest-8.4.0}/.github/workflows/deploy.yml +12 -6
  5. {pytest-8.3.4 → pytest-8.4.0}/.github/workflows/prepare-release-pr.yml +13 -3
  6. {pytest-8.3.4 → pytest-8.4.0}/.github/workflows/test.yml +80 -46
  7. {pytest-8.3.4 → pytest-8.4.0}/.github/workflows/update-plugin-list.yml +5 -3
  8. {pytest-8.3.4 → pytest-8.4.0}/.pre-commit-config.yaml +35 -8
  9. {pytest-8.3.4 → pytest-8.4.0}/AUTHORS +24 -0
  10. pytest-8.4.0/CITATION +28 -0
  11. {pytest-8.3.4 → pytest-8.4.0}/CONTRIBUTING.rst +3 -4
  12. {pytest-8.3.4/src/pytest.egg-info → pytest-8.4.0}/PKG-INFO +14 -11
  13. {pytest-8.3.4 → pytest-8.4.0}/README.rst +1 -1
  14. {pytest-8.3.4 → pytest-8.4.0}/RELEASING.rst +9 -3
  15. {pytest-8.3.4 → pytest-8.4.0}/bench/empty.py +1 -1
  16. {pytest-8.3.4 → pytest-8.4.0}/codecov.yml +3 -1
  17. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/index.rst +2 -0
  18. pytest-8.4.0/doc/en/announce/release-8.3.5.rst +26 -0
  19. pytest-8.4.0/doc/en/announce/release-8.4.0.rst +106 -0
  20. {pytest-8.3.4 → pytest-8.4.0}/doc/en/backwards-compatibility.rst +1 -0
  21. {pytest-8.3.4 → pytest-8.4.0}/doc/en/broken-dep-constraints.txt +0 -4
  22. {pytest-8.3.4 → pytest-8.4.0}/doc/en/builtin.rst +54 -31
  23. {pytest-8.3.4 → pytest-8.4.0}/doc/en/changelog.rst +463 -1
  24. {pytest-8.3.4 → pytest-8.4.0}/doc/en/conf.py +3 -0
  25. {pytest-8.3.4 → pytest-8.4.0}/doc/en/contact.rst +7 -2
  26. {pytest-8.3.4 → pytest-8.4.0}/doc/en/deprecations.rst +107 -31
  27. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/assertion/failure_demo.py +3 -3
  28. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/parametrize.rst +8 -7
  29. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/pythoncollection.rst +29 -2
  30. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/reportingdemo.rst +9 -3
  31. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/simple.rst +11 -5
  32. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/flaky.rst +12 -2
  33. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/index.rst +1 -0
  34. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/pythonpath.rst +2 -2
  35. pytest-8.4.0/doc/en/explanation/types.rst +89 -0
  36. {pytest-8.3.4 → pytest-8.4.0}/doc/en/getting-started.rst +3 -25
  37. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/assert.rst +104 -7
  38. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/cache.rst +1 -3
  39. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/capture-stdout-stderr.rst +9 -3
  40. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/capture-warnings.rst +2 -1
  41. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/fixtures.rst +6 -1
  42. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/output.rst +14 -15
  43. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/parametrize.rst +1 -5
  44. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/plugins.rst +26 -1
  45. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/unittest.rst +2 -0
  46. {pytest-8.3.4 → pytest-8.4.0}/doc/en/index.rst +2 -1
  47. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/fixtures.rst +4 -0
  48. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/plugin_list.rst +2137 -905
  49. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/reference.rst +197 -43
  50. {pytest-8.3.4 → pytest-8.4.0}/pyproject.toml +65 -15
  51. {pytest-8.3.4 → pytest-8.4.0}/scripts/generate-gh-release-notes.py +1 -1
  52. {pytest-8.3.4 → pytest-8.4.0}/scripts/prepare-release-pr.py +15 -26
  53. {pytest-8.3.4 → pytest-8.4.0}/scripts/release.patch.rst +1 -3
  54. {pytest-8.3.4 → pytest-8.4.0}/scripts/release.py +1 -1
  55. {pytest-8.3.4 → pytest-8.4.0}/scripts/update-plugin-list.py +5 -4
  56. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_code/code.py +240 -82
  57. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_code/source.py +12 -2
  58. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_io/pprint.py +6 -6
  59. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_io/terminalwriter.py +18 -38
  60. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_py/error.py +13 -5
  61. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_py/path.py +1 -1
  62. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_version.py +9 -4
  63. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/assertion/__init__.py +22 -6
  64. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/assertion/rewrite.py +13 -8
  65. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/assertion/truncate.py +39 -19
  66. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/assertion/util.py +31 -19
  67. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/cacheprovider.py +6 -7
  68. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/capture.py +76 -19
  69. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/compat.py +10 -59
  70. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/config/__init__.py +108 -52
  71. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/config/argparsing.py +29 -47
  72. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/config/compat.py +1 -1
  73. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/config/findpaths.py +16 -5
  74. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/debugging.py +43 -21
  75. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/doctest.py +7 -8
  76. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/faulthandler.py +1 -1
  77. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/fixtures.py +198 -114
  78. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/freeze_support.py +1 -1
  79. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/helpconfig.py +12 -5
  80. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/hookspec.py +3 -3
  81. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/junitxml.py +11 -16
  82. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/logging.py +21 -16
  83. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/main.py +84 -80
  84. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/mark/__init__.py +25 -16
  85. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/mark/expression.py +8 -10
  86. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/mark/structures.py +79 -32
  87. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/monkeypatch.py +3 -3
  88. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/nodes.py +22 -16
  89. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/outcomes.py +4 -5
  90. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/pastebin.py +7 -3
  91. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/pathlib.py +28 -11
  92. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/pytester.py +16 -13
  93. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/pytester_assertions.py +1 -1
  94. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/python.py +120 -77
  95. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/python_api.py +50 -285
  96. pytest-8.4.0/src/_pytest/raises.py +1519 -0
  97. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/recwarn.py +9 -8
  98. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/reports.py +9 -8
  99. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/runner.py +17 -17
  100. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/scope.py +5 -5
  101. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/setuponly.py +4 -8
  102. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/skipping.py +22 -7
  103. pytest-8.4.0/src/_pytest/stepwise.py +209 -0
  104. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/terminal.py +112 -51
  105. pytest-8.4.0/src/_pytest/threadexception.py +152 -0
  106. pytest-8.4.0/src/_pytest/timing.py +94 -0
  107. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/tmpdir.py +2 -4
  108. pytest-8.4.0/src/_pytest/tracemalloc.py +24 -0
  109. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/unittest.py +5 -7
  110. pytest-8.4.0/src/_pytest/unraisableexception.py +158 -0
  111. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/warning_types.py +7 -18
  112. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/warnings.py +44 -43
  113. {pytest-8.3.4 → pytest-8.4.0}/src/pytest/__init__.py +36 -30
  114. {pytest-8.3.4 → pytest-8.4.0/src/pytest.egg-info}/PKG-INFO +14 -11
  115. {pytest-8.3.4 → pytest-8.4.0}/src/pytest.egg-info/SOURCES.txt +8 -1
  116. {pytest-8.3.4 → pytest-8.4.0}/src/pytest.egg-info/requires.txt +5 -5
  117. {pytest-8.3.4 → pytest-8.4.0}/testing/_py/test_local.py +12 -11
  118. {pytest-8.3.4 → pytest-8.4.0}/testing/acceptance_test.py +197 -38
  119. {pytest-8.3.4 → pytest-8.4.0}/testing/code/test_excinfo.py +202 -26
  120. {pytest-8.3.4 → pytest-8.4.0}/testing/code/test_source.py +11 -14
  121. {pytest-8.3.4 → pytest-8.4.0}/testing/conftest.py +10 -20
  122. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +2 -2
  123. {pytest-8.3.4 → pytest-8.4.0}/testing/io/test_terminalwriter.py +3 -1
  124. {pytest-8.3.4 → pytest-8.4.0}/testing/logging/test_fixture.py +1 -1
  125. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest.ini +1 -0
  126. pytest-8.4.0/testing/plugins_integration/requirements.txt +15 -0
  127. {pytest-8.3.4 → pytest-8.4.0}/testing/python/approx.py +52 -6
  128. {pytest-8.3.4 → pytest-8.4.0}/testing/python/fixtures.py +171 -23
  129. {pytest-8.3.4 → pytest-8.4.0}/testing/python/integration.py +17 -0
  130. {pytest-8.3.4 → pytest-8.4.0}/testing/python/metafunc.py +173 -15
  131. {pytest-8.3.4 → pytest-8.4.0}/testing/python/raises.py +87 -16
  132. pytest-8.4.0/testing/python/raises_group.py +1348 -0
  133. {pytest-8.3.4 → pytest-8.4.0}/testing/test_assertion.py +117 -13
  134. {pytest-8.3.4 → pytest-8.4.0}/testing/test_assertrewrite.py +36 -7
  135. {pytest-8.3.4 → pytest-8.4.0}/testing/test_cacheprovider.py +4 -4
  136. {pytest-8.3.4 → pytest-8.4.0}/testing/test_capture.py +63 -1
  137. pytest-8.4.0/testing/test_collect_imported_tests.py +102 -0
  138. {pytest-8.3.4 → pytest-8.4.0}/testing/test_collection.py +19 -2
  139. {pytest-8.3.4 → pytest-8.4.0}/testing/test_compat.py +8 -82
  140. {pytest-8.3.4 → pytest-8.4.0}/testing/test_config.py +157 -14
  141. {pytest-8.3.4 → pytest-8.4.0}/testing/test_conftest.py +5 -6
  142. {pytest-8.3.4 → pytest-8.4.0}/testing/test_debugging.py +110 -1
  143. {pytest-8.3.4 → pytest-8.4.0}/testing/test_doctest.py +2 -2
  144. {pytest-8.3.4 → pytest-8.4.0}/testing/test_helpconfig.py +2 -0
  145. {pytest-8.3.4 → pytest-8.4.0}/testing/test_junitxml.py +277 -219
  146. {pytest-8.3.4 → pytest-8.4.0}/testing/test_mark.py +66 -1
  147. {pytest-8.3.4 → pytest-8.4.0}/testing/test_mark_expression.py +1 -1
  148. {pytest-8.3.4 → pytest-8.4.0}/testing/test_monkeypatch.py +7 -1
  149. {pytest-8.3.4 → pytest-8.4.0}/testing/test_nodes.py +4 -14
  150. {pytest-8.3.4 → pytest-8.4.0}/testing/test_parseopt.py +1 -1
  151. {pytest-8.3.4 → pytest-8.4.0}/testing/test_pastebin.py +27 -20
  152. {pytest-8.3.4 → pytest-8.4.0}/testing/test_pathlib.py +86 -3
  153. {pytest-8.3.4 → pytest-8.4.0}/testing/test_pytester.py +4 -5
  154. {pytest-8.3.4 → pytest-8.4.0}/testing/test_python_path.py +25 -8
  155. {pytest-8.3.4 → pytest-8.4.0}/testing/test_reports.py +1 -1
  156. {pytest-8.3.4 → pytest-8.4.0}/testing/test_runner.py +2 -2
  157. {pytest-8.3.4 → pytest-8.4.0}/testing/test_skipping.py +11 -13
  158. {pytest-8.3.4 → pytest-8.4.0}/testing/test_stepwise.py +188 -3
  159. {pytest-8.3.4 → pytest-8.4.0}/testing/test_terminal.py +173 -13
  160. {pytest-8.3.4 → pytest-8.4.0}/testing/test_threadexception.py +126 -4
  161. {pytest-8.3.4 → pytest-8.4.0}/testing/test_tmpdir.py +1 -1
  162. pytest-8.4.0/testing/test_unraisableexception.py +400 -0
  163. {pytest-8.3.4 → pytest-8.4.0}/testing/test_warning_types.py +1 -1
  164. {pytest-8.3.4 → pytest-8.4.0}/testing/test_warnings.py +23 -0
  165. {pytest-8.3.4 → pytest-8.4.0}/testing/typing_checks.py +8 -0
  166. pytest-8.4.0/testing/typing_raises_group.py +247 -0
  167. {pytest-8.3.4 → pytest-8.4.0}/tox.ini +6 -15
  168. pytest-8.3.4/CITATION +0 -16
  169. pytest-8.3.4/src/_pytest/python_path.py +0 -26
  170. pytest-8.3.4/src/_pytest/stepwise.py +0 -125
  171. pytest-8.3.4/src/_pytest/threadexception.py +0 -97
  172. pytest-8.3.4/src/_pytest/timing.py +0 -16
  173. pytest-8.3.4/src/_pytest/unraisableexception.py +0 -100
  174. pytest-8.3.4/testing/plugins_integration/requirements.txt +0 -15
  175. pytest-8.3.4/testing/test_unraisableexception.py +0 -138
  176. {pytest-8.3.4 → pytest-8.4.0}/.gitattributes +0 -0
  177. {pytest-8.3.4 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  178. {pytest-8.3.4 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  179. {pytest-8.3.4 → pytest-8.4.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  180. {pytest-8.3.4 → pytest-8.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  181. {pytest-8.3.4 → pytest-8.4.0}/.github/chronographer.yml +0 -0
  182. {pytest-8.3.4 → pytest-8.4.0}/.github/config.yml +0 -0
  183. {pytest-8.3.4 → pytest-8.4.0}/.github/dependabot.yml +0 -0
  184. {pytest-8.3.4 → pytest-8.4.0}/.github/labels.toml +0 -0
  185. {pytest-8.3.4 → pytest-8.4.0}/.github/patchback.yml +0 -0
  186. {pytest-8.3.4 → pytest-8.4.0}/.github/workflows/stale.yml +0 -0
  187. {pytest-8.3.4 → pytest-8.4.0}/.gitignore +0 -0
  188. {pytest-8.3.4 → pytest-8.4.0}/.readthedocs.yaml +0 -0
  189. {pytest-8.3.4 → pytest-8.4.0}/CHANGELOG.rst +0 -0
  190. {pytest-8.3.4 → pytest-8.4.0}/CODE_OF_CONDUCT.md +0 -0
  191. {pytest-8.3.4 → pytest-8.4.0}/LICENSE +0 -0
  192. {pytest-8.3.4 → pytest-8.4.0}/OPENCOLLECTIVE.rst +0 -0
  193. {pytest-8.3.4 → pytest-8.4.0}/TIDELIFT.rst +0 -0
  194. {pytest-8.3.4 → pytest-8.4.0}/bench/bench.py +0 -0
  195. {pytest-8.3.4 → pytest-8.4.0}/bench/bench_argcomplete.py +0 -0
  196. {pytest-8.3.4 → pytest-8.4.0}/bench/manyparam.py +0 -0
  197. {pytest-8.3.4 → pytest-8.4.0}/bench/skip.py +0 -0
  198. {pytest-8.3.4 → pytest-8.4.0}/bench/unit_test.py +0 -0
  199. {pytest-8.3.4 → pytest-8.4.0}/bench/xunit.py +0 -0
  200. {pytest-8.3.4 → pytest-8.4.0}/changelog/.gitignore +0 -0
  201. {pytest-8.3.4 → pytest-8.4.0}/changelog/README.rst +0 -0
  202. {pytest-8.3.4 → pytest-8.4.0}/changelog/_template.rst +0 -0
  203. {pytest-8.3.4 → pytest-8.4.0}/doc/en/Makefile +0 -0
  204. {pytest-8.3.4 → pytest-8.4.0}/doc/en/_static/pytest-custom.css +0 -0
  205. {pytest-8.3.4 → pytest-8.4.0}/doc/en/_static/pytest1.png +0 -0
  206. {pytest-8.3.4 → pytest-8.4.0}/doc/en/_templates/links.html +0 -0
  207. {pytest-8.3.4 → pytest-8.4.0}/doc/en/adopt.rst +0 -0
  208. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.0.0.rst +0 -0
  209. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.0.1.rst +0 -0
  210. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.0.2.rst +0 -0
  211. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.0.3.rst +0 -0
  212. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.1.0.rst +0 -0
  213. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.1.1.rst +0 -0
  214. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.1.2.rst +0 -0
  215. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.1.3.rst +0 -0
  216. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.2.0.rst +0 -0
  217. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.2.1.rst +0 -0
  218. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.2.2.rst +0 -0
  219. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.2.4.rst +0 -0
  220. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.0.rst +0 -0
  221. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.1.rst +0 -0
  222. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.2.rst +0 -0
  223. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.3.rst +0 -0
  224. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.4.rst +0 -0
  225. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.3.5.rst +0 -0
  226. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.4.0.rst +0 -0
  227. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.4.1.rst +0 -0
  228. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.4.2.rst +0 -0
  229. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.5.0.rst +0 -0
  230. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.5.1.rst +0 -0
  231. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.5.2.rst +0 -0
  232. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.6.0.rst +0 -0
  233. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.6.1.rst +0 -0
  234. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.6.2.rst +0 -0
  235. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.6.3.rst +0 -0
  236. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.7.0.rst +0 -0
  237. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.7.1.rst +0 -0
  238. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.7.2.rst +0 -0
  239. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.2.rst +0 -0
  240. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.3.rst +0 -0
  241. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.4.rst +0 -0
  242. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.5.rst +0 -0
  243. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.6.rst +0 -0
  244. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.8.7.rst +0 -0
  245. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.9.0.rst +0 -0
  246. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.9.1.rst +0 -0
  247. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-2.9.2.rst +0 -0
  248. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.0.rst +0 -0
  249. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.1.rst +0 -0
  250. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.2.rst +0 -0
  251. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.3.rst +0 -0
  252. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.4.rst +0 -0
  253. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.5.rst +0 -0
  254. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.6.rst +0 -0
  255. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.0.7.rst +0 -0
  256. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.1.0.rst +0 -0
  257. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.1.1.rst +0 -0
  258. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.1.2.rst +0 -0
  259. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.1.3.rst +0 -0
  260. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.10.0.rst +0 -0
  261. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.10.1.rst +0 -0
  262. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.0.rst +0 -0
  263. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.1.rst +0 -0
  264. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.2.rst +0 -0
  265. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.3.rst +0 -0
  266. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.4.rst +0 -0
  267. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.2.5.rst +0 -0
  268. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.3.0.rst +0 -0
  269. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.3.1.rst +0 -0
  270. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.3.2.rst +0 -0
  271. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.4.0.rst +0 -0
  272. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.4.1.rst +0 -0
  273. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.4.2.rst +0 -0
  274. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.5.0.rst +0 -0
  275. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.5.1.rst +0 -0
  276. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.6.0.rst +0 -0
  277. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.6.1.rst +0 -0
  278. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.6.2.rst +0 -0
  279. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.6.3.rst +0 -0
  280. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.6.4.rst +0 -0
  281. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.7.0.rst +0 -0
  282. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.7.1.rst +0 -0
  283. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.7.2.rst +0 -0
  284. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.7.3.rst +0 -0
  285. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.7.4.rst +0 -0
  286. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.8.0.rst +0 -0
  287. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.8.1.rst +0 -0
  288. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.8.2.rst +0 -0
  289. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.9.0.rst +0 -0
  290. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.9.1.rst +0 -0
  291. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.9.2.rst +0 -0
  292. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-3.9.3.rst +0 -0
  293. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.0.0.rst +0 -0
  294. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.0.1.rst +0 -0
  295. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.0.2.rst +0 -0
  296. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.1.0.rst +0 -0
  297. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.1.1.rst +0 -0
  298. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.2.0.rst +0 -0
  299. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.2.1.rst +0 -0
  300. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.3.0.rst +0 -0
  301. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.3.1.rst +0 -0
  302. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.4.0.rst +0 -0
  303. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.4.1.rst +0 -0
  304. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.4.2.rst +0 -0
  305. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.5.0.rst +0 -0
  306. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.0.rst +0 -0
  307. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.1.rst +0 -0
  308. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.2.rst +0 -0
  309. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.3.rst +0 -0
  310. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.4.rst +0 -0
  311. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.5.rst +0 -0
  312. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.6.rst +0 -0
  313. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.7.rst +0 -0
  314. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.8.rst +0 -0
  315. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-4.6.9.rst +0 -0
  316. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.0.0.rst +0 -0
  317. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.0.1.rst +0 -0
  318. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.1.0.rst +0 -0
  319. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.1.1.rst +0 -0
  320. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.1.2.rst +0 -0
  321. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.1.3.rst +0 -0
  322. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.2.0.rst +0 -0
  323. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.2.1.rst +0 -0
  324. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.2.2.rst +0 -0
  325. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.2.3.rst +0 -0
  326. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.2.4.rst +0 -0
  327. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.0.rst +0 -0
  328. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.1.rst +0 -0
  329. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.2.rst +0 -0
  330. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.3.rst +0 -0
  331. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.4.rst +0 -0
  332. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.3.5.rst +0 -0
  333. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.4.0.rst +0 -0
  334. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.4.1.rst +0 -0
  335. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.4.2.rst +0 -0
  336. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-5.4.3.rst +0 -0
  337. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.0.0.rst +0 -0
  338. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  339. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.0.1.rst +0 -0
  340. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.0.2.rst +0 -0
  341. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.1.0.rst +0 -0
  342. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.1.1.rst +0 -0
  343. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.1.2.rst +0 -0
  344. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.0.rst +0 -0
  345. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.1.rst +0 -0
  346. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.2.rst +0 -0
  347. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.3.rst +0 -0
  348. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.4.rst +0 -0
  349. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-6.2.5.rst +0 -0
  350. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.0.0.rst +0 -0
  351. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  352. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.0.1.rst +0 -0
  353. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.1.0.rst +0 -0
  354. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.1.1.rst +0 -0
  355. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.1.2.rst +0 -0
  356. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.1.3.rst +0 -0
  357. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.2.0.rst +0 -0
  358. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.2.1.rst +0 -0
  359. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.2.2.rst +0 -0
  360. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.3.0.rst +0 -0
  361. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.3.1.rst +0 -0
  362. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.3.2.rst +0 -0
  363. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.4.0.rst +0 -0
  364. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.4.1.rst +0 -0
  365. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.4.2.rst +0 -0
  366. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.4.3.rst +0 -0
  367. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-7.4.4.rst +0 -0
  368. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.0.0.rst +0 -0
  369. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.0.0rc1.rst +0 -0
  370. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.0.0rc2.rst +0 -0
  371. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.0.1.rst +0 -0
  372. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.0.2.rst +0 -0
  373. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.1.0.rst +0 -0
  374. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.1.1.rst +0 -0
  375. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.1.2.rst +0 -0
  376. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.2.0.rst +0 -0
  377. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.2.1.rst +0 -0
  378. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.2.2.rst +0 -0
  379. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.3.0.rst +0 -0
  380. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.3.1.rst +0 -0
  381. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.3.2.rst +0 -0
  382. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.3.3.rst +0 -0
  383. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/release-8.3.4.rst +0 -0
  384. {pytest-8.3.4 → pytest-8.4.0}/doc/en/announce/sprint2016.rst +0 -0
  385. {pytest-8.3.4 → pytest-8.4.0}/doc/en/conftest.py +0 -0
  386. {pytest-8.3.4 → pytest-8.4.0}/doc/en/contents.rst +0 -0
  387. {pytest-8.3.4 → pytest-8.4.0}/doc/en/contributing.rst +0 -0
  388. {pytest-8.3.4 → pytest-8.4.0}/doc/en/development_guide.rst +0 -0
  389. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  390. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  391. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/assertion/test_failures.py +0 -0
  392. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  393. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/attic.rst +0 -0
  394. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/conftest.py +0 -0
  395. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/conftest.py +0 -0
  396. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/pytest.ini +0 -0
  397. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/tests/manifest.json +0 -0
  398. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_first.py +0 -0
  399. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_second.py +0 -0
  400. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory/tests/test_third.py +0 -0
  401. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/customdirectory.rst +0 -0
  402. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  403. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  404. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  405. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  406. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  407. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  408. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  409. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  410. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  411. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  412. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  413. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  414. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  415. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  416. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  417. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  418. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  419. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/index.rst +0 -0
  420. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/markers.rst +0 -0
  421. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/multipython.py +0 -0
  422. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/nonpython/__init__.py +0 -0
  423. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/nonpython/conftest.py +0 -0
  424. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/nonpython/test_simple.yaml +0 -0
  425. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/nonpython.rst +0 -0
  426. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/pythoncollection.py +0 -0
  427. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/special.rst +0 -0
  428. {pytest-8.3.4 → pytest-8.4.0}/doc/en/example/xfail_demo.py +0 -0
  429. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/anatomy.rst +0 -0
  430. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/ci.rst +0 -0
  431. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/fixtures.rst +0 -0
  432. {pytest-8.3.4 → pytest-8.4.0}/doc/en/explanation/goodpractices.rst +0 -0
  433. {pytest-8.3.4 → pytest-8.4.0}/doc/en/funcarg_compare.rst +0 -0
  434. {pytest-8.3.4 → pytest-8.4.0}/doc/en/funcargs.rst +0 -0
  435. {pytest-8.3.4 → pytest-8.4.0}/doc/en/historical-notes.rst +0 -0
  436. {pytest-8.3.4 → pytest-8.4.0}/doc/en/history.rst +0 -0
  437. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/bash-completion.rst +0 -0
  438. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/doctest.rst +0 -0
  439. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/existingtestsuite.rst +0 -0
  440. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/failures.rst +0 -0
  441. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/index.rst +0 -0
  442. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/logging.rst +0 -0
  443. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/mark.rst +0 -0
  444. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/monkeypatch.rst +0 -0
  445. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/skipping.rst +0 -0
  446. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/tmp_path.rst +0 -0
  447. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/usage.rst +0 -0
  448. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/writing_hook_functions.rst +0 -0
  449. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/writing_plugins.rst +0 -0
  450. {pytest-8.3.4 → pytest-8.4.0}/doc/en/how-to/xunit_setup.rst +0 -0
  451. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/cramer2.png +0 -0
  452. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/favicon.png +0 -0
  453. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/freiburg2.jpg +0 -0
  454. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/gaynor3.png +0 -0
  455. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/keleshev.png +0 -0
  456. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/pullrequest.png +0 -0
  457. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/pylib.png +0 -0
  458. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/pytest_logo_curves.svg +0 -0
  459. {pytest-8.3.4 → pytest-8.4.0}/doc/en/img/theuni.png +0 -0
  460. {pytest-8.3.4 → pytest-8.4.0}/doc/en/license.rst +0 -0
  461. {pytest-8.3.4 → pytest-8.4.0}/doc/en/naming20.rst +0 -0
  462. {pytest-8.3.4 → pytest-8.4.0}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  463. {pytest-8.3.4 → pytest-8.4.0}/doc/en/pytest.ini +0 -0
  464. {pytest-8.3.4 → pytest-8.4.0}/doc/en/recwarn.rst +0 -0
  465. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/customize.rst +0 -0
  466. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/exit-codes.rst +0 -0
  467. {pytest-8.3.4 → pytest-8.4.0}/doc/en/reference/index.rst +0 -0
  468. {pytest-8.3.4 → pytest-8.4.0}/doc/en/requirements.txt +0 -0
  469. {pytest-8.3.4 → pytest-8.4.0}/doc/en/sponsor.rst +0 -0
  470. {pytest-8.3.4 → pytest-8.4.0}/doc/en/talks.rst +0 -0
  471. {pytest-8.3.4 → pytest-8.4.0}/doc/en/tidelift.rst +0 -0
  472. {pytest-8.3.4 → pytest-8.4.0}/doc/en/yieldfixture.rst +0 -0
  473. {pytest-8.3.4 → pytest-8.4.0}/extra/get_issues.py +0 -0
  474. {pytest-8.3.4 → pytest-8.4.0}/scripts/.gitignore +0 -0
  475. {pytest-8.3.4 → pytest-8.4.0}/scripts/release.major.rst +0 -0
  476. {pytest-8.3.4 → pytest-8.4.0}/scripts/release.minor.rst +0 -0
  477. {pytest-8.3.4 → pytest-8.4.0}/scripts/release.pre.rst +0 -0
  478. {pytest-8.3.4 → pytest-8.4.0}/setup.cfg +0 -0
  479. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/__init__.py +0 -0
  480. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_argcomplete.py +0 -0
  481. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_code/__init__.py +4 -4
  482. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_io/__init__.py +0 -0
  483. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_io/saferepr.py +0 -0
  484. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_io/wcwidth.py +0 -0
  485. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/_py/__init__.py +0 -0
  486. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/config/exceptions.py +0 -0
  487. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/deprecated.py +0 -0
  488. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/legacypath.py +0 -0
  489. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/py.typed +0 -0
  490. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/setupplan.py +0 -0
  491. {pytest-8.3.4 → pytest-8.4.0}/src/_pytest/stash.py +0 -0
  492. {pytest-8.3.4 → pytest-8.4.0}/src/py.py +0 -0
  493. {pytest-8.3.4 → pytest-8.4.0}/src/pytest/__main__.py +0 -0
  494. {pytest-8.3.4 → pytest-8.4.0}/src/pytest/py.typed +0 -0
  495. {pytest-8.3.4 → pytest-8.4.0}/src/pytest.egg-info/dependency_links.txt +0 -0
  496. {pytest-8.3.4 → pytest-8.4.0}/src/pytest.egg-info/entry_points.txt +0 -0
  497. {pytest-8.3.4 → pytest-8.4.0}/src/pytest.egg-info/top_level.txt +0 -0
  498. {pytest-8.3.4 → pytest-8.4.0}/testing/code/test_code.py +0 -0
  499. {pytest-8.3.4 → pytest-8.4.0}/testing/deprecated_test.py +0 -0
  500. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/README.rst +0 -0
  501. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/__init__.py +0 -0
  502. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
  503. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  504. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  505. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  506. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  507. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  508. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  509. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  510. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  511. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  512. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  513. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  514. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  515. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  516. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  517. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/conftest.py +0 -0
  518. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/pytest.ini +0 -0
  519. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
  520. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
  521. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
  522. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
  523. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  524. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  525. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  526. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  527. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  528. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  529. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  530. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  531. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  532. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  533. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  534. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  535. {pytest-8.3.4 → 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.4 → 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.4 → 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.4 → 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.4 → 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.4 → 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.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  542. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  543. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  544. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  545. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  546. {pytest-8.3.4 → 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.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  548. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  549. {pytest-8.3.4 → 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.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  551. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  552. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  553. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  554. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  555. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  556. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  557. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  558. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  559. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  560. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/issue_519.py +2 -2
  561. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/junit-10.xsd +0 -0
  562. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  563. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  564. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  565. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  566. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  567. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  568. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/pytest.ini +0 -0
  569. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  570. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  571. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
  572. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
  573. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
  574. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  575. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
  576. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  577. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  578. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  579. {pytest-8.3.4 → pytest-8.4.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  580. {pytest-8.3.4 → pytest-8.4.0}/testing/examples/test_issue519.py +0 -0
  581. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/.gitignore +0 -0
  582. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/create_executable.py +0 -0
  583. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/runtests_script.py +0 -0
  584. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/tests/test_doctest.txt +0 -0
  585. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/tests/test_trivial.py +0 -0
  586. {pytest-8.3.4 → pytest-8.4.0}/testing/freeze/tox_run.py +0 -0
  587. {pytest-8.3.4 → pytest-8.4.0}/testing/io/test_pprint.py +0 -0
  588. {pytest-8.3.4 → pytest-8.4.0}/testing/io/test_saferepr.py +0 -0
  589. {pytest-8.3.4 → pytest-8.4.0}/testing/io/test_wcwidth.py +0 -0
  590. {pytest-8.3.4 → pytest-8.4.0}/testing/logging/test_formatter.py +0 -0
  591. {pytest-8.3.4 → pytest-8.4.0}/testing/logging/test_reporting.py +0 -0
  592. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/.gitignore +0 -0
  593. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/README.rst +0 -0
  594. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/bdd_wallet.feature +0 -0
  595. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/bdd_wallet.py +0 -0
  596. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/django_settings.py +0 -0
  597. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  598. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  599. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  600. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
  601. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  602. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  603. {pytest-8.3.4 → pytest-8.4.0}/testing/plugins_integration/simple_integration.py +0 -0
  604. {pytest-8.3.4 → pytest-8.4.0}/testing/python/collect.py +0 -0
  605. {pytest-8.3.4 → pytest-8.4.0}/testing/python/show_fixtures_per_test.py +0 -0
  606. {pytest-8.3.4 → pytest-8.4.0}/testing/test_argcomplete.py +0 -0
  607. {pytest-8.3.4 → pytest-8.4.0}/testing/test_entry_points.py +0 -0
  608. {pytest-8.3.4 → pytest-8.4.0}/testing/test_error_diffs.py +0 -0
  609. {pytest-8.3.4 → pytest-8.4.0}/testing/test_faulthandler.py +0 -0
  610. {pytest-8.3.4 → pytest-8.4.0}/testing/test_findpaths.py +0 -0
  611. {pytest-8.3.4 → pytest-8.4.0}/testing/test_legacypath.py +0 -0
  612. {pytest-8.3.4 → pytest-8.4.0}/testing/test_link_resolve.py +0 -0
  613. {pytest-8.3.4 → pytest-8.4.0}/testing/test_main.py +0 -0
  614. {pytest-8.3.4 → pytest-8.4.0}/testing/test_meta.py +0 -0
  615. {pytest-8.3.4 → pytest-8.4.0}/testing/test_pluginmanager.py +0 -0
  616. {pytest-8.3.4 → pytest-8.4.0}/testing/test_recwarn.py +0 -0
  617. {pytest-8.3.4 → pytest-8.4.0}/testing/test_runner_xunit.py +0 -0
  618. {pytest-8.3.4 → pytest-8.4.0}/testing/test_scope.py +0 -0
  619. {pytest-8.3.4 → pytest-8.4.0}/testing/test_session.py +0 -0
  620. {pytest-8.3.4 → pytest-8.4.0}/testing/test_setuponly.py +0 -0
  621. {pytest-8.3.4 → pytest-8.4.0}/testing/test_setupplan.py +0 -0
  622. {pytest-8.3.4 → pytest-8.4.0}/testing/test_stash.py +0 -0
  623. {pytest-8.3.4 → 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.6.0
34
+ uses: hynek/build-and-inspect-python-package@b5076c307dc91924a82ad150cdd1533b444d3310
35
35
  with:
36
36
  attest-build-provenance-github: 'true'
37
37
 
@@ -46,6 +46,8 @@ jobs:
46
46
  contents: write
47
47
  steps:
48
48
  - uses: actions/checkout@v4
49
+ with:
50
+ persist-credentials: true
49
51
 
50
52
  - name: Download Package
51
53
  uses: actions/download-artifact@v4
@@ -54,16 +56,18 @@ jobs:
54
56
  path: dist
55
57
 
56
58
  - name: Publish package to PyPI
57
- uses: pypa/gh-action-pypi-publish@v1.12.2
59
+ uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc
58
60
  with:
59
61
  attestations: true
60
62
 
61
63
  - name: Push tag
64
+ env:
65
+ VERSION: ${{ github.event.inputs.version }}
62
66
  run: |
63
67
  git config user.name "pytest bot"
64
68
  git config user.email "pytestbot@gmail.com"
65
- git tag --annotate --message=v${{ github.event.inputs.version }} ${{ github.event.inputs.version }} ${{ github.sha }}
66
- git push origin ${{ github.event.inputs.version }}
69
+ git tag --annotate --message=v"$VERSION" "$VERSION" ${{ github.sha }}
70
+ git push origin "$VERSION"
67
71
 
68
72
  release-notes:
69
73
 
@@ -98,12 +102,14 @@ jobs:
98
102
  pip install --upgrade tox
99
103
 
100
104
  - name: Generate release notes
105
+ env:
106
+ VERSION: ${{ github.event.inputs.version }}
101
107
  run: |
102
108
  sudo apt-get install pandoc
103
- tox -e generate-gh-release-notes -- ${{ github.event.inputs.version }} scripts/latest-release-notes.md
109
+ tox -e generate-gh-release-notes -- "$VERSION" scripts/latest-release-notes.md
104
110
 
105
111
  - name: Publish GitHub Release
106
- uses: softprops/action-gh-release@v2
112
+ uses: softprops/action-gh-release@da05d552573ad5aba039eaac05058a918a7bf631
107
113
  with:
108
114
  body_path: scripts/latest-release-notes.md
109
115
  files: dist/*
@@ -30,11 +30,13 @@ jobs:
30
30
  - uses: actions/checkout@v4
31
31
  with:
32
32
  fetch-depth: 0
33
+ # persist-credentials is needed in order for us to push the release branch.
34
+ persist-credentials: true
33
35
 
34
36
  - name: Set up Python
35
37
  uses: actions/setup-python@v5
36
38
  with:
37
- python-version: "3.8"
39
+ python-version: "3.x"
38
40
 
39
41
  - name: Install dependencies
40
42
  run: |
@@ -43,10 +45,18 @@ jobs:
43
45
 
44
46
  - name: Prepare release PR (minor/patch release)
45
47
  if: github.event.inputs.major == 'no'
48
+ env:
49
+ BRANCH: ${{ github.event.inputs.branch }}
50
+ PRERELEASE: ${{ github.event.inputs.prerelease }}
51
+ GH_TOKEN: ${{ github.token }}
46
52
  run: |
47
- tox -e prepare-release-pr -- ${{ github.event.inputs.branch }} ${{ github.token }} --prerelease='${{ github.event.inputs.prerelease }}'
53
+ tox -e prepare-release-pr -- "$BRANCH" --prerelease="$PRERELEASE"
48
54
 
49
55
  - name: Prepare release PR (major release)
50
56
  if: github.event.inputs.major == 'yes'
57
+ env:
58
+ BRANCH: ${{ github.event.inputs.branch }}
59
+ PRERELEASE: ${{ github.event.inputs.prerelease }}
60
+ GH_TOKEN: ${{ github.token }}
51
61
  run: |
52
- tox -e prepare-release-pr -- ${{ github.event.inputs.branch }} ${{ github.token }} --major --prerelease='${{ github.event.inputs.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.6.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",
58
- "windows-py38-pluggy",
59
- "windows-py39",
57
+ "windows-py39-unittestextras",
58
+ "windows-py39-pluggy",
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-py38-pluggy",
67
- "ubuntu-py38-freeze",
68
- "ubuntu-py39",
69
- "ubuntu-py310",
66
+ "ubuntu-py39-lsof-numpy-pexpect",
67
+ "ubuntu-py39-pluggy",
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
91
- - name: "windows-py38-pluggy"
92
- python: "3.8"
93
+
94
+ - name: "windows-py39-pluggy"
95
+ python: "3.9"
93
96
  os: windows-latest
94
- tox_env: "py38-pluggymain-pylib-xdist"
95
- - name: "windows-py39"
97
+ tox_env: "py39-pluggymain-pylib-xdist"
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
121
- - name: "ubuntu-py38-pluggy"
122
- python: "3.8"
134
+
135
+ - name: "ubuntu-py39-pluggy"
136
+ python: "3.9"
123
137
  os: ubuntu-latest
124
- tox_env: "py38-pluggymain-pylib-xdist"
125
- - name: "ubuntu-py38-freeze"
126
- python: "3.8"
138
+ tox_env: "py39-pluggymain-pylib-xdist"
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
@@ -192,12 +225,12 @@ jobs:
192
225
  contains(
193
226
  fromJSON(
194
227
  '[
195
- "windows-py38-pluggy",
228
+ "windows-py39-pluggy",
196
229
  "windows-py313",
197
- "ubuntu-py38-pluggy",
198
- "ubuntu-py38-freeze",
230
+ "ubuntu-py39-pluggy",
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
@@ -23,12 +23,14 @@ jobs:
23
23
  uses: actions/checkout@v4
24
24
  with:
25
25
  fetch-depth: 0
26
+ persist-credentials: false
26
27
 
27
28
  - name: Setup Python
28
29
  uses: actions/setup-python@v5
29
30
  with:
30
31
  python-version: "3.11"
31
32
  cache: pip
33
+
32
34
  - name: requests-cache
33
35
  uses: actions/cache@v4
34
36
  with:
@@ -41,13 +43,12 @@ jobs:
41
43
  python -m pip install --upgrade pip
42
44
  pip install packaging requests tabulate[widechars] tqdm requests-cache platformdirs
43
45
 
44
-
45
46
  - name: Update Plugin List
46
47
  run: python scripts/update-plugin-list.py
47
48
 
48
49
  - name: Create Pull Request
49
50
  id: pr
50
- uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
51
+ uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
51
52
  with:
52
53
  commit-message: '[automated] Update plugin list'
53
54
  author: 'pytest bot <pytestbot@users.noreply.github.com>'
@@ -61,8 +62,9 @@ jobs:
61
62
  - name: Instruct the maintainers to trigger CI by undrafting the PR
62
63
  env:
63
64
  GITHUB_TOKEN: ${{ github.token }}
65
+ PULL_REQUEST_NUMBER: ${{ steps.pr.outputs.pull-request-number }}
64
66
  run: >-
65
67
  gh pr comment
66
68
  --body 'Please mark the PR as ready for review to trigger PR checks.'
67
69
  --repo '${{ github.repository }}'
68
- '${{ steps.pr.outputs.pull-request-number }}'
70
+ "$PULL_REQUEST_NUMBER"
@@ -1,23 +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
+ - repo: https://github.com/woodruffw/zizmor-pre-commit
15
+ rev: v1.8.0
16
+ hooks:
17
+ - id: zizmor
14
18
  - repo: https://github.com/adamchainz/blacken-docs
15
- rev: 1.18.0
19
+ rev: 1.19.1
16
20
  hooks:
17
21
  - id: blacken-docs
18
22
  additional_dependencies: [black==24.1.1]
19
23
  - repo: https://github.com/codespell-project/codespell
20
- rev: v2.3.0
24
+ rev: v2.4.1
21
25
  hooks:
22
26
  - id: codespell
23
27
  args: ["--toml=pyproject.toml"]
@@ -28,7 +32,7 @@ repos:
28
32
  hooks:
29
33
  - id: python-use-type-annotations
30
34
  - repo: https://github.com/pre-commit/mirrors-mypy
31
- rev: v1.11.2
35
+ rev: v1.15.0
32
36
  hooks:
33
37
  - id: mypy
34
38
  files: ^(src/|testing/|scripts/)
@@ -43,16 +47,38 @@ repos:
43
47
  # for mypy running on python>=3.11 since exceptiongroup is only a dependency
44
48
  # on <3.11
45
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]
46
68
  - repo: https://github.com/tox-dev/pyproject-fmt
47
- rev: "2.2.1"
69
+ rev: "v2.6.0"
48
70
  hooks:
49
71
  - id: pyproject-fmt
50
72
  # https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
51
73
  additional_dependencies: ["tox>=4.9"]
52
74
  - repo: https://github.com/asottile/pyupgrade
53
- rev: v3.17.0
75
+ rev: v3.20.0
54
76
  hooks:
55
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
56
82
  stages: [manual]
57
83
  - repo: local
58
84
  hooks:
@@ -61,7 +87,8 @@ repos:
61
87
  entry: pylint
62
88
  language: system
63
89
  types: [python]
64
- args: ["-rn", "-sn", "--fail-on=I"]
90
+ args: ["-rn", "-sn", "--fail-on=I", "--enable-all-extentions"]
91
+ require_serial: true
65
92
  stages: [manual]
66
93
  - id: rst
67
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
@@ -255,6 +267,7 @@ lovetheguitar
255
267
  Lukas Bednar
256
268
  Luke Murphy
257
269
  Maciek Fijalkowski
270
+ Maggie Chung
258
271
  Maho
259
272
  Maik Figura
260
273
  Mandeep Bhutani
@@ -262,6 +275,7 @@ Manuel Krebber
262
275
  Marc Mueller
263
276
  Marc Schlaich
264
277
  Marcelo Duarte Trevisani
278
+ Marcin Augustynów
265
279
  Marcin Bachry
266
280
  Marc Bresson
267
281
  Marco Gorelli
@@ -301,6 +315,7 @@ Milan Lesnek
301
315
  Miro Hrončok
302
316
  mrbean-bremen
303
317
  Nathan Goldbaum
318
+ Nathan Rousseau
304
319
  Nathaniel Compton
305
320
  Nathaniel Waisbrot
306
321
  Nauman Ahmed
@@ -317,6 +332,7 @@ Nikolay Kondratyev
317
332
  Nipunn Koorapati
318
333
  Oleg Pidsadnyi
319
334
  Oleg Sushchenko
335
+ Oleksandr Zavertniev
320
336
  Olga Matoula
321
337
  Oliver Bestwalter
322
338
  Omar Kohl
@@ -330,8 +346,10 @@ Paul Müller
330
346
  Paul Reece
331
347
  Pauli Virtanen
332
348
  Pavel Karateev
349
+ Pavel Zhukov
333
350
  Paweł Adamczak
334
351
  Pedro Algarvio
352
+ Peter Gessler
335
353
  Petter Strandmark
336
354
  Philipp Loose
337
355
  Pierre Sassoulas
@@ -353,6 +371,7 @@ Ran Benita
353
371
  Raphael Castaneda
354
372
  Raphael Pierzina
355
373
  Rafal Semik
374
+ Reza Mousavi
356
375
  Raquel Alegre
357
376
  Ravi Chandra
358
377
  Reagan Lee
@@ -387,6 +406,7 @@ Serhii Mozghovyi
387
406
  Seth Junot
388
407
  Shantanu Jain
389
408
  Sharad Nair
409
+ Shaygan Hooshyari
390
410
  Shubham Adep
391
411
  Simon Blanchard
392
412
  Simon Gomizelj
@@ -402,11 +422,13 @@ Stefanie Molin
402
422
  Stefano Taschini
403
423
  Steffen Allner
404
424
  Stephan Obermann
425
+ Sven
405
426
  Sven-Hendrik Haase
406
427
  Sviatoslav Sydorenko
407
428
  Sylvain Marié
408
429
  Tadek Teleżyński
409
430
  Takafumi Arakaki
431
+ Takumi Otani
410
432
  Taneli Hukkinen
411
433
  Tanvi Mehta
412
434
  Tanya Agarwal
@@ -422,6 +444,7 @@ Tim Hoffmann
422
444
  Tim Strazny
423
445
  TJ Bruno
424
446
  Tobias Diez
447
+ Tobias Petersen
425
448
  Tom Dalton
426
449
  Tom Viner
427
450
  Tomáš Gavenčiak
@@ -450,6 +473,7 @@ Volodymyr Kochetkov
450
473
  Volodymyr Piskun
451
474
  Wei Lin
452
475
  Wil Cooley
476
+ Will Riley
453
477
  William Lee
454
478
  Wim Glenn
455
479
  Wouter van Ackooy