pytest 8.3.2__tar.gz → 8.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (609) hide show
  1. {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/deploy.yml +3 -1
  2. {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/test.yml +1 -1
  3. {pytest-8.3.2 → pytest-8.3.4}/.pre-commit-config.yaml +12 -6
  4. {pytest-8.3.2 → pytest-8.3.4}/AUTHORS +7 -0
  5. {pytest-8.3.2 → pytest-8.3.4}/CONTRIBUTING.rst +55 -2
  6. {pytest-8.3.2/src/pytest.egg-info → pytest-8.3.4}/PKG-INFO +1 -1
  7. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/index.rst +2 -0
  8. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.0.rst +2 -2
  9. pytest-8.3.4/doc/en/announce/release-8.3.3.rst +31 -0
  10. pytest-8.3.4/doc/en/announce/release-8.3.4.rst +30 -0
  11. pytest-8.3.4/doc/en/broken-dep-constraints.txt +6 -0
  12. {pytest-8.3.2 → pytest-8.3.4}/doc/en/builtin.rst +22 -35
  13. {pytest-8.3.2 → pytest-8.3.4}/doc/en/changelog.rst +91 -4
  14. {pytest-8.3.2 → pytest-8.3.4}/doc/en/contact.rst +3 -2
  15. {pytest-8.3.2 → pytest-8.3.4}/doc/en/deprecations.rst +1 -1
  16. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/parametrize.rst +4 -4
  17. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/pythoncollection.rst +2 -2
  18. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/simple.rst +1 -1
  19. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/fixtures.rst +1 -1
  20. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/goodpractices.rst +2 -2
  21. {pytest-8.3.2 → pytest-8.3.4}/doc/en/funcarg_compare.rst +3 -3
  22. {pytest-8.3.2 → pytest-8.3.4}/doc/en/getting-started.rst +1 -1
  23. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/capture-stdout-stderr.rst +15 -27
  24. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/capture-warnings.rst +38 -12
  25. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/fixtures.rst +2 -2
  26. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/tmp_path.rst +35 -15
  27. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/unittest.rst +1 -1
  28. {pytest-8.3.2 → pytest-8.3.4}/doc/en/index.rst +0 -1
  29. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/reference.rst +13 -7
  30. pytest-8.3.4/doc/en/requirements.txt +10 -0
  31. {pytest-8.3.2 → pytest-8.3.4}/pyproject.toml +6 -0
  32. {pytest-8.3.2 → pytest-8.3.4}/scripts/release.py +15 -4
  33. {pytest-8.3.2 → pytest-8.3.4}/scripts/update-plugin-list.py +1 -0
  34. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/code.py +12 -6
  35. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/pprint.py +2 -2
  36. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_version.py +2 -2
  37. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/rewrite.py +25 -8
  38. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/cacheprovider.py +3 -5
  39. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/capture.py +12 -11
  40. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/__init__.py +13 -8
  41. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/debugging.py +1 -1
  42. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/doctest.py +3 -2
  43. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/faulthandler.py +1 -0
  44. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/fixtures.py +16 -6
  45. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/hookspec.py +11 -0
  46. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/legacypath.py +5 -10
  47. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/logging.py +11 -13
  48. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/main.py +1 -1
  49. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/monkeypatch.py +2 -2
  50. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/nodes.py +3 -3
  51. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pathlib.py +100 -35
  52. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pytester.py +2 -2
  53. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python.py +6 -6
  54. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python_api.py +26 -18
  55. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/recwarn.py +2 -3
  56. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/runner.py +3 -3
  57. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/skipping.py +1 -1
  58. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/stepwise.py +1 -1
  59. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/terminal.py +2 -2
  60. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/threadexception.py +4 -4
  61. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/tmpdir.py +8 -16
  62. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/unittest.py +2 -2
  63. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/unraisableexception.py +4 -4
  64. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/warnings.py +4 -4
  65. {pytest-8.3.2 → pytest-8.3.4/src/pytest.egg-info}/PKG-INFO +1 -1
  66. {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/SOURCES.txt +3 -0
  67. {pytest-8.3.2 → pytest-8.3.4}/testing/acceptance_test.py +7 -0
  68. {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_excinfo.py +17 -0
  69. {pytest-8.3.2 → pytest-8.3.4}/testing/conftest.py +3 -3
  70. {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_terminalwriter.py +1 -3
  71. {pytest-8.3.2 → pytest-8.3.4}/testing/python/approx.py +22 -1
  72. {pytest-8.3.2 → pytest-8.3.4}/testing/python/collect.py +37 -0
  73. {pytest-8.3.2 → pytest-8.3.4}/testing/python/fixtures.py +2 -2
  74. {pytest-8.3.2 → pytest-8.3.4}/testing/test_assertion.py +1 -1
  75. {pytest-8.3.2 → pytest-8.3.4}/testing/test_assertrewrite.py +236 -5
  76. {pytest-8.3.2 → pytest-8.3.4}/testing/test_cacheprovider.py +1 -1
  77. {pytest-8.3.2 → pytest-8.3.4}/testing/test_capture.py +1 -1
  78. {pytest-8.3.2 → pytest-8.3.4}/testing/test_config.py +14 -8
  79. {pytest-8.3.2 → pytest-8.3.4}/testing/test_conftest.py +1 -3
  80. {pytest-8.3.2 → pytest-8.3.4}/testing/test_debugging.py +12 -4
  81. {pytest-8.3.2 → pytest-8.3.4}/testing/test_monkeypatch.py +2 -2
  82. {pytest-8.3.2 → pytest-8.3.4}/testing/test_pathlib.py +110 -2
  83. {pytest-8.3.2 → pytest-8.3.4}/testing/test_runner.py +1 -1
  84. {pytest-8.3.2 → pytest-8.3.4}/testing/test_terminal.py +35 -0
  85. pytest-8.3.2/doc/en/requirements.txt +0 -13
  86. {pytest-8.3.2 → pytest-8.3.4}/.coveragerc +0 -0
  87. {pytest-8.3.2 → pytest-8.3.4}/.git-blame-ignore-revs +0 -0
  88. {pytest-8.3.2 → pytest-8.3.4}/.gitattributes +0 -0
  89. {pytest-8.3.2 → pytest-8.3.4}/.github/FUNDING.yml +0 -0
  90. {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  91. {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  92. {pytest-8.3.2 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  93. {pytest-8.3.2 → pytest-8.3.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  94. {pytest-8.3.2 → pytest-8.3.4}/.github/chronographer.yml +0 -0
  95. {pytest-8.3.2 → pytest-8.3.4}/.github/config.yml +0 -0
  96. {pytest-8.3.2 → pytest-8.3.4}/.github/dependabot.yml +0 -0
  97. {pytest-8.3.2 → pytest-8.3.4}/.github/labels.toml +0 -0
  98. {pytest-8.3.2 → pytest-8.3.4}/.github/patchback.yml +0 -0
  99. {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/prepare-release-pr.yml +0 -0
  100. {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/stale.yml +0 -0
  101. {pytest-8.3.2 → pytest-8.3.4}/.github/workflows/update-plugin-list.yml +0 -0
  102. {pytest-8.3.2 → pytest-8.3.4}/.gitignore +0 -0
  103. {pytest-8.3.2 → pytest-8.3.4}/.readthedocs.yaml +0 -0
  104. {pytest-8.3.2 → pytest-8.3.4}/CHANGELOG.rst +0 -0
  105. {pytest-8.3.2 → pytest-8.3.4}/CITATION +0 -0
  106. {pytest-8.3.2 → pytest-8.3.4}/CODE_OF_CONDUCT.md +0 -0
  107. {pytest-8.3.2 → pytest-8.3.4}/LICENSE +0 -0
  108. {pytest-8.3.2 → pytest-8.3.4}/OPENCOLLECTIVE.rst +0 -0
  109. {pytest-8.3.2 → pytest-8.3.4}/README.rst +0 -0
  110. {pytest-8.3.2 → pytest-8.3.4}/RELEASING.rst +0 -0
  111. {pytest-8.3.2 → pytest-8.3.4}/TIDELIFT.rst +0 -0
  112. {pytest-8.3.2 → pytest-8.3.4}/bench/bench.py +0 -0
  113. {pytest-8.3.2 → pytest-8.3.4}/bench/bench_argcomplete.py +0 -0
  114. {pytest-8.3.2 → pytest-8.3.4}/bench/empty.py +0 -0
  115. {pytest-8.3.2 → pytest-8.3.4}/bench/manyparam.py +0 -0
  116. {pytest-8.3.2 → pytest-8.3.4}/bench/skip.py +0 -0
  117. {pytest-8.3.2 → pytest-8.3.4}/bench/unit_test.py +0 -0
  118. {pytest-8.3.2 → pytest-8.3.4}/bench/xunit.py +0 -0
  119. {pytest-8.3.2 → pytest-8.3.4}/changelog/.gitignore +0 -0
  120. {pytest-8.3.2 → pytest-8.3.4}/changelog/README.rst +0 -0
  121. {pytest-8.3.2 → pytest-8.3.4}/changelog/_template.rst +0 -0
  122. {pytest-8.3.2 → pytest-8.3.4}/codecov.yml +0 -0
  123. {pytest-8.3.2 → pytest-8.3.4}/doc/en/Makefile +0 -0
  124. {pytest-8.3.2 → pytest-8.3.4}/doc/en/_static/pytest-custom.css +0 -0
  125. {pytest-8.3.2 → pytest-8.3.4}/doc/en/_static/pytest1.png +0 -0
  126. {pytest-8.3.2 → pytest-8.3.4}/doc/en/_templates/links.html +0 -0
  127. {pytest-8.3.2 → pytest-8.3.4}/doc/en/adopt.rst +0 -0
  128. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.0.rst +0 -0
  129. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.1.rst +0 -0
  130. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.2.rst +0 -0
  131. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.0.3.rst +0 -0
  132. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.0.rst +0 -0
  133. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.1.rst +0 -0
  134. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.2.rst +0 -0
  135. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.1.3.rst +0 -0
  136. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.0.rst +0 -0
  137. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.1.rst +0 -0
  138. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.2.rst +0 -0
  139. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.2.4.rst +0 -0
  140. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.1.rst +0 -0
  141. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.2.rst +0 -0
  142. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.3.rst +0 -0
  143. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.4.rst +0 -0
  144. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.3.5.rst +0 -0
  145. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.0.rst +0 -0
  146. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.1.rst +0 -0
  147. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.4.2.rst +0 -0
  148. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.0.rst +0 -0
  149. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.1.rst +0 -0
  150. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.5.2.rst +0 -0
  151. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.0.rst +0 -0
  152. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.1.rst +0 -0
  153. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.2.rst +0 -0
  154. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.6.3.rst +0 -0
  155. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.0.rst +0 -0
  156. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.1.rst +0 -0
  157. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.7.2.rst +0 -0
  158. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.2.rst +0 -0
  159. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.3.rst +0 -0
  160. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.4.rst +0 -0
  161. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.5.rst +0 -0
  162. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.6.rst +0 -0
  163. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.8.7.rst +0 -0
  164. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.0.rst +0 -0
  165. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.1.rst +0 -0
  166. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-2.9.2.rst +0 -0
  167. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.0.rst +0 -0
  168. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.1.rst +0 -0
  169. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.2.rst +0 -0
  170. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.3.rst +0 -0
  171. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.4.rst +0 -0
  172. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.5.rst +0 -0
  173. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.6.rst +0 -0
  174. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.0.7.rst +0 -0
  175. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.0.rst +0 -0
  176. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.1.rst +0 -0
  177. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.2.rst +0 -0
  178. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.1.3.rst +0 -0
  179. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.10.0.rst +0 -0
  180. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.10.1.rst +0 -0
  181. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.0.rst +0 -0
  182. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.1.rst +0 -0
  183. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.2.rst +0 -0
  184. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.3.rst +0 -0
  185. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.4.rst +0 -0
  186. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.2.5.rst +0 -0
  187. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.0.rst +0 -0
  188. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.1.rst +0 -0
  189. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.3.2.rst +0 -0
  190. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.0.rst +0 -0
  191. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.1.rst +0 -0
  192. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.4.2.rst +0 -0
  193. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.5.0.rst +0 -0
  194. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.5.1.rst +0 -0
  195. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.0.rst +0 -0
  196. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.1.rst +0 -0
  197. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.2.rst +0 -0
  198. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.3.rst +0 -0
  199. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.6.4.rst +0 -0
  200. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.0.rst +0 -0
  201. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.1.rst +0 -0
  202. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.2.rst +0 -0
  203. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.3.rst +0 -0
  204. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.7.4.rst +0 -0
  205. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.0.rst +0 -0
  206. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.1.rst +0 -0
  207. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.8.2.rst +0 -0
  208. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.0.rst +0 -0
  209. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.1.rst +0 -0
  210. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.2.rst +0 -0
  211. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-3.9.3.rst +0 -0
  212. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.0.rst +0 -0
  213. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.1.rst +0 -0
  214. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.0.2.rst +0 -0
  215. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.1.0.rst +0 -0
  216. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.1.1.rst +0 -0
  217. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.2.0.rst +0 -0
  218. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.2.1.rst +0 -0
  219. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.3.0.rst +0 -0
  220. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.3.1.rst +0 -0
  221. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.0.rst +0 -0
  222. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.1.rst +0 -0
  223. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.4.2.rst +0 -0
  224. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.5.0.rst +0 -0
  225. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.0.rst +0 -0
  226. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.1.rst +0 -0
  227. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.2.rst +0 -0
  228. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.3.rst +0 -0
  229. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.4.rst +0 -0
  230. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.5.rst +0 -0
  231. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.6.rst +0 -0
  232. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.7.rst +0 -0
  233. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.8.rst +0 -0
  234. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-4.6.9.rst +0 -0
  235. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.0.0.rst +0 -0
  236. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.0.1.rst +0 -0
  237. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.0.rst +0 -0
  238. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.1.rst +0 -0
  239. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.2.rst +0 -0
  240. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.1.3.rst +0 -0
  241. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.0.rst +0 -0
  242. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.1.rst +0 -0
  243. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.2.rst +0 -0
  244. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.3.rst +0 -0
  245. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.2.4.rst +0 -0
  246. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.0.rst +0 -0
  247. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.1.rst +0 -0
  248. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.2.rst +0 -0
  249. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.3.rst +0 -0
  250. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.4.rst +0 -0
  251. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.3.5.rst +0 -0
  252. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.0.rst +0 -0
  253. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.1.rst +0 -0
  254. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.2.rst +0 -0
  255. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-5.4.3.rst +0 -0
  256. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.0.rst +0 -0
  257. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  258. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.1.rst +0 -0
  259. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.0.2.rst +0 -0
  260. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.0.rst +0 -0
  261. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.1.rst +0 -0
  262. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.1.2.rst +0 -0
  263. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.0.rst +0 -0
  264. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.1.rst +0 -0
  265. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.2.rst +0 -0
  266. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.3.rst +0 -0
  267. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.4.rst +0 -0
  268. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-6.2.5.rst +0 -0
  269. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.0.rst +0 -0
  270. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  271. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.0.1.rst +0 -0
  272. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.0.rst +0 -0
  273. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.1.rst +0 -0
  274. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.2.rst +0 -0
  275. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.1.3.rst +0 -0
  276. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.0.rst +0 -0
  277. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.1.rst +0 -0
  278. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.2.2.rst +0 -0
  279. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.0.rst +0 -0
  280. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.1.rst +0 -0
  281. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.3.2.rst +0 -0
  282. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.0.rst +0 -0
  283. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.1.rst +0 -0
  284. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.2.rst +0 -0
  285. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.3.rst +0 -0
  286. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-7.4.4.rst +0 -0
  287. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0.rst +0 -0
  288. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc1.rst +0 -0
  289. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc2.rst +0 -0
  290. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.1.rst +0 -0
  291. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.0.2.rst +0 -0
  292. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.0.rst +0 -0
  293. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.1.rst +0 -0
  294. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.1.2.rst +0 -0
  295. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.0.rst +0 -0
  296. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.1.rst +0 -0
  297. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.2.2.rst +0 -0
  298. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.0.rst +0 -0
  299. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.1.rst +0 -0
  300. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/release-8.3.2.rst +0 -0
  301. {pytest-8.3.2 → pytest-8.3.4}/doc/en/announce/sprint2016.rst +0 -0
  302. {pytest-8.3.2 → pytest-8.3.4}/doc/en/backwards-compatibility.rst +0 -0
  303. {pytest-8.3.2 → pytest-8.3.4}/doc/en/conf.py +0 -0
  304. {pytest-8.3.2 → pytest-8.3.4}/doc/en/conftest.py +0 -0
  305. {pytest-8.3.2 → pytest-8.3.4}/doc/en/contents.rst +0 -0
  306. {pytest-8.3.2 → pytest-8.3.4}/doc/en/contributing.rst +0 -0
  307. {pytest-8.3.2 → pytest-8.3.4}/doc/en/development_guide.rst +0 -0
  308. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/failure_demo.py +0 -0
  309. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  310. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  311. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/test_failures.py +0 -0
  312. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  313. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/attic.rst +0 -0
  314. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/conftest.py +0 -0
  315. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/conftest.py +0 -0
  316. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/pytest.ini +0 -0
  317. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/manifest.json +0 -0
  318. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_first.py +0 -0
  319. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_second.py +0 -0
  320. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_third.py +0 -0
  321. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/customdirectory.rst +0 -0
  322. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  323. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  324. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  325. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  326. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  327. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  328. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  329. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  330. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  331. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  332. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  333. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  334. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  335. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  336. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  337. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  338. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  339. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/index.rst +0 -0
  340. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/markers.rst +0 -0
  341. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/multipython.py +0 -0
  342. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/__init__.py +0 -0
  343. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/conftest.py +0 -0
  344. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
  345. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/nonpython.rst +0 -0
  346. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/pythoncollection.py +0 -0
  347. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/reportingdemo.rst +0 -0
  348. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/special.rst +0 -0
  349. {pytest-8.3.2 → pytest-8.3.4}/doc/en/example/xfail_demo.py +0 -0
  350. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/anatomy.rst +0 -0
  351. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/ci.rst +0 -0
  352. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/flaky.rst +0 -0
  353. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/index.rst +0 -0
  354. {pytest-8.3.2 → pytest-8.3.4}/doc/en/explanation/pythonpath.rst +0 -0
  355. {pytest-8.3.2 → pytest-8.3.4}/doc/en/funcargs.rst +0 -0
  356. {pytest-8.3.2 → pytest-8.3.4}/doc/en/historical-notes.rst +0 -0
  357. {pytest-8.3.2 → pytest-8.3.4}/doc/en/history.rst +0 -0
  358. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/assert.rst +0 -0
  359. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/bash-completion.rst +0 -0
  360. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/cache.rst +0 -0
  361. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/doctest.rst +0 -0
  362. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/existingtestsuite.rst +0 -0
  363. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/failures.rst +0 -0
  364. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/index.rst +0 -0
  365. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/logging.rst +0 -0
  366. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/mark.rst +0 -0
  367. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/monkeypatch.rst +0 -0
  368. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/output.rst +0 -0
  369. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/parametrize.rst +0 -0
  370. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/plugins.rst +0 -0
  371. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/skipping.rst +0 -0
  372. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/usage.rst +0 -0
  373. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
  374. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/writing_plugins.rst +0 -0
  375. {pytest-8.3.2 → pytest-8.3.4}/doc/en/how-to/xunit_setup.rst +0 -0
  376. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/cramer2.png +0 -0
  377. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/favicon.png +0 -0
  378. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/freiburg2.jpg +0 -0
  379. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/gaynor3.png +0 -0
  380. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/keleshev.png +0 -0
  381. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pullrequest.png +0 -0
  382. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pylib.png +0 -0
  383. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/pytest_logo_curves.svg +0 -0
  384. {pytest-8.3.2 → pytest-8.3.4}/doc/en/img/theuni.png +0 -0
  385. {pytest-8.3.2 → pytest-8.3.4}/doc/en/license.rst +0 -0
  386. {pytest-8.3.2 → pytest-8.3.4}/doc/en/naming20.rst +0 -0
  387. {pytest-8.3.2 → pytest-8.3.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  388. {pytest-8.3.2 → pytest-8.3.4}/doc/en/pytest.ini +0 -0
  389. {pytest-8.3.2 → pytest-8.3.4}/doc/en/recwarn.rst +0 -0
  390. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/customize.rst +0 -0
  391. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/exit-codes.rst +0 -0
  392. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/fixtures.rst +0 -0
  393. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/index.rst +0 -0
  394. {pytest-8.3.2 → pytest-8.3.4}/doc/en/reference/plugin_list.rst +0 -0
  395. {pytest-8.3.2 → pytest-8.3.4}/doc/en/sponsor.rst +0 -0
  396. {pytest-8.3.2 → pytest-8.3.4}/doc/en/talks.rst +0 -0
  397. {pytest-8.3.2 → pytest-8.3.4}/doc/en/tidelift.rst +0 -0
  398. {pytest-8.3.2 → pytest-8.3.4}/doc/en/yieldfixture.rst +0 -0
  399. {pytest-8.3.2 → pytest-8.3.4}/extra/get_issues.py +0 -0
  400. {pytest-8.3.2 → pytest-8.3.4}/scripts/.gitignore +0 -0
  401. {pytest-8.3.2 → pytest-8.3.4}/scripts/generate-gh-release-notes.py +0 -0
  402. {pytest-8.3.2 → pytest-8.3.4}/scripts/prepare-release-pr.py +0 -0
  403. {pytest-8.3.2 → pytest-8.3.4}/scripts/release.major.rst +0 -0
  404. {pytest-8.3.2 → pytest-8.3.4}/scripts/release.minor.rst +0 -0
  405. {pytest-8.3.2 → pytest-8.3.4}/scripts/release.patch.rst +0 -0
  406. {pytest-8.3.2 → pytest-8.3.4}/scripts/release.pre.rst +0 -0
  407. {pytest-8.3.2 → pytest-8.3.4}/setup.cfg +0 -0
  408. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/__init__.py +0 -0
  409. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_argcomplete.py +0 -0
  410. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/__init__.py +0 -0
  411. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_code/source.py +0 -0
  412. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/__init__.py +0 -0
  413. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/saferepr.py +0 -0
  414. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/terminalwriter.py +0 -0
  415. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_io/wcwidth.py +0 -0
  416. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/__init__.py +0 -0
  417. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/error.py +0 -0
  418. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/_py/path.py +0 -0
  419. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/__init__.py +0 -0
  420. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/truncate.py +0 -0
  421. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/assertion/util.py +0 -0
  422. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/compat.py +0 -0
  423. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/argparsing.py +0 -0
  424. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/compat.py +0 -0
  425. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/exceptions.py +0 -0
  426. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/config/findpaths.py +0 -0
  427. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/deprecated.py +0 -0
  428. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/freeze_support.py +0 -0
  429. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/helpconfig.py +0 -0
  430. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/junitxml.py +0 -0
  431. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/__init__.py +0 -0
  432. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/expression.py +0 -0
  433. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/mark/structures.py +0 -0
  434. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/outcomes.py +0 -0
  435. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pastebin.py +0 -0
  436. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/py.typed +0 -0
  437. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/pytester_assertions.py +0 -0
  438. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/python_path.py +0 -0
  439. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/reports.py +0 -0
  440. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/scope.py +0 -0
  441. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/setuponly.py +0 -0
  442. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/setupplan.py +0 -0
  443. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/stash.py +0 -0
  444. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/timing.py +0 -0
  445. {pytest-8.3.2 → pytest-8.3.4}/src/_pytest/warning_types.py +0 -0
  446. {pytest-8.3.2 → pytest-8.3.4}/src/py.py +0 -0
  447. {pytest-8.3.2 → pytest-8.3.4}/src/pytest/__init__.py +0 -0
  448. {pytest-8.3.2 → pytest-8.3.4}/src/pytest/__main__.py +0 -0
  449. {pytest-8.3.2 → pytest-8.3.4}/src/pytest/py.typed +0 -0
  450. {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/dependency_links.txt +0 -0
  451. {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/entry_points.txt +0 -0
  452. {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/requires.txt +0 -0
  453. {pytest-8.3.2 → pytest-8.3.4}/src/pytest.egg-info/top_level.txt +0 -0
  454. {pytest-8.3.2 → pytest-8.3.4}/testing/_py/test_local.py +0 -0
  455. {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_code.py +0 -0
  456. {pytest-8.3.2 → pytest-8.3.4}/testing/code/test_source.py +0 -0
  457. {pytest-8.3.2 → pytest-8.3.4}/testing/deprecated_test.py +0 -0
  458. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/README.rst +0 -0
  459. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/__init__.py +0 -0
  460. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
  461. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  462. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  463. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  464. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  465. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  466. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  467. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  468. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  469. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  470. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  471. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  472. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  473. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  474. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  475. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/conftest.py +0 -0
  476. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/pytest.ini +0 -0
  477. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
  478. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
  479. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
  480. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
  481. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  482. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  483. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  484. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
  485. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  486. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  487. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  488. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  489. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  490. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  491. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  492. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  493. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  494. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
  495. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
  496. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
  497. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
  498. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
  499. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
  500. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  501. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  502. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  503. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  504. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  505. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
  506. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  507. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  508. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
  509. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  510. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  511. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  512. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  513. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  514. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  515. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  516. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  517. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  518. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  519. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/issue_519.py +0 -0
  520. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/junit-10.xsd +0 -0
  521. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  522. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  523. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  524. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  525. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  526. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  527. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/pytest.ini +0 -0
  528. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  529. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  530. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
  531. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
  532. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
  533. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  534. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
  535. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  536. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  537. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  538. {pytest-8.3.2 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  539. {pytest-8.3.2 → pytest-8.3.4}/testing/examples/test_issue519.py +0 -0
  540. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/.gitignore +0 -0
  541. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/create_executable.py +0 -0
  542. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/runtests_script.py +0 -0
  543. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tests/test_doctest.txt +0 -0
  544. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tests/test_trivial.py +0 -0
  545. {pytest-8.3.2 → pytest-8.3.4}/testing/freeze/tox_run.py +0 -0
  546. {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_pprint.py +0 -0
  547. {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_saferepr.py +0 -0
  548. {pytest-8.3.2 → pytest-8.3.4}/testing/io/test_wcwidth.py +0 -0
  549. {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_fixture.py +0 -0
  550. {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_formatter.py +0 -0
  551. {pytest-8.3.2 → pytest-8.3.4}/testing/logging/test_reporting.py +0 -0
  552. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/.gitignore +0 -0
  553. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/README.rst +0 -0
  554. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
  555. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.py +0 -0
  556. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/django_settings.py +0 -0
  557. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest.ini +0 -0
  558. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  559. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  560. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  561. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
  562. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  563. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  564. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/requirements.txt +0 -0
  565. {pytest-8.3.2 → pytest-8.3.4}/testing/plugins_integration/simple_integration.py +0 -0
  566. {pytest-8.3.2 → pytest-8.3.4}/testing/python/integration.py +0 -0
  567. {pytest-8.3.2 → pytest-8.3.4}/testing/python/metafunc.py +0 -0
  568. {pytest-8.3.2 → pytest-8.3.4}/testing/python/raises.py +0 -0
  569. {pytest-8.3.2 → pytest-8.3.4}/testing/python/show_fixtures_per_test.py +0 -0
  570. {pytest-8.3.2 → pytest-8.3.4}/testing/test_argcomplete.py +0 -0
  571. {pytest-8.3.2 → pytest-8.3.4}/testing/test_collection.py +0 -0
  572. {pytest-8.3.2 → pytest-8.3.4}/testing/test_compat.py +0 -0
  573. {pytest-8.3.2 → pytest-8.3.4}/testing/test_doctest.py +0 -0
  574. {pytest-8.3.2 → pytest-8.3.4}/testing/test_entry_points.py +0 -0
  575. {pytest-8.3.2 → pytest-8.3.4}/testing/test_error_diffs.py +0 -0
  576. {pytest-8.3.2 → pytest-8.3.4}/testing/test_faulthandler.py +0 -0
  577. {pytest-8.3.2 → pytest-8.3.4}/testing/test_findpaths.py +0 -0
  578. {pytest-8.3.2 → pytest-8.3.4}/testing/test_helpconfig.py +0 -0
  579. {pytest-8.3.2 → pytest-8.3.4}/testing/test_junitxml.py +0 -0
  580. {pytest-8.3.2 → pytest-8.3.4}/testing/test_legacypath.py +0 -0
  581. {pytest-8.3.2 → pytest-8.3.4}/testing/test_link_resolve.py +0 -0
  582. {pytest-8.3.2 → pytest-8.3.4}/testing/test_main.py +0 -0
  583. {pytest-8.3.2 → pytest-8.3.4}/testing/test_mark.py +0 -0
  584. {pytest-8.3.2 → pytest-8.3.4}/testing/test_mark_expression.py +0 -0
  585. {pytest-8.3.2 → pytest-8.3.4}/testing/test_meta.py +0 -0
  586. {pytest-8.3.2 → pytest-8.3.4}/testing/test_nodes.py +0 -0
  587. {pytest-8.3.2 → pytest-8.3.4}/testing/test_parseopt.py +0 -0
  588. {pytest-8.3.2 → pytest-8.3.4}/testing/test_pastebin.py +0 -0
  589. {pytest-8.3.2 → pytest-8.3.4}/testing/test_pluginmanager.py +0 -0
  590. {pytest-8.3.2 → pytest-8.3.4}/testing/test_pytester.py +0 -0
  591. {pytest-8.3.2 → pytest-8.3.4}/testing/test_python_path.py +0 -0
  592. {pytest-8.3.2 → pytest-8.3.4}/testing/test_recwarn.py +0 -0
  593. {pytest-8.3.2 → pytest-8.3.4}/testing/test_reports.py +0 -0
  594. {pytest-8.3.2 → pytest-8.3.4}/testing/test_runner_xunit.py +0 -0
  595. {pytest-8.3.2 → pytest-8.3.4}/testing/test_scope.py +0 -0
  596. {pytest-8.3.2 → pytest-8.3.4}/testing/test_session.py +0 -0
  597. {pytest-8.3.2 → pytest-8.3.4}/testing/test_setuponly.py +0 -0
  598. {pytest-8.3.2 → pytest-8.3.4}/testing/test_setupplan.py +0 -0
  599. {pytest-8.3.2 → pytest-8.3.4}/testing/test_skipping.py +0 -0
  600. {pytest-8.3.2 → pytest-8.3.4}/testing/test_stash.py +0 -0
  601. {pytest-8.3.2 → pytest-8.3.4}/testing/test_stepwise.py +0 -0
  602. {pytest-8.3.2 → pytest-8.3.4}/testing/test_threadexception.py +0 -0
  603. {pytest-8.3.2 → pytest-8.3.4}/testing/test_tmpdir.py +0 -0
  604. {pytest-8.3.2 → pytest-8.3.4}/testing/test_unittest.py +0 -0
  605. {pytest-8.3.2 → pytest-8.3.4}/testing/test_unraisableexception.py +0 -0
  606. {pytest-8.3.2 → pytest-8.3.4}/testing/test_warning_types.py +0 -0
  607. {pytest-8.3.2 → pytest-8.3.4}/testing/test_warnings.py +0 -0
  608. {pytest-8.3.2 → pytest-8.3.4}/testing/typing_checks.py +0 -0
  609. {pytest-8.3.2 → pytest-8.3.4}/tox.ini +0 -0
@@ -54,7 +54,9 @@ jobs:
54
54
  path: dist
55
55
 
56
56
  - name: Publish package to PyPI
57
- uses: pypa/gh-action-pypi-publish@v1.9.0
57
+ uses: pypa/gh-action-pypi-publish@v1.12.2
58
+ with:
59
+ attestations: true
58
60
 
59
61
  - name: Push tag
60
62
  run: |
@@ -147,7 +147,7 @@ jobs:
147
147
  - name: "ubuntu-py313"
148
148
  python: "3.13-dev"
149
149
  os: ubuntu-latest
150
- tox_env: "py313"
150
+ tox_env: "py313-pexpect"
151
151
  use_coverage: true
152
152
  - name: "ubuntu-pypy3"
153
153
  python: "pypy-3.9"
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
- rev: "v0.5.2"
3
+ rev: "v0.6.2"
4
4
  hooks:
5
5
  - id: ruff
6
6
  args: ["--fix"]
@@ -16,35 +16,41 @@ repos:
16
16
  hooks:
17
17
  - id: blacken-docs
18
18
  additional_dependencies: [black==24.1.1]
19
+ - repo: https://github.com/codespell-project/codespell
20
+ rev: v2.3.0
21
+ hooks:
22
+ - id: codespell
23
+ args: ["--toml=pyproject.toml"]
24
+ additional_dependencies:
25
+ - tomli
19
26
  - repo: https://github.com/pre-commit/pygrep-hooks
20
27
  rev: v1.10.0
21
28
  hooks:
22
29
  - id: python-use-type-annotations
23
30
  - repo: https://github.com/pre-commit/mirrors-mypy
24
- rev: v1.10.1
31
+ rev: v1.11.2
25
32
  hooks:
26
33
  - id: mypy
27
34
  files: ^(src/|testing/|scripts/)
28
- args: []
29
35
  additional_dependencies:
30
36
  - iniconfig>=1.1.0
31
37
  - attrs>=19.2.0
32
38
  - pluggy>=1.5.0
33
39
  - packaging
34
40
  - tomli
35
- - types-pkg_resources
41
+ - types-setuptools
36
42
  - types-tabulate
37
43
  # for mypy running on python>=3.11 since exceptiongroup is only a dependency
38
44
  # on <3.11
39
45
  - exceptiongroup>=1.0.0rc8
40
46
  - repo: https://github.com/tox-dev/pyproject-fmt
41
- rev: "2.1.4"
47
+ rev: "2.2.1"
42
48
  hooks:
43
49
  - id: pyproject-fmt
44
50
  # https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
45
51
  additional_dependencies: ["tox>=4.9"]
46
52
  - repo: https://github.com/asottile/pyupgrade
47
- rev: v3.16.0
53
+ rev: v3.17.0
48
54
  hooks:
49
55
  - id: pyupgrade
50
56
  stages: [manual]
@@ -85,6 +85,7 @@ Chris NeJame
85
85
  Chris Rose
86
86
  Chris Wheeler
87
87
  Christian Boelsen
88
+ Christian Clauss
88
89
  Christian Fetzer
89
90
  Christian Neumüller
90
91
  Christian Theunert
@@ -115,6 +116,7 @@ Dave Hunt
115
116
  David Díaz-Barquero
116
117
  David Mohr
117
118
  David Paul Röthlisberger
119
+ David Peled
118
120
  David Szotten
119
121
  David Vierra
120
122
  Daw-Ran Liou
@@ -158,6 +160,7 @@ Feng Ma
158
160
  Florian Bruhin
159
161
  Florian Dahlitz
160
162
  Floris Bruynooghe
163
+ Frank Hoffmann
161
164
  Fraser Stark
162
165
  Gabriel Landau
163
166
  Gabriel Reis
@@ -242,6 +245,7 @@ Kristoffer Nordström
242
245
  Kyle Altendorf
243
246
  Lawrence Mitchell
244
247
  Lee Kamentsky
248
+ Leonardus Chen
245
249
  Lev Maximov
246
250
  Levon Saldamli
247
251
  Lewis Cowles
@@ -299,6 +303,7 @@ mrbean-bremen
299
303
  Nathan Goldbaum
300
304
  Nathaniel Compton
301
305
  Nathaniel Waisbrot
306
+ Nauman Ahmed
302
307
  Ned Batchelder
303
308
  Neil Martin
304
309
  Neven Mundar
@@ -351,6 +356,7 @@ Rafal Semik
351
356
  Raquel Alegre
352
357
  Ravi Chandra
353
358
  Reagan Lee
359
+ Rob Arrow
354
360
  Robert Holt
355
361
  Roberto Aldera
356
362
  Roberto Polli
@@ -411,6 +417,7 @@ Ted Xiao
411
417
  Terje Runde
412
418
  Thomas Grainger
413
419
  Thomas Hisch
420
+ Tianyu Dongfang
414
421
  Tim Hoffmann
415
422
  Tim Strazny
416
423
  TJ Bruno
@@ -380,6 +380,57 @@ pull requests from other contributors yourself after having reviewed
380
380
  them.
381
381
 
382
382
 
383
+ Merge/squash guidelines
384
+ -----------------------
385
+
386
+ When a PR is approved and ready to be integrated to the ``main`` branch, one has the option to *merge* the commits unchanged, or *squash* all the commits into a single commit.
387
+
388
+ Here are some guidelines on how to proceed, based on examples of a single PR commit history:
389
+
390
+ 1. Miscellaneous commits:
391
+
392
+ * ``Implement X``
393
+ * ``Fix test_a``
394
+ * ``Add myself to AUTHORS``
395
+ * ``fixup! Fix test_a``
396
+ * ``Update tests/test_integration.py``
397
+ * ``Merge origin/main into PR branch``
398
+ * ``Update tests/test_integration.py``
399
+
400
+ In this case, prefer to use the **Squash** merge strategy: the commit history is a bit messy (not in a derogatory way, often one just commits changes because they know the changes will eventually be squashed together), so squashing everything into a single commit is best. You must clean up the commit message, making sure it contains useful details.
401
+
402
+ 2. Separate commits related to the same topic:
403
+
404
+ * ``Implement X``
405
+ * ``Add myself to AUTHORS``
406
+ * ``Update CHANGELOG for X``
407
+
408
+ In this case, prefer to use the **Squash** merge strategy: while the commit history is not "messy" as in the example above, the individual commits do not bring much value overall, specially when looking at the changes a few months/years down the line.
409
+
410
+ 3. Separate commits, each with their own topic (refactorings, renames, etc), but still have a larger topic/purpose.
411
+
412
+ * ``Refactor class X in preparation for feature Y``
413
+ * ``Remove unused method``
414
+ * ``Implement feature Y``
415
+
416
+ In this case, prefer to use the **Merge** strategy: each commit is valuable on its own, even if they serve a common topic overall. Looking at the history later, it is useful to have the removal of the unused method separately on its own commit, along with more information (such as how it became unused in the first place).
417
+
418
+ 4. Separate commits, each with their own topic, but without a larger topic/purpose other than improve the code base (using more modern techniques, improve typing, removing clutter, etc).
419
+
420
+ * ``Improve internal names in X``
421
+ * ``Add type annotations to Y``
422
+ * ``Remove unnecessary dict access``
423
+ * ``Remove unreachable code due to EOL Python``
424
+
425
+ In this case, prefer to use the **Merge** strategy: each commit is valuable on its own, and the information on each is valuable in the long term.
426
+
427
+
428
+ As mentioned, those are overall guidelines, not rules cast in stone. This topic was discussed in `#12633 <https://github.com/pytest-dev/pytest/discussions/12633>`_.
429
+
430
+
431
+ *Backport PRs* (as those created automatically from a ``backport`` label) should always be **squashed**, as they preserve the original PR author.
432
+
433
+
383
434
  Backporting bug fixes for the next patch release
384
435
  ------------------------------------------------
385
436
 
@@ -438,6 +489,8 @@ above?
438
489
  All the above are not rules, but merely some guidelines/suggestions on what we should expect
439
490
  about backports.
440
491
 
492
+ Backports should be **squashed** (rather than **merged**), as doing so preserves the original PR author correctly.
493
+
441
494
  Handling stale issues/PRs
442
495
  -------------------------
443
496
 
@@ -485,9 +538,9 @@ When closing a Pull Request, it needs to be acknowledging the time, effort, and
485
538
 
486
539
  <bye>
487
540
 
488
- Closing Issues
541
+ Closing issues
489
542
  --------------
490
543
 
491
544
  When a pull request is submitted to fix an issue, add text like ``closes #XYZW`` to the PR description and/or commits (where ``XYZW`` is the issue number). See the `GitHub docs <https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword>`_ for more information.
492
545
 
493
- When an issue is due to user error (e.g. misunderstanding of a functionality), please politely explain to the user why the issue raised is really a non-issue and ask them to close the issue if they have no further questions. If the original requestor is unresponsive, the issue will be handled as described in the section `Handling stale issues/PRs`_ above.
546
+ When an issue is due to user error (e.g. misunderstanding of a functionality), please politely explain to the user why the issue raised is really a non-issue and ask them to close the issue if they have no further questions. If the original requester is unresponsive, the issue will be handled as described in the section `Handling stale issues/PRs`_ above.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytest
3
- Version: 8.3.2
3
+ Version: 8.3.4
4
4
  Summary: pytest: simple powerful testing with Python
5
5
  Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin, Others (See AUTHORS)
6
6
  License: MIT
@@ -6,6 +6,8 @@ Release announcements
6
6
  :maxdepth: 2
7
7
 
8
8
 
9
+ release-8.3.4
10
+ release-8.3.3
9
11
  release-8.3.2
10
12
  release-8.3.1
11
13
  release-8.3.0
@@ -6,10 +6,10 @@ and parametrized testing in Python. It is now easier, more efficient and
6
6
  more predictable to re-run the same tests with different fixture
7
7
  instances. Also, you can directly declare the caching "scope" of
8
8
  fixtures so that dependent tests throughout your whole test suite can
9
- re-use database or other expensive fixture objects with ease. Lastly,
9
+ reuse database or other expensive fixture objects with ease. Lastly,
10
10
  it's possible for fixture functions (formerly known as funcarg
11
11
  factories) to use other fixtures, allowing for a completely modular and
12
- re-usable fixture design.
12
+ reusable fixture design.
13
13
 
14
14
  For detailed info and tutorial-style examples, see:
15
15
 
@@ -0,0 +1,31 @@
1
+ pytest-8.3.3
2
+ =======================================
3
+
4
+ pytest 8.3.3 has just been released to PyPI.
5
+
6
+ This is a bug-fix release, being a drop-in replacement. To upgrade::
7
+
8
+ pip install --upgrade pytest
9
+
10
+ The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
11
+
12
+ Thanks to all of the contributors to this release:
13
+
14
+ * Anthony Sottile
15
+ * Avasam
16
+ * Bruno Oliveira
17
+ * Christian Clauss
18
+ * Eugene Mwangi
19
+ * Florian Bruhin
20
+ * GTowers1
21
+ * Nauman Ahmed
22
+ * Pierre Sassoulas
23
+ * Reagan Lee
24
+ * Ronny Pfannschmidt
25
+ * Stefaan Lippens
26
+ * Sviatoslav Sydorenko (Святослав Сидоренко)
27
+ * dongfangtianyu
28
+
29
+
30
+ Happy testing,
31
+ The pytest Development Team
@@ -0,0 +1,30 @@
1
+ pytest-8.3.4
2
+ =======================================
3
+
4
+ pytest 8.3.4 has just been released to PyPI.
5
+
6
+ This is a bug-fix release, being a drop-in replacement. To upgrade::
7
+
8
+ pip install --upgrade pytest
9
+
10
+ The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
11
+
12
+ Thanks to all of the contributors to this release:
13
+
14
+ * Bruno Oliveira
15
+ * Florian Bruhin
16
+ * Frank Hoffmann
17
+ * Jakob van Santen
18
+ * Leonardus Chen
19
+ * Pierre Sassoulas
20
+ * Pradeep Kumar
21
+ * Ran Benita
22
+ * Serge Smertin
23
+ * Stefaan Lippens
24
+ * Sviatoslav Sydorenko (Святослав Сидоренко)
25
+ * dongfangtianyu
26
+ * suspe
27
+
28
+
29
+ Happy testing,
30
+ The pytest Development Team
@@ -0,0 +1,6 @@
1
+ # This file contains transitive dependencies that need to be pinned for some reason.
2
+ # Eventually this file will be empty, but in this case keep it around for future use.
3
+
4
+ # Pin towncrier temporarily due to incompatibility with sphinxcontrib-towncrier:
5
+ # https://github.com/sphinx-contrib/sphinxcontrib-towncrier/issues/92
6
+ towncrier<24.7
@@ -22,7 +22,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
22
22
  cachedir: .pytest_cache
23
23
  rootdir: /home/sweet/project
24
24
  collected 0 items
25
- cache -- .../_pytest/cacheprovider.py:558
25
+ cache -- .../_pytest/cacheprovider.py:556
26
26
  Return a cache object that can persist state between testing sessions.
27
27
 
28
28
  cache.get(key, default)
@@ -33,7 +33,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
33
33
 
34
34
  Values can be any object handled by the json stdlib module.
35
35
 
36
- capsysbinary -- .../_pytest/capture.py:1005
36
+ capsysbinary -- .../_pytest/capture.py:1006
37
37
  Enable bytes capturing of writes to ``sys.stdout`` and ``sys.stderr``.
38
38
 
39
39
  The captured output is made available via ``capsysbinary.readouterr()``
@@ -51,7 +51,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
51
51
  captured = capsysbinary.readouterr()
52
52
  assert captured.out == b"hello\n"
53
53
 
54
- capfd -- .../_pytest/capture.py:1033
54
+ capfd -- .../_pytest/capture.py:1034
55
55
  Enable text capturing of writes to file descriptors ``1`` and ``2``.
56
56
 
57
57
  The captured output is made available via ``capfd.readouterr()`` method
@@ -69,7 +69,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
69
69
  captured = capfd.readouterr()
70
70
  assert captured.out == "hello\n"
71
71
 
72
- capfdbinary -- .../_pytest/capture.py:1061
72
+ capfdbinary -- .../_pytest/capture.py:1062
73
73
  Enable bytes capturing of writes to file descriptors ``1`` and ``2``.
74
74
 
75
75
  The captured output is made available via ``capfd.readouterr()`` method
@@ -87,7 +87,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
87
87
  captured = capfdbinary.readouterr()
88
88
  assert captured.out == b"hello\n"
89
89
 
90
- capsys -- .../_pytest/capture.py:977
90
+ capsys -- .../_pytest/capture.py:978
91
91
  Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.
92
92
 
93
93
  The captured output is made available via ``capsys.readouterr()`` method
@@ -105,7 +105,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
105
105
  captured = capsys.readouterr()
106
106
  assert captured.out == "hello\n"
107
107
 
108
- doctest_namespace [session scope] -- .../_pytest/doctest.py:740
108
+ doctest_namespace [session scope] -- .../_pytest/doctest.py:741
109
109
  Fixture that returns a :py:class:`dict` that will be injected into the
110
110
  namespace of doctests.
111
111
 
@@ -119,14 +119,14 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
119
119
 
120
120
  For more details: :ref:`doctest_namespace`.
121
121
 
122
- pytestconfig [session scope] -- .../_pytest/fixtures.py:1344
122
+ pytestconfig [session scope] -- .../_pytest/fixtures.py:1345
123
123
  Session-scoped fixture that returns the session's :class:`pytest.Config`
124
124
  object.
125
125
 
126
126
  Example::
127
127
 
128
128
  def test_foo(pytestconfig):
129
- if pytestconfig.getoption("verbose") > 0:
129
+ if pytestconfig.get_verbosity() > 0:
130
130
  ...
131
131
 
132
132
  record_property -- .../_pytest/junitxml.py:280
@@ -178,16 +178,11 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
178
178
  Return a :class:`pytest.TempdirFactory` instance for the test session.
179
179
 
180
180
  tmpdir -- .../_pytest/legacypath.py:305
181
- Return a temporary directory path object which is unique to each test
182
- function invocation, created as a sub directory of the base temporary
183
- directory.
184
-
185
- By default, a new base temporary directory is created each test session,
186
- and old bases are removed after 3 sessions, to aid in debugging. If
187
- ``--basetemp`` is used then it is cleared each session. See
188
- :ref:`temporary directory location and retention`.
189
-
190
- The returned object is a `legacy_path`_ object.
181
+ Return a temporary directory (as `legacy_path`_ object)
182
+ which is unique to each test function invocation.
183
+ The temporary directory is created as a subdirectory
184
+ of the base temporary directory, with configurable retention,
185
+ as discussed in :ref:`temporary directory location and retention`.
191
186
 
192
187
  .. note::
193
188
  These days, it is preferred to use ``tmp_path``.
@@ -196,7 +191,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
196
191
 
197
192
  .. _legacy_path: https://py.readthedocs.io/en/latest/path.html
198
193
 
199
- caplog -- .../_pytest/logging.py:600
194
+ caplog -- .../_pytest/logging.py:598
200
195
  Access and control log capturing.
201
196
 
202
197
  Captured logs are available through the following properties/methods::
@@ -234,25 +229,17 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
234
229
  recwarn -- .../_pytest/recwarn.py:35
235
230
  Return a :class:`WarningsRecorder` instance that records all warnings emitted by test functions.
236
231
 
237
- See https://docs.pytest.org/en/latest/how-to/capture-warnings.html for information
238
- on warning categories.
232
+ See :ref:`warnings` for information on warning categories.
239
233
 
240
- tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:242
234
+ tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:241
241
235
  Return a :class:`pytest.TempPathFactory` instance for the test session.
242
236
 
243
- tmp_path -- .../_pytest/tmpdir.py:257
244
- Return a temporary directory path object which is unique to each test
245
- function invocation, created as a sub directory of the base temporary
246
- directory.
247
-
248
- By default, a new base temporary directory is created each test session,
249
- and old bases are removed after 3 sessions, to aid in debugging.
250
- This behavior can be configured with :confval:`tmp_path_retention_count` and
251
- :confval:`tmp_path_retention_policy`.
252
- If ``--basetemp`` is used then it is cleared each session. See
253
- :ref:`temporary directory location and retention`.
254
-
255
- The returned object is a :class:`pathlib.Path` object.
237
+ tmp_path -- .../_pytest/tmpdir.py:256
238
+ Return a temporary directory (as :class:`pathlib.Path` object)
239
+ which is unique to each test function invocation.
240
+ The temporary directory is created as a subdirectory
241
+ of the base temporary directory, with configurable retention,
242
+ as discussed in :ref:`temporary directory location and retention`.
256
243
 
257
244
 
258
245
  ========================== no tests ran in 0.12s ===========================
@@ -31,6 +31,93 @@ with advance notice in the **Deprecations** section of releases.
31
31
 
32
32
  .. towncrier release notes start
33
33
 
34
+ pytest 8.3.4 (2024-12-01)
35
+ =========================
36
+
37
+ Bug fixes
38
+ ---------
39
+
40
+ - `#12592 <https://github.com/pytest-dev/pytest/issues/12592>`_: Fixed :class:`KeyError` crash when using ``--import-mode=importlib`` in a directory layout where a directory contains a child directory with the same name.
41
+
42
+
43
+ - `#12818 <https://github.com/pytest-dev/pytest/issues/12818>`_: Assertion rewriting now preserves the source ranges of the original instructions, making it play well with tools that deal with the ``AST``, like `executing <https://github.com/alexmojaki/executing>`__.
44
+
45
+
46
+ - `#12849 <https://github.com/pytest-dev/pytest/issues/12849>`_: ANSI escape codes for colored output now handled correctly in :func:`pytest.fail` with `pytrace=False`.
47
+
48
+
49
+ - `#9353 <https://github.com/pytest-dev/pytest/issues/9353>`_: :func:`pytest.approx` now uses strict equality when given booleans.
50
+
51
+
52
+
53
+ Improved documentation
54
+ ----------------------
55
+
56
+ - `#10558 <https://github.com/pytest-dev/pytest/issues/10558>`_: Fix ambiguous docstring of :func:`pytest.Config.getoption`.
57
+
58
+
59
+ - `#10829 <https://github.com/pytest-dev/pytest/issues/10829>`_: Improve documentation on the current handling of the ``--basetemp`` option and its lack of retention functionality (:ref:`temporary directory location and retention`).
60
+
61
+
62
+ - `#12866 <https://github.com/pytest-dev/pytest/issues/12866>`_: Improved cross-references concerning the :fixture:`recwarn` fixture.
63
+
64
+
65
+ - `#12966 <https://github.com/pytest-dev/pytest/issues/12966>`_: Clarify :ref:`filterwarnings` docs on filter precedence/order when using multiple :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` marks.
66
+
67
+
68
+
69
+ Contributor-facing changes
70
+ --------------------------
71
+
72
+ - `#12497 <https://github.com/pytest-dev/pytest/issues/12497>`_: Fixed two failing pdb-related tests on Python 3.13.
73
+
74
+
75
+ pytest 8.3.3 (2024-09-09)
76
+ =========================
77
+
78
+ Bug fixes
79
+ ---------
80
+
81
+ - `#12446 <https://github.com/pytest-dev/pytest/issues/12446>`_: Avoid calling ``@property`` (and other instance descriptors) during fixture discovery -- by :user:`asottile`
82
+
83
+
84
+ - `#12659 <https://github.com/pytest-dev/pytest/issues/12659>`_: Fixed the issue of not displaying assertion failure differences when using the parameter ``--import-mode=importlib`` in pytest>=8.1.
85
+
86
+
87
+ - `#12667 <https://github.com/pytest-dev/pytest/issues/12667>`_: Fixed a regression where type change in `ExceptionInfo.errisinstance` caused `mypy` to fail.
88
+
89
+
90
+ - `#12744 <https://github.com/pytest-dev/pytest/issues/12744>`_: Fixed typing compatibility with Python 3.9 or less -- replaced `typing.Self` with `typing_extensions.Self` -- by :user:`Avasam`
91
+
92
+
93
+ - `#12745 <https://github.com/pytest-dev/pytest/issues/12745>`_: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
94
+
95
+
96
+ - `#6682 <https://github.com/pytest-dev/pytest/issues/6682>`_: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in ``assert condition, msg``).
97
+
98
+
99
+ - `#9422 <https://github.com/pytest-dev/pytest/issues/9422>`_: Fix bug where disabling the terminal plugin via ``-p no:terminal`` would cause crashes related to missing the ``verbose`` option.
100
+
101
+ -- by :user:`GTowers1`
102
+
103
+
104
+
105
+ Improved documentation
106
+ ----------------------
107
+
108
+ - `#12663 <https://github.com/pytest-dev/pytest/issues/12663>`_: Clarify that the `pytest_deselected` hook should be called from `pytest_collection_modifyitems` hook implementations when items are deselected.
109
+
110
+
111
+ - `#12678 <https://github.com/pytest-dev/pytest/issues/12678>`_: Remove erroneous quotes from `tmp_path_retention_policy` example in docs.
112
+
113
+
114
+
115
+ Miscellaneous internal changes
116
+ ------------------------------
117
+
118
+ - `#12769 <https://github.com/pytest-dev/pytest/issues/12769>`_: Fix typos discovered by codespell and add codespell to pre-commit hooks.
119
+
120
+
34
121
  pytest 8.3.2 (2024-07-24)
35
122
  =========================
36
123
 
@@ -215,7 +302,7 @@ Improved documentation
215
302
  -- by :user:`webknjaz`
216
303
 
217
304
 
218
- - `#12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is discribed in
305
+ - `#12577 <https://github.com/pytest-dev/pytest/issues/12577>`_: `CI` and `BUILD_NUMBER` environment variables role is described in
219
306
  the reference doc. They now also appear when doing `pytest -h`
220
307
  -- by :user:`MarcBresson`.
221
308
 
@@ -319,7 +406,7 @@ Bug Fixes
319
406
  - `#12367 <https://github.com/pytest-dev/pytest/issues/12367>`_: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
320
407
 
321
408
 
322
- - `#12381 <https://github.com/pytest-dev/pytest/issues/12381>`_: Fix possible "Directory not empty" crashes arising from concurent cache dir (``.pytest_cache``) creation. Regressed in pytest 8.2.0.
409
+ - `#12381 <https://github.com/pytest-dev/pytest/issues/12381>`_: Fix possible "Directory not empty" crashes arising from concurrent cache dir (``.pytest_cache``) creation. Regressed in pytest 8.2.0.
323
410
 
324
411
 
325
412
 
@@ -330,7 +417,7 @@ Improved Documentation
330
417
 
331
418
 
332
419
  - `#12356 <https://github.com/pytest-dev/pytest/issues/12356>`_: Added a subsection to the documentation for debugging flaky tests to mention
333
- lack of thread safety in pytest as a possible source of flakyness.
420
+ lack of thread safety in pytest as a possible source of flakiness.
334
421
 
335
422
 
336
423
  - `#12363 <https://github.com/pytest-dev/pytest/issues/12363>`_: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
@@ -676,7 +763,7 @@ Bug Fixes
676
763
  This bug was introduced in pytest 8.0.0rc1.
677
764
 
678
765
 
679
- - `#9765 <https://github.com/pytest-dev/pytest/issues/9765>`_, `#11816 <https://github.com/pytest-dev/pytest/issues/11816>`_: Fixed a frustrating bug that afflicted some users with the only error being ``assert mod not in mods``. The issue was caused by the fact that ``str(Path(mod))`` and ``mod.__file__`` don't necessarily produce the same string, and was being erroneously used interchangably in some places in the code.
766
+ - `#9765 <https://github.com/pytest-dev/pytest/issues/9765>`_, `#11816 <https://github.com/pytest-dev/pytest/issues/11816>`_: Fixed a frustrating bug that afflicted some users with the only error being ``assert mod not in mods``. The issue was caused by the fact that ``str(Path(mod))`` and ``mod.__file__`` don't necessarily produce the same string, and was being erroneously used interchangeably in some places in the code.
680
767
 
681
768
  This fix also broke the internal API of ``PytestPluginManager.consider_conftest`` by introducing a new parameter -- we mention this in case it is being used by external code, even if marked as *private*.
682
769
 
@@ -33,10 +33,11 @@ Mail
33
33
  discussed in public. Mails sent there will be distributed among the members
34
34
  in the pytest core team, who can also be contacted individually:
35
35
 
36
- * Ronny Pfannschmidt (:user:`RonnyPfannschmidt`, `ronny@pytest.org <mailto:ronny@pytest.org>`_)
37
- * Florian Bruhin (:user:`The-Compiler`, `florian@pytest.org <mailto:florian@pytest.org>`_)
38
36
  * Bruno Oliveira (:user:`nicoddemus`, `bruno@pytest.org <mailto:bruno@pytest.org>`_)
37
+ * Florian Bruhin (:user:`The-Compiler`, `florian@pytest.org <mailto:florian@pytest.org>`_)
38
+ * Pierre Sassoulas (:user:`Pierre-Sassoulas`, `pierre@pytest.org <mailto:pierre@pytest.org>`_)
39
39
  * Ran Benita (:user:`bluetech`, `ran@pytest.org <mailto:ran@pytest.org>`_)
40
+ * Ronny Pfannschmidt (:user:`RonnyPfannschmidt`, `ronny@pytest.org <mailto:ronny@pytest.org>`_)
40
41
  * Zac Hatfield-Dodds (:user:`Zac-HD`, `zac@pytest.org <mailto:zac@pytest.org>`_)
41
42
 
42
43
  Other
@@ -43,7 +43,7 @@ If the import attempt raises :class:`ModuleNotFoundError` (the usual case), then
43
43
  warning is emitted.
44
44
 
45
45
  This way, the usual cases will keep working the same way, while unexpected errors will now issue a warning, with
46
- users being able to supress the warning by passing ``exc_type=ImportError`` explicitly.
46
+ users being able to suppress the warning by passing ``exc_type=ImportError`` explicitly.
47
47
 
48
48
  In ``9.0``, the warning will turn into an error, and in ``9.1`` :func:`pytest.importorskip` will only capture
49
49
  :class:`ModuleNotFoundError` by default and no warnings will be issued anymore -- but users can still capture
@@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
162
162
  rootdir: /home/sweet/project
163
163
  collected 8 items
164
164
 
165
- <Dir parametrize.rst-203>
165
+ <Dir parametrize.rst-205>
166
166
  <Module test_time.py>
167
167
  <Function test_timedistance_v0[a0-b0-expected0]>
168
168
  <Function test_timedistance_v0[a1-b1-expected1]>
@@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
239
239
  rootdir: /home/sweet/project
240
240
  collected 4 items
241
241
 
242
- <Dir parametrize.rst-203>
242
+ <Dir parametrize.rst-205>
243
243
  <Module test_scenarios.py>
244
244
  <Class TestSampleWithScenarios>
245
245
  <Function test_demo1[basic]>
@@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
318
318
  rootdir: /home/sweet/project
319
319
  collected 2 items
320
320
 
321
- <Dir parametrize.rst-203>
321
+ <Dir parametrize.rst-205>
322
322
  <Module test_backends.py>
323
323
  <Function test_db_initialized[d1]>
324
324
  <Function test_db_initialized[d2]>
@@ -686,5 +686,5 @@ For example:
686
686
  assert (6 / example_input) == e
687
687
 
688
688
  In the example above, the first three test cases should run without any
689
- exceptions, while the fourth should raise a``ZeroDivisionError`` exception,
689
+ exceptions, while the fourth should raise a ``ZeroDivisionError`` exception,
690
690
  which is expected by pytest.
@@ -152,7 +152,7 @@ The test collection would look like this:
152
152
  configfile: pytest.ini
153
153
  collected 2 items
154
154
 
155
- <Dir pythoncollection.rst-204>
155
+ <Dir pythoncollection.rst-206>
156
156
  <Module check_myapp.py>
157
157
  <Class CheckMyApp>
158
158
  <Function simple_check>
@@ -215,7 +215,7 @@ You can always peek at the collection tree without running tests like this:
215
215
  configfile: pytest.ini
216
216
  collected 3 items
217
217
 
218
- <Dir pythoncollection.rst-204>
218
+ <Dir pythoncollection.rst-206>
219
219
  <Dir CWD>
220
220
  <Module pythoncollection.py>
221
221
  <Function test_function>