pytest 8.1.2__tar.gz → 8.2.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 (601) hide show
  1. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/deploy.yml +3 -3
  2. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/stale.yml +2 -2
  3. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/test.yml +1 -1
  4. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/update-plugin-list.yml +1 -1
  5. {pytest-8.1.2 → pytest-8.2.0}/.gitignore +1 -0
  6. {pytest-8.1.2 → pytest-8.2.0}/.pre-commit-config.yaml +12 -5
  7. {pytest-8.1.2 → pytest-8.2.0}/AUTHORS +5 -0
  8. {pytest-8.1.2 → pytest-8.2.0}/CONTRIBUTING.rst +2 -2
  9. {pytest-8.1.2/src/pytest.egg-info → pytest-8.2.0}/PKG-INFO +11 -11
  10. {pytest-8.1.2 → pytest-8.2.0}/TIDELIFT.rst +2 -0
  11. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/index.rst +1 -0
  12. pytest-8.2.0/doc/en/announce/release-8.2.0.rst +43 -0
  13. {pytest-8.1.2 → pytest-8.2.0}/doc/en/builtin.rst +15 -15
  14. {pytest-8.1.2 → pytest-8.2.0}/doc/en/changelog.rst +81 -0
  15. {pytest-8.1.2 → pytest-8.2.0}/doc/en/deprecations.rst +35 -0
  16. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/parametrize.rst +3 -3
  17. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/pythoncollection.rst +2 -2
  18. {pytest-8.1.2 → pytest-8.2.0}/doc/en/getting-started.rst +1 -1
  19. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/fixtures.rst +1 -1
  20. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/output.rst +41 -3
  21. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/usage.rst +24 -1
  22. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/plugin_list.rst +640 -320
  23. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/reference.rst +7 -3
  24. {pytest-8.1.2 → pytest-8.2.0}/doc/en/requirements.txt +1 -1
  25. {pytest-8.1.2 → pytest-8.2.0}/pyproject.toml +117 -2
  26. {pytest-8.1.2 → pytest-8.2.0}/scripts/generate-gh-release-notes.py +1 -0
  27. {pytest-8.1.2 → pytest-8.2.0}/scripts/prepare-release-pr.py +1 -0
  28. {pytest-8.1.2 → pytest-8.2.0}/scripts/release.py +1 -0
  29. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/__init__.py +1 -1
  30. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_code/code.py +15 -17
  31. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_code/source.py +2 -4
  32. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_io/terminalwriter.py +3 -0
  33. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_py/path.py +12 -25
  34. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_version.py +2 -2
  35. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/assertion/__init__.py +1 -0
  36. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/assertion/rewrite.py +6 -8
  37. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/assertion/util.py +3 -3
  38. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/cacheprovider.py +34 -19
  39. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/capture.py +14 -19
  40. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/compat.py +4 -6
  41. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/config/__init__.py +9 -0
  42. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/config/argparsing.py +3 -3
  43. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/debugging.py +2 -3
  44. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/doctest.py +1 -0
  45. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/fixtures.py +359 -220
  46. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/freeze_support.py +1 -1
  47. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/helpconfig.py +1 -0
  48. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/hookspec.py +40 -2
  49. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/junitxml.py +4 -3
  50. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/logging.py +3 -2
  51. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/main.py +2 -4
  52. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/mark/structures.py +9 -15
  53. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/monkeypatch.py +3 -4
  54. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/nodes.py +3 -5
  55. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/outcomes.py +60 -3
  56. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/pastebin.py +1 -0
  57. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/pathlib.py +146 -62
  58. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/pytester.py +8 -14
  59. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/python.py +28 -173
  60. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/python_api.py +8 -10
  61. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/recwarn.py +6 -10
  62. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/reports.py +4 -5
  63. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/runner.py +4 -4
  64. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/setuponly.py +2 -2
  65. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/skipping.py +2 -1
  66. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/terminal.py +5 -4
  67. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/tmpdir.py +1 -0
  68. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/unittest.py +50 -30
  69. {pytest-8.1.2 → pytest-8.2.0}/src/pytest/__init__.py +1 -0
  70. {pytest-8.1.2 → pytest-8.2.0/src/pytest.egg-info}/PKG-INFO +11 -11
  71. {pytest-8.1.2 → pytest-8.2.0}/src/pytest.egg-info/SOURCES.txt +1 -0
  72. {pytest-8.1.2 → pytest-8.2.0}/src/pytest.egg-info/requires.txt +2 -2
  73. {pytest-8.1.2 → pytest-8.2.0}/testing/_py/test_local.py +5 -5
  74. {pytest-8.1.2 → pytest-8.2.0}/testing/acceptance_test.py +27 -0
  75. {pytest-8.1.2 → pytest-8.2.0}/testing/code/test_excinfo.py +2 -2
  76. {pytest-8.1.2 → pytest-8.2.0}/testing/deprecated_test.py +26 -0
  77. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/acceptance/fixture_mock_integration.py +1 -0
  78. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_setup_skip.py +1 -0
  79. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_setup_skip_class.py +1 -0
  80. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_setup_skip_module.py +1 -0
  81. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_unittest_asynctest.py +1 -0
  82. {pytest-8.1.2 → pytest-8.2.0}/testing/io/test_saferepr.py +1 -1
  83. {pytest-8.1.2 → pytest-8.2.0}/testing/io/test_wcwidth.py +2 -2
  84. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/requirements.txt +7 -7
  85. {pytest-8.1.2 → pytest-8.2.0}/testing/python/approx.py +1 -2
  86. {pytest-8.1.2 → pytest-8.2.0}/testing/python/fixtures.py +238 -3
  87. {pytest-8.1.2 → pytest-8.2.0}/testing/python/integration.py +16 -1
  88. {pytest-8.1.2 → pytest-8.2.0}/testing/python/metafunc.py +2 -2
  89. {pytest-8.1.2 → pytest-8.2.0}/testing/test_assertrewrite.py +2 -2
  90. {pytest-8.1.2 → pytest-8.2.0}/testing/test_cacheprovider.py +37 -7
  91. {pytest-8.1.2 → pytest-8.2.0}/testing/test_config.py +1 -1
  92. {pytest-8.1.2 → pytest-8.2.0}/testing/test_debugging.py +1 -1
  93. {pytest-8.1.2 → pytest-8.2.0}/testing/test_junitxml.py +1 -1
  94. {pytest-8.1.2 → pytest-8.2.0}/testing/test_mark.py +2 -2
  95. {pytest-8.1.2 → pytest-8.2.0}/testing/test_parseopt.py +11 -0
  96. {pytest-8.1.2 → pytest-8.2.0}/testing/test_pathlib.py +360 -31
  97. {pytest-8.1.2 → pytest-8.2.0}/testing/test_reports.py +3 -3
  98. {pytest-8.1.2 → pytest-8.2.0}/testing/test_runner.py +86 -1
  99. {pytest-8.1.2 → pytest-8.2.0}/testing/test_runner_xunit.py +1 -0
  100. {pytest-8.1.2 → pytest-8.2.0}/testing/test_skipping.py +1 -1
  101. {pytest-8.1.2 → pytest-8.2.0}/testing/test_terminal.py +45 -2
  102. {pytest-8.1.2 → pytest-8.2.0}/testing/test_unittest.py +94 -1
  103. {pytest-8.1.2 → pytest-8.2.0}/testing/typing_checks.py +1 -0
  104. {pytest-8.1.2 → pytest-8.2.0}/tox.ini +1 -1
  105. {pytest-8.1.2 → pytest-8.2.0}/.coveragerc +0 -0
  106. {pytest-8.1.2 → pytest-8.2.0}/.git-blame-ignore-revs +0 -0
  107. {pytest-8.1.2 → pytest-8.2.0}/.gitattributes +0 -0
  108. {pytest-8.1.2 → pytest-8.2.0}/.github/FUNDING.yml +0 -0
  109. {pytest-8.1.2 → pytest-8.2.0}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  110. {pytest-8.1.2 → pytest-8.2.0}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  111. {pytest-8.1.2 → pytest-8.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  112. {pytest-8.1.2 → pytest-8.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  113. {pytest-8.1.2 → pytest-8.2.0}/.github/config.yml +0 -0
  114. {pytest-8.1.2 → pytest-8.2.0}/.github/dependabot.yml +0 -0
  115. {pytest-8.1.2 → pytest-8.2.0}/.github/labels.toml +0 -0
  116. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/backport.yml +0 -0
  117. {pytest-8.1.2 → pytest-8.2.0}/.github/workflows/prepare-release-pr.yml +0 -0
  118. {pytest-8.1.2 → pytest-8.2.0}/.readthedocs.yml +0 -0
  119. {pytest-8.1.2 → pytest-8.2.0}/CHANGELOG.rst +0 -0
  120. {pytest-8.1.2 → pytest-8.2.0}/CITATION +0 -0
  121. {pytest-8.1.2 → pytest-8.2.0}/CODE_OF_CONDUCT.md +0 -0
  122. {pytest-8.1.2 → pytest-8.2.0}/LICENSE +0 -0
  123. {pytest-8.1.2 → pytest-8.2.0}/OPENCOLLECTIVE.rst +0 -0
  124. {pytest-8.1.2 → pytest-8.2.0}/README.rst +0 -0
  125. {pytest-8.1.2 → pytest-8.2.0}/RELEASING.rst +0 -0
  126. {pytest-8.1.2 → pytest-8.2.0}/bench/bench.py +0 -0
  127. {pytest-8.1.2 → pytest-8.2.0}/bench/bench_argcomplete.py +0 -0
  128. {pytest-8.1.2 → pytest-8.2.0}/bench/empty.py +0 -0
  129. {pytest-8.1.2 → pytest-8.2.0}/bench/manyparam.py +0 -0
  130. {pytest-8.1.2 → pytest-8.2.0}/bench/skip.py +0 -0
  131. {pytest-8.1.2 → pytest-8.2.0}/bench/unit_test.py +0 -0
  132. {pytest-8.1.2 → pytest-8.2.0}/bench/xunit.py +0 -0
  133. {pytest-8.1.2 → pytest-8.2.0}/changelog/README.rst +0 -0
  134. {pytest-8.1.2 → pytest-8.2.0}/changelog/_template.rst +0 -0
  135. {pytest-8.1.2 → pytest-8.2.0}/codecov.yml +0 -0
  136. {pytest-8.1.2 → pytest-8.2.0}/doc/en/Makefile +0 -0
  137. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/globaltoc.html +0 -0
  138. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/layout.html +0 -0
  139. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/links.html +0 -0
  140. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/relations.html +0 -0
  141. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/sidebarintro.html +0 -0
  142. {pytest-8.1.2 → pytest-8.2.0}/doc/en/_templates/slim_searchbox.html +0 -0
  143. {pytest-8.1.2 → pytest-8.2.0}/doc/en/adopt.rst +0 -0
  144. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.0.0.rst +0 -0
  145. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.0.1.rst +0 -0
  146. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.0.2.rst +0 -0
  147. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.0.3.rst +0 -0
  148. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.1.0.rst +0 -0
  149. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.1.1.rst +0 -0
  150. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.1.2.rst +0 -0
  151. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.1.3.rst +0 -0
  152. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.2.0.rst +0 -0
  153. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.2.1.rst +0 -0
  154. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.2.2.rst +0 -0
  155. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.2.4.rst +0 -0
  156. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.0.rst +0 -0
  157. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.1.rst +0 -0
  158. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.2.rst +0 -0
  159. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.3.rst +0 -0
  160. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.4.rst +0 -0
  161. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.3.5.rst +0 -0
  162. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.4.0.rst +0 -0
  163. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.4.1.rst +0 -0
  164. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.4.2.rst +0 -0
  165. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.5.0.rst +0 -0
  166. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.5.1.rst +0 -0
  167. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.5.2.rst +0 -0
  168. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.6.0.rst +0 -0
  169. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.6.1.rst +0 -0
  170. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.6.2.rst +0 -0
  171. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.6.3.rst +0 -0
  172. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.7.0.rst +0 -0
  173. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.7.1.rst +0 -0
  174. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.7.2.rst +0 -0
  175. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.2.rst +0 -0
  176. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.3.rst +0 -0
  177. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.4.rst +0 -0
  178. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.5.rst +0 -0
  179. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.6.rst +0 -0
  180. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.8.7.rst +0 -0
  181. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.9.0.rst +0 -0
  182. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.9.1.rst +0 -0
  183. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-2.9.2.rst +0 -0
  184. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.0.rst +0 -0
  185. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.1.rst +0 -0
  186. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.2.rst +0 -0
  187. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.3.rst +0 -0
  188. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.4.rst +0 -0
  189. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.5.rst +0 -0
  190. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.6.rst +0 -0
  191. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.0.7.rst +0 -0
  192. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.1.0.rst +0 -0
  193. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.1.1.rst +0 -0
  194. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.1.2.rst +0 -0
  195. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.1.3.rst +0 -0
  196. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.10.0.rst +0 -0
  197. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.10.1.rst +0 -0
  198. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.0.rst +0 -0
  199. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.1.rst +0 -0
  200. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.2.rst +0 -0
  201. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.3.rst +0 -0
  202. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.4.rst +0 -0
  203. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.2.5.rst +0 -0
  204. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.3.0.rst +0 -0
  205. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.3.1.rst +0 -0
  206. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.3.2.rst +0 -0
  207. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.4.0.rst +0 -0
  208. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.4.1.rst +0 -0
  209. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.4.2.rst +0 -0
  210. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.5.0.rst +0 -0
  211. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.5.1.rst +0 -0
  212. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.6.0.rst +0 -0
  213. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.6.1.rst +0 -0
  214. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.6.2.rst +0 -0
  215. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.6.3.rst +0 -0
  216. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.6.4.rst +0 -0
  217. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.7.0.rst +0 -0
  218. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.7.1.rst +0 -0
  219. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.7.2.rst +0 -0
  220. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.7.3.rst +0 -0
  221. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.7.4.rst +0 -0
  222. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.8.0.rst +0 -0
  223. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.8.1.rst +0 -0
  224. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.8.2.rst +0 -0
  225. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.9.0.rst +0 -0
  226. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.9.1.rst +0 -0
  227. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.9.2.rst +0 -0
  228. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-3.9.3.rst +0 -0
  229. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.0.0.rst +0 -0
  230. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.0.1.rst +0 -0
  231. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.0.2.rst +0 -0
  232. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.1.0.rst +0 -0
  233. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.1.1.rst +0 -0
  234. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.2.0.rst +0 -0
  235. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.2.1.rst +0 -0
  236. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.3.0.rst +0 -0
  237. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.3.1.rst +0 -0
  238. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.4.0.rst +0 -0
  239. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.4.1.rst +0 -0
  240. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.4.2.rst +0 -0
  241. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.5.0.rst +0 -0
  242. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.0.rst +0 -0
  243. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.1.rst +0 -0
  244. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.2.rst +0 -0
  245. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.3.rst +0 -0
  246. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.4.rst +0 -0
  247. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.5.rst +0 -0
  248. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.6.rst +0 -0
  249. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.7.rst +0 -0
  250. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.8.rst +0 -0
  251. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-4.6.9.rst +0 -0
  252. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.0.0.rst +0 -0
  253. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.0.1.rst +0 -0
  254. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.1.0.rst +0 -0
  255. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.1.1.rst +0 -0
  256. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.1.2.rst +0 -0
  257. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.1.3.rst +0 -0
  258. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.2.0.rst +0 -0
  259. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.2.1.rst +0 -0
  260. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.2.2.rst +0 -0
  261. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.2.3.rst +0 -0
  262. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.2.4.rst +0 -0
  263. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.0.rst +0 -0
  264. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.1.rst +0 -0
  265. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.2.rst +0 -0
  266. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.3.rst +0 -0
  267. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.4.rst +0 -0
  268. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.3.5.rst +0 -0
  269. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.4.0.rst +0 -0
  270. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.4.1.rst +0 -0
  271. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.4.2.rst +0 -0
  272. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-5.4.3.rst +0 -0
  273. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.0.0.rst +0 -0
  274. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  275. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.0.1.rst +0 -0
  276. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.0.2.rst +0 -0
  277. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.1.0.rst +0 -0
  278. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.1.1.rst +0 -0
  279. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.1.2.rst +0 -0
  280. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.0.rst +0 -0
  281. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.1.rst +0 -0
  282. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.2.rst +0 -0
  283. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.3.rst +0 -0
  284. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.4.rst +0 -0
  285. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-6.2.5.rst +0 -0
  286. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.0.0.rst +0 -0
  287. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  288. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.0.1.rst +0 -0
  289. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.1.0.rst +0 -0
  290. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.1.1.rst +0 -0
  291. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.1.2.rst +0 -0
  292. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.1.3.rst +0 -0
  293. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.2.0.rst +0 -0
  294. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.2.1.rst +0 -0
  295. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.2.2.rst +0 -0
  296. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.3.0.rst +0 -0
  297. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.3.1.rst +0 -0
  298. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.3.2.rst +0 -0
  299. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.4.0.rst +0 -0
  300. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.4.1.rst +0 -0
  301. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.4.2.rst +0 -0
  302. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.4.3.rst +0 -0
  303. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-7.4.4.rst +0 -0
  304. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.0.0.rst +0 -0
  305. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.0.0rc1.rst +0 -0
  306. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.0.0rc2.rst +0 -0
  307. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.0.1.rst +0 -0
  308. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.0.2.rst +0 -0
  309. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.1.0.rst +0 -0
  310. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.1.1.rst +0 -0
  311. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/release-8.1.2.rst +0 -0
  312. {pytest-8.1.2 → pytest-8.2.0}/doc/en/announce/sprint2016.rst +0 -0
  313. {pytest-8.1.2 → pytest-8.2.0}/doc/en/backwards-compatibility.rst +0 -0
  314. {pytest-8.1.2 → pytest-8.2.0}/doc/en/conf.py +0 -0
  315. {pytest-8.1.2 → pytest-8.2.0}/doc/en/conftest.py +0 -0
  316. {pytest-8.1.2 → pytest-8.2.0}/doc/en/contact.rst +0 -0
  317. {pytest-8.1.2 → pytest-8.2.0}/doc/en/contents.rst +0 -0
  318. {pytest-8.1.2 → pytest-8.2.0}/doc/en/contributing.rst +0 -0
  319. {pytest-8.1.2 → pytest-8.2.0}/doc/en/development_guide.rst +0 -0
  320. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/assertion/failure_demo.py +0 -0
  321. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  322. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  323. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/assertion/test_failures.py +0 -0
  324. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  325. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/attic.rst +0 -0
  326. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/conftest.py +0 -0
  327. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/conftest.py +0 -0
  328. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/pytest.ini +0 -0
  329. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/tests/manifest.json +0 -0
  330. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/tests/test_first.py +0 -0
  331. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/tests/test_second.py +0 -0
  332. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory/tests/test_third.py +0 -0
  333. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/customdirectory.rst +0 -0
  334. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  335. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  336. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  337. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  338. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  339. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  340. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  341. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  342. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  343. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  344. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  345. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  346. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  347. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  348. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  349. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  350. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  351. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/index.rst +0 -0
  352. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/markers.rst +0 -0
  353. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/multipython.py +0 -0
  354. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/nonpython/__init__.py +0 -0
  355. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/nonpython/conftest.py +0 -0
  356. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/nonpython/test_simple.yaml +0 -0
  357. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/nonpython.rst +0 -0
  358. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/pythoncollection.py +0 -0
  359. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/reportingdemo.rst +0 -0
  360. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/simple.rst +0 -0
  361. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/special.rst +0 -0
  362. {pytest-8.1.2 → pytest-8.2.0}/doc/en/example/xfail_demo.py +0 -0
  363. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/anatomy.rst +0 -0
  364. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/fixtures.rst +0 -0
  365. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/flaky.rst +0 -0
  366. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/goodpractices.rst +0 -0
  367. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/index.rst +0 -0
  368. {pytest-8.1.2 → pytest-8.2.0}/doc/en/explanation/pythonpath.rst +0 -0
  369. {pytest-8.1.2 → pytest-8.2.0}/doc/en/funcarg_compare.rst +0 -0
  370. {pytest-8.1.2 → pytest-8.2.0}/doc/en/funcargs.rst +0 -0
  371. {pytest-8.1.2 → pytest-8.2.0}/doc/en/historical-notes.rst +0 -0
  372. {pytest-8.1.2 → pytest-8.2.0}/doc/en/history.rst +0 -0
  373. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/assert.rst +0 -0
  374. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/bash-completion.rst +0 -0
  375. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/cache.rst +0 -0
  376. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/capture-stdout-stderr.rst +0 -0
  377. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/capture-warnings.rst +0 -0
  378. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/doctest.rst +0 -0
  379. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/existingtestsuite.rst +0 -0
  380. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/failures.rst +0 -0
  381. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/index.rst +0 -0
  382. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/logging.rst +0 -0
  383. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/mark.rst +0 -0
  384. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/monkeypatch.rst +0 -0
  385. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/parametrize.rst +0 -0
  386. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/plugins.rst +0 -0
  387. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/skipping.rst +0 -0
  388. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/tmp_path.rst +0 -0
  389. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/unittest.rst +0 -0
  390. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/writing_hook_functions.rst +0 -0
  391. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/writing_plugins.rst +0 -0
  392. {pytest-8.1.2 → pytest-8.2.0}/doc/en/how-to/xunit_setup.rst +0 -0
  393. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/cramer2.png +0 -0
  394. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/favicon.png +0 -0
  395. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/freiburg2.jpg +0 -0
  396. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/gaynor3.png +0 -0
  397. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/keleshev.png +0 -0
  398. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/pullrequest.png +0 -0
  399. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/pylib.png +0 -0
  400. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/pytest1.png +0 -0
  401. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/pytest_logo_curves.svg +0 -0
  402. {pytest-8.1.2 → pytest-8.2.0}/doc/en/img/theuni.png +0 -0
  403. {pytest-8.1.2 → pytest-8.2.0}/doc/en/index.rst +0 -0
  404. {pytest-8.1.2 → pytest-8.2.0}/doc/en/license.rst +0 -0
  405. {pytest-8.1.2 → pytest-8.2.0}/doc/en/naming20.rst +0 -0
  406. {pytest-8.1.2 → pytest-8.2.0}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  407. {pytest-8.1.2 → pytest-8.2.0}/doc/en/pytest.ini +0 -0
  408. {pytest-8.1.2 → pytest-8.2.0}/doc/en/recwarn.rst +0 -0
  409. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/customize.rst +0 -0
  410. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/exit-codes.rst +0 -0
  411. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/fixtures.rst +0 -0
  412. {pytest-8.1.2 → pytest-8.2.0}/doc/en/reference/index.rst +0 -0
  413. {pytest-8.1.2 → pytest-8.2.0}/doc/en/sponsor.rst +0 -0
  414. {pytest-8.1.2 → pytest-8.2.0}/doc/en/talks.rst +0 -0
  415. {pytest-8.1.2 → pytest-8.2.0}/doc/en/tidelift.rst +0 -0
  416. {pytest-8.1.2 → pytest-8.2.0}/doc/en/yieldfixture.rst +0 -0
  417. {pytest-8.1.2 → pytest-8.2.0}/extra/get_issues.py +0 -0
  418. {pytest-8.1.2 → pytest-8.2.0}/scripts/.gitignore +0 -0
  419. {pytest-8.1.2 → pytest-8.2.0}/scripts/release.major.rst +0 -0
  420. {pytest-8.1.2 → pytest-8.2.0}/scripts/release.minor.rst +0 -0
  421. {pytest-8.1.2 → pytest-8.2.0}/scripts/release.patch.rst +0 -0
  422. {pytest-8.1.2 → pytest-8.2.0}/scripts/release.pre.rst +0 -0
  423. {pytest-8.1.2 → pytest-8.2.0}/scripts/towncrier-draft-to-file.py +0 -0
  424. {pytest-8.1.2 → pytest-8.2.0}/scripts/update-plugin-list.py +0 -0
  425. {pytest-8.1.2 → pytest-8.2.0}/setup.cfg +0 -0
  426. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_argcomplete.py +0 -0
  427. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_code/__init__.py +0 -0
  428. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_io/__init__.py +0 -0
  429. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_io/pprint.py +0 -0
  430. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_io/saferepr.py +0 -0
  431. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_io/wcwidth.py +0 -0
  432. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_py/__init__.py +0 -0
  433. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/_py/error.py +0 -0
  434. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/assertion/truncate.py +0 -0
  435. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/config/compat.py +0 -0
  436. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/config/exceptions.py +0 -0
  437. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/config/findpaths.py +0 -0
  438. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/deprecated.py +0 -0
  439. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/faulthandler.py +0 -0
  440. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/legacypath.py +0 -0
  441. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/mark/__init__.py +0 -0
  442. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/mark/expression.py +0 -0
  443. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/py.typed +0 -0
  444. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/pytester_assertions.py +0 -0
  445. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/python_path.py +0 -0
  446. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/scope.py +0 -0
  447. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/setupplan.py +0 -0
  448. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/stash.py +0 -0
  449. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/stepwise.py +0 -0
  450. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/threadexception.py +0 -0
  451. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/timing.py +0 -0
  452. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/unraisableexception.py +0 -0
  453. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/warning_types.py +0 -0
  454. {pytest-8.1.2 → pytest-8.2.0}/src/_pytest/warnings.py +0 -0
  455. {pytest-8.1.2 → pytest-8.2.0}/src/py.py +0 -0
  456. {pytest-8.1.2 → pytest-8.2.0}/src/pytest/__main__.py +0 -0
  457. {pytest-8.1.2 → pytest-8.2.0}/src/pytest/py.typed +0 -0
  458. {pytest-8.1.2 → pytest-8.2.0}/src/pytest.egg-info/dependency_links.txt +0 -0
  459. {pytest-8.1.2 → pytest-8.2.0}/src/pytest.egg-info/entry_points.txt +0 -0
  460. {pytest-8.1.2 → pytest-8.2.0}/src/pytest.egg-info/top_level.txt +0 -0
  461. {pytest-8.1.2 → pytest-8.2.0}/testing/code/test_code.py +0 -0
  462. {pytest-8.1.2 → pytest-8.2.0}/testing/code/test_source.py +0 -0
  463. {pytest-8.1.2 → pytest-8.2.0}/testing/conftest.py +0 -0
  464. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/README.rst +0 -0
  465. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/__init__.py +0 -0
  466. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  467. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  468. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  469. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  470. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  471. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  472. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  473. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  474. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  475. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  476. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  477. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  478. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  479. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  480. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/conftest.py +0 -0
  481. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/pytest.ini +0 -0
  482. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
  483. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
  484. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
  485. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
  486. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  487. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  488. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  489. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
  490. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  491. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  492. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  493. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  494. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  495. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  496. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  497. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  498. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  499. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
  500. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
  501. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
  502. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
  503. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
  504. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
  505. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  506. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  507. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  508. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  509. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  510. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
  511. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  512. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  513. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
  514. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  515. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  516. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  517. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  518. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  519. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  520. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  521. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  522. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  523. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  524. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/issue_519.py +0 -0
  525. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/junit-10.xsd +0 -0
  526. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  527. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  528. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  529. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  530. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  531. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  532. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/pytest.ini +0 -0
  533. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  534. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  535. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  536. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  537. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  538. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  539. {pytest-8.1.2 → pytest-8.2.0}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  540. {pytest-8.1.2 → pytest-8.2.0}/testing/examples/test_issue519.py +0 -0
  541. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/.gitignore +0 -0
  542. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/create_executable.py +0 -0
  543. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/runtests_script.py +0 -0
  544. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/tests/test_doctest.txt +0 -0
  545. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/tests/test_trivial.py +0 -0
  546. {pytest-8.1.2 → pytest-8.2.0}/testing/freeze/tox_run.py +0 -0
  547. {pytest-8.1.2 → pytest-8.2.0}/testing/io/test_pprint.py +0 -0
  548. {pytest-8.1.2 → pytest-8.2.0}/testing/io/test_terminalwriter.py +0 -0
  549. {pytest-8.1.2 → pytest-8.2.0}/testing/logging/test_fixture.py +0 -0
  550. {pytest-8.1.2 → pytest-8.2.0}/testing/logging/test_formatter.py +0 -0
  551. {pytest-8.1.2 → pytest-8.2.0}/testing/logging/test_reporting.py +0 -0
  552. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/.gitignore +0 -0
  553. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/README.rst +0 -0
  554. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/bdd_wallet.feature +0 -0
  555. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/bdd_wallet.py +0 -0
  556. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/django_settings.py +0 -0
  557. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest.ini +0 -0
  558. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  559. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  560. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  561. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  562. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  563. {pytest-8.1.2 → pytest-8.2.0}/testing/plugins_integration/simple_integration.py +0 -0
  564. {pytest-8.1.2 → pytest-8.2.0}/testing/python/collect.py +0 -0
  565. {pytest-8.1.2 → pytest-8.2.0}/testing/python/raises.py +0 -0
  566. {pytest-8.1.2 → pytest-8.2.0}/testing/python/show_fixtures_per_test.py +0 -0
  567. {pytest-8.1.2 → pytest-8.2.0}/testing/test_argcomplete.py +0 -0
  568. {pytest-8.1.2 → pytest-8.2.0}/testing/test_assertion.py +0 -0
  569. {pytest-8.1.2 → pytest-8.2.0}/testing/test_capture.py +0 -0
  570. {pytest-8.1.2 → pytest-8.2.0}/testing/test_collection.py +0 -0
  571. {pytest-8.1.2 → pytest-8.2.0}/testing/test_compat.py +0 -0
  572. {pytest-8.1.2 → pytest-8.2.0}/testing/test_conftest.py +0 -0
  573. {pytest-8.1.2 → pytest-8.2.0}/testing/test_doctest.py +0 -0
  574. {pytest-8.1.2 → pytest-8.2.0}/testing/test_entry_points.py +0 -0
  575. {pytest-8.1.2 → pytest-8.2.0}/testing/test_error_diffs.py +0 -0
  576. {pytest-8.1.2 → pytest-8.2.0}/testing/test_faulthandler.py +0 -0
  577. {pytest-8.1.2 → pytest-8.2.0}/testing/test_findpaths.py +0 -0
  578. {pytest-8.1.2 → pytest-8.2.0}/testing/test_helpconfig.py +0 -0
  579. {pytest-8.1.2 → pytest-8.2.0}/testing/test_legacypath.py +0 -0
  580. {pytest-8.1.2 → pytest-8.2.0}/testing/test_link_resolve.py +0 -0
  581. {pytest-8.1.2 → pytest-8.2.0}/testing/test_main.py +0 -0
  582. {pytest-8.1.2 → pytest-8.2.0}/testing/test_mark_expression.py +0 -0
  583. {pytest-8.1.2 → pytest-8.2.0}/testing/test_meta.py +0 -0
  584. {pytest-8.1.2 → pytest-8.2.0}/testing/test_monkeypatch.py +0 -0
  585. {pytest-8.1.2 → pytest-8.2.0}/testing/test_nodes.py +0 -0
  586. {pytest-8.1.2 → pytest-8.2.0}/testing/test_pastebin.py +0 -0
  587. {pytest-8.1.2 → pytest-8.2.0}/testing/test_pluginmanager.py +0 -0
  588. {pytest-8.1.2 → pytest-8.2.0}/testing/test_pytester.py +0 -0
  589. {pytest-8.1.2 → pytest-8.2.0}/testing/test_python_path.py +0 -0
  590. {pytest-8.1.2 → pytest-8.2.0}/testing/test_recwarn.py +0 -0
  591. {pytest-8.1.2 → pytest-8.2.0}/testing/test_scope.py +0 -0
  592. {pytest-8.1.2 → pytest-8.2.0}/testing/test_session.py +0 -0
  593. {pytest-8.1.2 → pytest-8.2.0}/testing/test_setuponly.py +0 -0
  594. {pytest-8.1.2 → pytest-8.2.0}/testing/test_setupplan.py +0 -0
  595. {pytest-8.1.2 → pytest-8.2.0}/testing/test_stash.py +0 -0
  596. {pytest-8.1.2 → pytest-8.2.0}/testing/test_stepwise.py +0 -0
  597. {pytest-8.1.2 → pytest-8.2.0}/testing/test_threadexception.py +0 -0
  598. {pytest-8.1.2 → pytest-8.2.0}/testing/test_tmpdir.py +0 -0
  599. {pytest-8.1.2 → pytest-8.2.0}/testing/test_unraisableexception.py +0 -0
  600. {pytest-8.1.2 → pytest-8.2.0}/testing/test_warning_types.py +0 -0
  601. {pytest-8.1.2 → pytest-8.2.0}/testing/test_warnings.py +0 -0
@@ -26,7 +26,7 @@ jobs:
26
26
  persist-credentials: false
27
27
 
28
28
  - name: Build and Check Package
29
- uses: hynek/build-and-inspect-python-package@v2.0.1
29
+ uses: hynek/build-and-inspect-python-package@v2.4.0
30
30
 
31
31
  deploy:
32
32
  if: github.repository == 'pytest-dev/pytest'
@@ -47,7 +47,7 @@ jobs:
47
47
  path: dist
48
48
 
49
49
  - name: Publish package to PyPI
50
- uses: pypa/gh-action-pypi-publish@v1.8.11
50
+ uses: pypa/gh-action-pypi-publish@v1.8.14
51
51
 
52
52
  - name: Push tag
53
53
  run: |
@@ -94,7 +94,7 @@ jobs:
94
94
  tox -e generate-gh-release-notes -- ${{ github.event.inputs.version }} scripts/latest-release-notes.md
95
95
 
96
96
  - name: Publish GitHub Release
97
- uses: softprops/action-gh-release@v1
97
+ uses: softprops/action-gh-release@v2
98
98
  with:
99
99
  body_path: scripts/latest-release-notes.md
100
100
  files: dist/*
@@ -17,7 +17,7 @@ jobs:
17
17
  days-before-issue-close: 7
18
18
  only-labels: "status: needs information"
19
19
  stale-issue-label: "stale"
20
- stale-issue-message: "This issue is stale because it has been open for 14 days with no activity."
21
- close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale."
20
+ stale-issue-message: "This issue is stale because it has the `status: needs information` label and requested follow-up information was not provided for 14 days."
21
+ close-issue-message: "This issue was closed because it has the `status: needs information` label and follow-up information has not been provided for 7 days since being marked as stale."
22
22
  days-before-pr-stale: -1
23
23
  days-before-pr-close: -1
@@ -35,7 +35,7 @@ jobs:
35
35
  fetch-depth: 0
36
36
  persist-credentials: false
37
37
  - name: Build and Check Package
38
- uses: hynek/build-and-inspect-python-package@v2.0.1
38
+ uses: hynek/build-and-inspect-python-package@v2.4.0
39
39
 
40
40
  build:
41
41
  needs: [package]
@@ -46,7 +46,7 @@ jobs:
46
46
  run: python scripts/update-plugin-list.py
47
47
 
48
48
  - name: Create Pull Request
49
- uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50
49
+ uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83
50
50
  with:
51
51
  commit-message: '[automated] Update plugin list'
52
52
  author: 'pytest bot <pytestbot@users.noreply.github.com>'
@@ -51,6 +51,7 @@ coverage.xml
51
51
  .settings
52
52
  .vscode
53
53
  __pycache__/
54
+ .python-version
54
55
 
55
56
  # generated by pip
56
57
  pip-wheel-metadata/
@@ -1,12 +1,12 @@
1
1
  repos:
2
2
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
- rev: "v0.2.2"
3
+ rev: "v0.4.1"
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.5.0
9
+ rev: v4.6.0
10
10
  hooks:
11
11
  - id: trailing-whitespace
12
12
  - id: end-of-file-fixer
@@ -26,7 +26,7 @@ repos:
26
26
  hooks:
27
27
  - id: python-use-type-annotations
28
28
  - repo: https://github.com/pre-commit/mirrors-mypy
29
- rev: v1.8.0
29
+ rev: v1.9.0
30
30
  hooks:
31
31
  - id: mypy
32
32
  files: ^(src/|testing/|scripts/)
@@ -34,7 +34,7 @@ repos:
34
34
  additional_dependencies:
35
35
  - iniconfig>=1.1.0
36
36
  - attrs>=19.2.0
37
- - pluggy>=1.4.0
37
+ - pluggy>=1.5.0
38
38
  - packaging
39
39
  - tomli
40
40
  - types-pkg_resources
@@ -43,13 +43,20 @@ repos:
43
43
  # on <3.11
44
44
  - exceptiongroup>=1.0.0rc8
45
45
  - repo: https://github.com/tox-dev/pyproject-fmt
46
- rev: "1.7.0"
46
+ rev: "1.8.0"
47
47
  hooks:
48
48
  - id: pyproject-fmt
49
49
  # https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
50
50
  additional_dependencies: ["tox>=4.9"]
51
51
  - repo: local
52
52
  hooks:
53
+ - id: pylint
54
+ name: pylint
55
+ entry: pylint
56
+ language: system
57
+ types: [python]
58
+ args: ["-rn", "-sn", "--fail-on=I"]
59
+ stages: [manual]
53
60
  - id: rst
54
61
  name: rst
55
62
  entry: rst-lint --encoding utf-8
@@ -101,6 +101,7 @@ Cyrus Maden
101
101
  Damian Skrzypczak
102
102
  Daniel Grana
103
103
  Daniel Hahler
104
+ Daniel Miller
104
105
  Daniel Nuri
105
106
  Daniel Sánchez Castelló
106
107
  Daniel Valenzuela Zenteno
@@ -118,6 +119,7 @@ Daw-Ran Liou
118
119
  Debi Mishra
119
120
  Denis Kirisov
120
121
  Denivy Braiam Rück
122
+ Dheeraj C K
121
123
  Dhiren Serai
122
124
  Diego Russo
123
125
  Dmitry Dygalo
@@ -137,6 +139,7 @@ Endre Galaczi
137
139
  Eric Hunsberger
138
140
  Eric Liu
139
141
  Eric Siegerman
142
+ Eric Yuan
140
143
  Erik Aronesty
141
144
  Erik Hasse
142
145
  Erik M. Bray
@@ -235,6 +238,7 @@ Kyle Altendorf
235
238
  Lawrence Mitchell
236
239
  Lee Kamentsky
237
240
  Lev Maximov
241
+ Levon Saldamli
238
242
  Lewis Cowles
239
243
  Llandy Riveron Del Risco
240
244
  Loic Esteve
@@ -432,6 +436,7 @@ Xixi Zhao
432
436
  Xuan Luong
433
437
  Xuecong Liao
434
438
  Yannick Péroux
439
+ Yao Xiao
435
440
  Yoav Caspi
436
441
  Yuliang Shao
437
442
  Yusuke Kadowaki
@@ -297,12 +297,12 @@ Here is a simple overview, with pytest-specific bits:
297
297
  When committing, ``pre-commit`` will re-format the files if necessary.
298
298
 
299
299
  #. If instead of using ``tox`` you prefer to run the tests directly, then we suggest to create a virtual environment and use
300
- an editable install with the ``testing`` extra::
300
+ an editable install with the ``dev`` extra::
301
301
 
302
302
  $ python3 -m venv .venv
303
303
  $ source .venv/bin/activate # Linux
304
304
  $ .venv/Scripts/activate.bat # Windows
305
- $ pip install -e ".[testing]"
305
+ $ pip install -e ".[dev]"
306
306
 
307
307
  Afterwards, you can edit the files and run pytest normally::
308
308
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytest
3
- Version: 8.1.2
3
+ Version: 8.2.0
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
@@ -34,17 +34,17 @@ Requires-Dist: colorama; sys_platform == "win32"
34
34
  Requires-Dist: exceptiongroup>=1.0.0rc8; python_version < "3.11"
35
35
  Requires-Dist: iniconfig
36
36
  Requires-Dist: packaging
37
- Requires-Dist: pluggy<2.0,>=1.4
37
+ Requires-Dist: pluggy<2.0,>=1.5
38
38
  Requires-Dist: tomli>=1; python_version < "3.11"
39
- Provides-Extra: testing
40
- Requires-Dist: argcomplete; extra == "testing"
41
- Requires-Dist: attrs>=19.2; extra == "testing"
42
- Requires-Dist: hypothesis>=3.56; extra == "testing"
43
- Requires-Dist: mock; extra == "testing"
44
- Requires-Dist: pygments>=2.7.2; extra == "testing"
45
- Requires-Dist: requests; extra == "testing"
46
- Requires-Dist: setuptools; extra == "testing"
47
- Requires-Dist: xmlschema; extra == "testing"
39
+ Provides-Extra: dev
40
+ Requires-Dist: argcomplete; extra == "dev"
41
+ Requires-Dist: attrs>=19.2; extra == "dev"
42
+ Requires-Dist: hypothesis>=3.56; extra == "dev"
43
+ Requires-Dist: mock; extra == "dev"
44
+ Requires-Dist: pygments>=2.7.2; extra == "dev"
45
+ Requires-Dist: requests; extra == "dev"
46
+ Requires-Dist: setuptools; extra == "dev"
47
+ Requires-Dist: xmlschema; extra == "dev"
48
48
 
49
49
  .. image:: https://github.com/pytest-dev/pytest/raw/main/doc/en/img/pytest_logo_curves.svg
50
50
  :target: https://docs.pytest.org/en/stable/
@@ -25,6 +25,7 @@ The current list of contributors receiving funding are:
25
25
 
26
26
  * `@nicoddemus`_
27
27
  * `@The-Compiler`_
28
+ * `@RonnyPfannschmidt`_
28
29
 
29
30
  Contributors interested in receiving a part of the funds just need to submit a PR adding their
30
31
  name to the list. Contributors that want to stop receiving the funds should also submit a PR
@@ -56,3 +57,4 @@ funds. Just drop a line to one of the `@pytest-dev/tidelift-admins`_ or use the
56
57
 
57
58
  .. _`@nicoddemus`: https://github.com/nicoddemus
58
59
  .. _`@The-Compiler`: https://github.com/The-Compiler
60
+ .. _`@RonnyPfannschmidt`: https://github.com/RonnyPfannschmidt
@@ -6,6 +6,7 @@ Release announcements
6
6
  :maxdepth: 2
7
7
 
8
8
 
9
+ release-8.2.0
9
10
  release-8.1.2
10
11
  release-8.1.1
11
12
  release-8.1.0
@@ -0,0 +1,43 @@
1
+ pytest-8.2.0
2
+ =======================================
3
+
4
+ The pytest team is proud to announce the 8.2.0 release!
5
+
6
+ This release contains new features, improvements, and bug fixes,
7
+ the full list of changes is available in the changelog:
8
+
9
+ https://docs.pytest.org/en/stable/changelog.html
10
+
11
+ For complete documentation, please visit:
12
+
13
+ https://docs.pytest.org/en/stable/
14
+
15
+ As usual, you can upgrade from PyPI via:
16
+
17
+ pip install -U pytest
18
+
19
+ Thanks to all of the contributors to this release:
20
+
21
+ * Bruno Oliveira
22
+ * Daniel Miller
23
+ * Florian Bruhin
24
+ * HolyMagician03-UMich
25
+ * John Litborn
26
+ * Levon Saldamli
27
+ * Linghao Zhang
28
+ * Manuel López-Ibáñez
29
+ * Pierre Sassoulas
30
+ * Ran Benita
31
+ * Ronny Pfannschmidt
32
+ * Sebastian Meyer
33
+ * Shekhar verma
34
+ * Tamir Duberstein
35
+ * Tobias Stoeckmann
36
+ * dj
37
+ * jakkdl
38
+ * poulami-sau
39
+ * tserg
40
+
41
+
42
+ Happy testing,
43
+ The pytest Development Team
@@ -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:527
25
+ cache -- .../_pytest/cacheprovider.py:542
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:1008
36
+ capsysbinary -- .../_pytest/capture.py:1003
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()``
@@ -50,7 +50,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
50
50
  captured = capsysbinary.readouterr()
51
51
  assert captured.out == b"hello\n"
52
52
 
53
- capfd -- .../_pytest/capture.py:1035
53
+ capfd -- .../_pytest/capture.py:1030
54
54
  Enable text capturing of writes to file descriptors ``1`` and ``2``.
55
55
 
56
56
  The captured output is made available via ``capfd.readouterr()`` method
@@ -67,7 +67,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
67
67
  captured = capfd.readouterr()
68
68
  assert captured.out == "hello\n"
69
69
 
70
- capfdbinary -- .../_pytest/capture.py:1062
70
+ capfdbinary -- .../_pytest/capture.py:1057
71
71
  Enable bytes capturing of writes to file descriptors ``1`` and ``2``.
72
72
 
73
73
  The captured output is made available via ``capfd.readouterr()`` method
@@ -84,7 +84,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
84
84
  captured = capfdbinary.readouterr()
85
85
  assert captured.out == b"hello\n"
86
86
 
87
- capsys -- .../_pytest/capture.py:981
87
+ capsys -- .../_pytest/capture.py:976
88
88
  Enable text capturing of writes to ``sys.stdout`` and ``sys.stderr``.
89
89
 
90
90
  The captured output is made available via ``capsys.readouterr()`` method
@@ -101,7 +101,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
101
101
  captured = capsys.readouterr()
102
102
  assert captured.out == "hello\n"
103
103
 
104
- doctest_namespace [session scope] -- .../_pytest/doctest.py:737
104
+ doctest_namespace [session scope] -- .../_pytest/doctest.py:738
105
105
  Fixture that returns a :py:class:`dict` that will be injected into the
106
106
  namespace of doctests.
107
107
 
@@ -115,7 +115,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
115
115
 
116
116
  For more details: :ref:`doctest_namespace`.
117
117
 
118
- pytestconfig [session scope] -- .../_pytest/fixtures.py:1346
118
+ pytestconfig [session scope] -- .../_pytest/fixtures.py:1335
119
119
  Session-scoped fixture that returns the session's :class:`pytest.Config`
120
120
  object.
121
121
 
@@ -125,7 +125,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
125
125
  if pytestconfig.getoption("verbose") > 0:
126
126
  ...
127
127
 
128
- record_property -- .../_pytest/junitxml.py:283
128
+ record_property -- .../_pytest/junitxml.py:284
129
129
  Add extra properties to the calling test.
130
130
 
131
131
  User properties become part of the test report and are available to the
@@ -139,13 +139,13 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
139
139
  def test_function(record_property):
140
140
  record_property("example_key", 1)
141
141
 
142
- record_xml_attribute -- .../_pytest/junitxml.py:306
142
+ record_xml_attribute -- .../_pytest/junitxml.py:307
143
143
  Add extra xml attributes to the tag for the calling test.
144
144
 
145
145
  The fixture is callable with ``name, value``. The value is
146
146
  automatically XML-encoded.
147
147
 
148
- record_testsuite_property [session scope] -- .../_pytest/junitxml.py:344
148
+ record_testsuite_property [session scope] -- .../_pytest/junitxml.py:345
149
149
  Record a new ``<property>`` tag as child of the root ``<testsuite>``.
150
150
 
151
151
  This is suitable to writing global information regarding the entire test
@@ -192,7 +192,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
192
192
 
193
193
  .. _legacy_path: https://py.readthedocs.io/en/latest/path.html
194
194
 
195
- caplog -- .../_pytest/logging.py:601
195
+ caplog -- .../_pytest/logging.py:602
196
196
  Access and control log capturing.
197
197
 
198
198
  Captured logs are available through the following properties/methods::
@@ -203,7 +203,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
203
203
  * caplog.record_tuples -> list of (logger_name, level, message) tuples
204
204
  * caplog.clear() -> clear captured records and formatted log output string
205
205
 
206
- monkeypatch -- .../_pytest/monkeypatch.py:32
206
+ monkeypatch -- .../_pytest/monkeypatch.py:33
207
207
  A convenient fixture for monkey-patching.
208
208
 
209
209
  The fixture provides these methods to modify objects, dictionaries, or
@@ -227,16 +227,16 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
227
227
  To undo modifications done by the fixture in a contained scope,
228
228
  use :meth:`context() <pytest.MonkeyPatch.context>`.
229
229
 
230
- recwarn -- .../_pytest/recwarn.py:31
230
+ recwarn -- .../_pytest/recwarn.py:32
231
231
  Return a :class:`WarningsRecorder` instance that records all warnings emitted by test functions.
232
232
 
233
233
  See https://docs.pytest.org/en/latest/how-to/capture-warnings.html for information
234
234
  on warning categories.
235
235
 
236
- tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:241
236
+ tmp_path_factory [session scope] -- .../_pytest/tmpdir.py:242
237
237
  Return a :class:`pytest.TempPathFactory` instance for the test session.
238
238
 
239
- tmp_path -- .../_pytest/tmpdir.py:256
239
+ tmp_path -- .../_pytest/tmpdir.py:257
240
240
  Return a temporary directory path object which is unique to each test
241
241
  function invocation, created as a sub directory of the base temporary
242
242
  directory.
@@ -28,6 +28,87 @@ with advance notice in the **Deprecations** section of releases.
28
28
 
29
29
  .. towncrier release notes start
30
30
 
31
+ pytest 8.2.0 (2024-04-27)
32
+ =========================
33
+
34
+ Deprecations
35
+ ------------
36
+
37
+ - `#12069 <https://github.com/pytest-dev/pytest/issues/12069>`_: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated ``py.path.local`` parameter instead of the ``pathlib.Path`` parameter which replaced it:
38
+
39
+ - :hook:`pytest_ignore_collect` - the ``path`` parameter - use ``collection_path`` instead.
40
+ - :hook:`pytest_collect_file` - the ``path`` parameter - use ``file_path`` instead.
41
+ - :hook:`pytest_pycollect_makemodule` - the ``path`` parameter - use ``module_path`` instead.
42
+ - :hook:`pytest_report_header` - the ``startdir`` parameter - use ``start_path`` instead.
43
+ - :hook:`pytest_report_collectionfinish` - the ``startdir`` parameter - use ``start_path`` instead.
44
+
45
+ The replacement parameters are available since pytest 7.0.0.
46
+ The old parameters will be removed in pytest 9.0.0.
47
+
48
+ See :ref:`legacy-path-hooks-deprecated` for more details.
49
+
50
+
51
+
52
+ Features
53
+ --------
54
+
55
+ - `#11871 <https://github.com/pytest-dev/pytest/issues/11871>`_: Added support for reading command line arguments from a file using the prefix character ``@``, like e.g.: ``pytest @tests.txt``. The file must have one argument per line.
56
+
57
+ See :ref:`Read arguments from file <args-from-file>` for details.
58
+
59
+
60
+
61
+ Improvements
62
+ ------------
63
+
64
+ - `#11523 <https://github.com/pytest-dev/pytest/issues/11523>`_: :func:`pytest.importorskip` will now issue a warning if the module could be found, but raised :class:`ImportError` instead of :class:`ModuleNotFoundError`.
65
+
66
+ The warning can be suppressed by passing ``exc_type=ImportError`` to :func:`pytest.importorskip`.
67
+
68
+ See :ref:`import-or-skip-import-error` for details.
69
+
70
+
71
+ - `#11728 <https://github.com/pytest-dev/pytest/issues/11728>`_: For ``unittest``-based tests, exceptions during class cleanup (as raised by functions registered with :meth:`TestCase.addClassCleanup <unittest.TestCase.addClassCleanup>`) are now reported instead of silently failing.
72
+
73
+
74
+ - `#11777 <https://github.com/pytest-dev/pytest/issues/11777>`_: Text is no longer truncated in the ``short test summary info`` section when ``-vv`` is given.
75
+
76
+
77
+ - `#12112 <https://github.com/pytest-dev/pytest/issues/12112>`_: Improved namespace packages detection when :confval:`consider_namespace_packages` is enabled, covering more situations (like editable installs).
78
+
79
+
80
+ - `#9502 <https://github.com/pytest-dev/pytest/issues/9502>`_: Added :envvar:`PYTEST_VERSION` environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value of ``pytest.__version__``, and among other things can be used to easily check if code is running from within a pytest run.
81
+
82
+
83
+
84
+ Bug Fixes
85
+ ---------
86
+
87
+ - `#12065 <https://github.com/pytest-dev/pytest/issues/12065>`_: Fixed a regression in pytest 8.0.0 where test classes containing ``setup_method`` and tests using ``@staticmethod`` or ``@classmethod`` would crash with ``AttributeError: 'NoneType' object has no attribute 'setup_method'``.
88
+
89
+ Now the :attr:`request.instance <pytest.FixtureRequest.instance>` attribute of tests using ``@staticmethod`` and ``@classmethod`` is no longer ``None``, but a fresh instance of the class, like in non-static methods.
90
+ Previously it was ``None``, and all fixtures of such tests would share a single ``self``.
91
+
92
+
93
+ - `#12135 <https://github.com/pytest-dev/pytest/issues/12135>`_: Fixed issue where fixtures adding their finalizer multiple times to fixtures they request would cause unreliable and non-intuitive teardown ordering in some instances.
94
+
95
+
96
+ - `#12194 <https://github.com/pytest-dev/pytest/issues/12194>`_: Fixed a bug with ``--importmode=importlib`` and ``--doctest-modules`` where child modules did not appear as attributes in parent modules.
97
+
98
+
99
+ - `#1489 <https://github.com/pytest-dev/pytest/issues/1489>`_: Fixed some instances where teardown of higher-scoped fixtures was not happening in the reverse order they were initialized in.
100
+
101
+
102
+
103
+ Trivial/Internal Changes
104
+ ------------------------
105
+
106
+ - `#12069 <https://github.com/pytest-dev/pytest/issues/12069>`_: ``pluggy>=1.5.0`` is now required.
107
+
108
+
109
+ - `#12167 <https://github.com/pytest-dev/pytest/issues/12167>`_: :ref:`cache <cache>`: create supporting files (``CACHEDIR.TAG``, ``.gitignore``, etc.) in a temporary directory to provide atomic semantics.
110
+
111
+
31
112
  pytest 8.1.2 (2024-04-26)
32
113
  =========================
33
114
 
@@ -19,6 +19,41 @@ Below is a complete list of all pytest features which are considered deprecated.
19
19
  :class:`~pytest.PytestWarning` or subclasses, which can be filtered using :ref:`standard warning filters <warnings>`.
20
20
 
21
21
 
22
+ .. _import-or-skip-import-error:
23
+
24
+ ``pytest.importorskip`` default behavior regarding :class:`ImportError`
25
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26
+
27
+ .. deprecated:: 8.2
28
+
29
+ Traditionally :func:`pytest.importorskip` will capture :class:`ImportError`, with the original intent being to skip
30
+ tests where a dependent module is not installed, for example testing with different dependencies.
31
+
32
+ However some packages might be installed in the system, but are not importable due to
33
+ some other issue, for example, a compilation error or a broken installation. In those cases :func:`pytest.importorskip`
34
+ would still silently skip the test, but more often than not users would like to see the unexpected
35
+ error so the underlying issue can be fixed.
36
+
37
+ In ``8.2`` the ``exc_type`` parameter has been added, giving users the ability of passing :class:`ModuleNotFoundError`
38
+ to skip tests only if the module cannot really be found, and not because of some other error.
39
+
40
+ Catching only :class:`ModuleNotFoundError` by default (and letting other errors propagate) would be the best solution,
41
+ however for backward compatibility, pytest will keep the existing behavior but raise an warning if:
42
+
43
+ 1. The captured exception is of type :class:`ImportError`, and:
44
+ 2. The user does not pass ``exc_type`` explicitly.
45
+
46
+ If the import attempt raises :class:`ModuleNotFoundError` (the usual case), then the module is skipped and no
47
+ warning is emitted.
48
+
49
+ This way, the usual cases will keep working the same way, while unexpected errors will now issue a warning, with
50
+ users being able to supress the warning by passing ``exc_type=ImportError`` explicitly.
51
+
52
+ In ``9.0``, the warning will turn into an error, and in ``9.1`` :func:`pytest.importorskip` will only capture
53
+ :class:`ModuleNotFoundError` by default and no warnings will be issued anymore -- but users can still capture
54
+ :class:`ImportError` by passing it to ``exc_type``.
55
+
56
+
22
57
  .. _node-ctor-fspath-deprecation:
23
58
 
24
59
  ``fspath`` argument for Node constructors replaced with ``pathlib.Path``
@@ -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-197>
165
+ <Dir parametrize.rst-198>
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-197>
242
+ <Dir parametrize.rst-198>
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-197>
321
+ <Dir parametrize.rst-198>
322
322
  <Module test_backends.py>
323
323
  <Function test_db_initialized[d1]>
324
324
  <Function test_db_initialized[d2]>
@@ -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-198>
155
+ <Dir pythoncollection.rst-199>
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-198>
218
+ <Dir pythoncollection.rst-199>
219
219
  <Dir CWD>
220
220
  <Module pythoncollection.py>
221
221
  <Function test_function>
@@ -22,7 +22,7 @@ Install ``pytest``
22
22
  .. code-block:: bash
23
23
 
24
24
  $ pytest --version
25
- pytest 8.1.2
25
+ pytest 8.2.0
26
26
 
27
27
  .. _`simpletest`:
28
28
 
@@ -1418,7 +1418,7 @@ Running the above tests results in the following test IDs being used:
1418
1418
  rootdir: /home/sweet/project
1419
1419
  collected 12 items
1420
1420
 
1421
- <Dir fixtures.rst-216>
1421
+ <Dir fixtures.rst-217>
1422
1422
  <Module test_anothersmtp.py>
1423
1423
  <Function test_showhelo[smtp.gmail.com]>
1424
1424
  <Function test_showhelo[mail.python.org]>
@@ -294,9 +294,47 @@ Now if we increase verbosity even more:
294
294
 
295
295
  test_verbosity_example.py:19: AssertionError
296
296
  ========================= short test summary info ==========================
297
- FAILED test_verbosity_example.py::test_words_fail - AssertionError: asser...
298
- FAILED test_verbosity_example.py::test_numbers_fail - AssertionError: ass...
299
- FAILED test_verbosity_example.py::test_long_text_fail - AssertionError: a...
297
+ FAILED test_verbosity_example.py::test_words_fail - AssertionError: assert ['banana', 'apple', 'grapes', 'melon', 'kiwi'] == ['banana', 'apple', 'orange', 'melon', 'kiwi']
298
+
299
+ At index 2 diff: 'grapes' != 'orange'
300
+
301
+ Full diff:
302
+ [
303
+ 'banana',
304
+ 'apple',
305
+ - 'orange',
306
+ ? ^ ^^
307
+ + 'grapes',
308
+ ? ^ ^ +
309
+ 'melon',
310
+ 'kiwi',
311
+ ]
312
+ FAILED test_verbosity_example.py::test_numbers_fail - AssertionError: assert {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4} == {'0': 0, '10': 10, '20': 20, '30': 30, '40': 40}
313
+
314
+ Common items:
315
+ {'0': 0}
316
+ Left contains 4 more items:
317
+ {'1': 1, '2': 2, '3': 3, '4': 4}
318
+ Right contains 4 more items:
319
+ {'10': 10, '20': 20, '30': 30, '40': 40}
320
+
321
+ Full diff:
322
+ {
323
+ '0': 0,
324
+ - '10': 10,
325
+ ? - -
326
+ + '1': 1,
327
+ - '20': 20,
328
+ ? - -
329
+ + '2': 2,
330
+ - '30': 30,
331
+ ? - -
332
+ + '3': 3,
333
+ - '40': 40,
334
+ ? - -
335
+ + '4': 4,
336
+ }
337
+ FAILED test_verbosity_example.py::test_long_text_fail - AssertionError: assert 'hello world' in 'Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet '
300
338
  ======================= 3 failed, 1 passed in 0.12s ========================
301
339
 
302
340
  Notice now that: