pytest 8.3.3__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 (608) hide show
  1. {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/deploy.yml +1 -1
  2. {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/test.yml +1 -1
  3. {pytest-8.3.3 → pytest-8.3.4}/.pre-commit-config.yaml +0 -2
  4. {pytest-8.3.3 → pytest-8.3.4}/AUTHORS +3 -0
  5. {pytest-8.3.3/src/pytest.egg-info → pytest-8.3.4}/PKG-INFO +1 -1
  6. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/index.rst +1 -0
  7. pytest-8.3.4/doc/en/announce/release-8.3.4.rst +30 -0
  8. {pytest-8.3.3 → pytest-8.3.4}/doc/en/builtin.rst +13 -26
  9. {pytest-8.3.3 → pytest-8.3.4}/doc/en/changelog.rst +41 -0
  10. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/parametrize.rst +3 -3
  11. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/pythoncollection.rst +2 -2
  12. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/goodpractices.rst +2 -2
  13. {pytest-8.3.3 → pytest-8.3.4}/doc/en/getting-started.rst +1 -1
  14. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/capture-stdout-stderr.rst +15 -27
  15. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/capture-warnings.rst +38 -12
  16. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/fixtures.rst +1 -1
  17. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/tmp_path.rst +35 -15
  18. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/reference.rst +10 -4
  19. {pytest-8.3.3 → pytest-8.3.4}/pyproject.toml +1 -0
  20. {pytest-8.3.3 → pytest-8.3.4}/scripts/update-plugin-list.py +1 -0
  21. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/code.py +11 -5
  22. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_version.py +2 -2
  23. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/rewrite.py +14 -7
  24. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/__init__.py +5 -4
  25. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/legacypath.py +5 -10
  26. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pathlib.py +97 -34
  27. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python_api.py +26 -18
  28. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/recwarn.py +1 -2
  29. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/tmpdir.py +7 -15
  30. {pytest-8.3.3 → pytest-8.3.4/src/pytest.egg-info}/PKG-INFO +1 -1
  31. {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/SOURCES.txt +1 -0
  32. {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_excinfo.py +17 -0
  33. {pytest-8.3.3 → pytest-8.3.4}/testing/conftest.py +2 -2
  34. {pytest-8.3.3 → pytest-8.3.4}/testing/python/approx.py +22 -1
  35. {pytest-8.3.3 → pytest-8.3.4}/testing/python/fixtures.py +1 -1
  36. {pytest-8.3.3 → pytest-8.3.4}/testing/test_assertrewrite.py +207 -4
  37. {pytest-8.3.3 → pytest-8.3.4}/testing/test_config.py +13 -7
  38. {pytest-8.3.3 → pytest-8.3.4}/testing/test_debugging.py +12 -4
  39. {pytest-8.3.3 → pytest-8.3.4}/testing/test_pathlib.py +73 -1
  40. {pytest-8.3.3 → pytest-8.3.4}/.coveragerc +0 -0
  41. {pytest-8.3.3 → pytest-8.3.4}/.git-blame-ignore-revs +0 -0
  42. {pytest-8.3.3 → pytest-8.3.4}/.gitattributes +0 -0
  43. {pytest-8.3.3 → pytest-8.3.4}/.github/FUNDING.yml +0 -0
  44. {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  45. {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  46. {pytest-8.3.3 → pytest-8.3.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  47. {pytest-8.3.3 → pytest-8.3.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  48. {pytest-8.3.3 → pytest-8.3.4}/.github/chronographer.yml +0 -0
  49. {pytest-8.3.3 → pytest-8.3.4}/.github/config.yml +0 -0
  50. {pytest-8.3.3 → pytest-8.3.4}/.github/dependabot.yml +0 -0
  51. {pytest-8.3.3 → pytest-8.3.4}/.github/labels.toml +0 -0
  52. {pytest-8.3.3 → pytest-8.3.4}/.github/patchback.yml +0 -0
  53. {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/prepare-release-pr.yml +0 -0
  54. {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/stale.yml +0 -0
  55. {pytest-8.3.3 → pytest-8.3.4}/.github/workflows/update-plugin-list.yml +0 -0
  56. {pytest-8.3.3 → pytest-8.3.4}/.gitignore +0 -0
  57. {pytest-8.3.3 → pytest-8.3.4}/.readthedocs.yaml +0 -0
  58. {pytest-8.3.3 → pytest-8.3.4}/CHANGELOG.rst +0 -0
  59. {pytest-8.3.3 → pytest-8.3.4}/CITATION +0 -0
  60. {pytest-8.3.3 → pytest-8.3.4}/CODE_OF_CONDUCT.md +0 -0
  61. {pytest-8.3.3 → pytest-8.3.4}/CONTRIBUTING.rst +0 -0
  62. {pytest-8.3.3 → pytest-8.3.4}/LICENSE +0 -0
  63. {pytest-8.3.3 → pytest-8.3.4}/OPENCOLLECTIVE.rst +0 -0
  64. {pytest-8.3.3 → pytest-8.3.4}/README.rst +0 -0
  65. {pytest-8.3.3 → pytest-8.3.4}/RELEASING.rst +0 -0
  66. {pytest-8.3.3 → pytest-8.3.4}/TIDELIFT.rst +0 -0
  67. {pytest-8.3.3 → pytest-8.3.4}/bench/bench.py +0 -0
  68. {pytest-8.3.3 → pytest-8.3.4}/bench/bench_argcomplete.py +0 -0
  69. {pytest-8.3.3 → pytest-8.3.4}/bench/empty.py +0 -0
  70. {pytest-8.3.3 → pytest-8.3.4}/bench/manyparam.py +0 -0
  71. {pytest-8.3.3 → pytest-8.3.4}/bench/skip.py +0 -0
  72. {pytest-8.3.3 → pytest-8.3.4}/bench/unit_test.py +0 -0
  73. {pytest-8.3.3 → pytest-8.3.4}/bench/xunit.py +0 -0
  74. {pytest-8.3.3 → pytest-8.3.4}/changelog/.gitignore +0 -0
  75. {pytest-8.3.3 → pytest-8.3.4}/changelog/README.rst +0 -0
  76. {pytest-8.3.3 → pytest-8.3.4}/changelog/_template.rst +0 -0
  77. {pytest-8.3.3 → pytest-8.3.4}/codecov.yml +0 -0
  78. {pytest-8.3.3 → pytest-8.3.4}/doc/en/Makefile +0 -0
  79. {pytest-8.3.3 → pytest-8.3.4}/doc/en/_static/pytest-custom.css +0 -0
  80. {pytest-8.3.3 → pytest-8.3.4}/doc/en/_static/pytest1.png +0 -0
  81. {pytest-8.3.3 → pytest-8.3.4}/doc/en/_templates/links.html +0 -0
  82. {pytest-8.3.3 → pytest-8.3.4}/doc/en/adopt.rst +0 -0
  83. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.0.rst +0 -0
  84. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.1.rst +0 -0
  85. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.2.rst +0 -0
  86. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.0.3.rst +0 -0
  87. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.0.rst +0 -0
  88. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.1.rst +0 -0
  89. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.2.rst +0 -0
  90. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.1.3.rst +0 -0
  91. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.0.rst +0 -0
  92. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.1.rst +0 -0
  93. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.2.rst +0 -0
  94. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.2.4.rst +0 -0
  95. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.0.rst +0 -0
  96. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.1.rst +0 -0
  97. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.2.rst +0 -0
  98. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.3.rst +0 -0
  99. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.4.rst +0 -0
  100. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.3.5.rst +0 -0
  101. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.0.rst +0 -0
  102. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.1.rst +0 -0
  103. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.4.2.rst +0 -0
  104. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.0.rst +0 -0
  105. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.1.rst +0 -0
  106. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.5.2.rst +0 -0
  107. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.0.rst +0 -0
  108. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.1.rst +0 -0
  109. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.2.rst +0 -0
  110. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.6.3.rst +0 -0
  111. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.0.rst +0 -0
  112. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.1.rst +0 -0
  113. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.7.2.rst +0 -0
  114. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.2.rst +0 -0
  115. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.3.rst +0 -0
  116. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.4.rst +0 -0
  117. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.5.rst +0 -0
  118. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.6.rst +0 -0
  119. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.8.7.rst +0 -0
  120. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.0.rst +0 -0
  121. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.1.rst +0 -0
  122. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-2.9.2.rst +0 -0
  123. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.0.rst +0 -0
  124. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.1.rst +0 -0
  125. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.2.rst +0 -0
  126. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.3.rst +0 -0
  127. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.4.rst +0 -0
  128. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.5.rst +0 -0
  129. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.6.rst +0 -0
  130. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.0.7.rst +0 -0
  131. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.0.rst +0 -0
  132. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.1.rst +0 -0
  133. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.2.rst +0 -0
  134. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.1.3.rst +0 -0
  135. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.10.0.rst +0 -0
  136. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.10.1.rst +0 -0
  137. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.0.rst +0 -0
  138. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.1.rst +0 -0
  139. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.2.rst +0 -0
  140. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.3.rst +0 -0
  141. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.4.rst +0 -0
  142. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.2.5.rst +0 -0
  143. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.0.rst +0 -0
  144. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.1.rst +0 -0
  145. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.3.2.rst +0 -0
  146. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.0.rst +0 -0
  147. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.1.rst +0 -0
  148. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.4.2.rst +0 -0
  149. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.5.0.rst +0 -0
  150. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.5.1.rst +0 -0
  151. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.0.rst +0 -0
  152. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.1.rst +0 -0
  153. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.2.rst +0 -0
  154. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.3.rst +0 -0
  155. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.6.4.rst +0 -0
  156. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.0.rst +0 -0
  157. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.1.rst +0 -0
  158. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.2.rst +0 -0
  159. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.3.rst +0 -0
  160. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.7.4.rst +0 -0
  161. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.0.rst +0 -0
  162. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.1.rst +0 -0
  163. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.8.2.rst +0 -0
  164. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.0.rst +0 -0
  165. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.1.rst +0 -0
  166. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.2.rst +0 -0
  167. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-3.9.3.rst +0 -0
  168. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.0.rst +0 -0
  169. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.1.rst +0 -0
  170. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.0.2.rst +0 -0
  171. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.1.0.rst +0 -0
  172. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.1.1.rst +0 -0
  173. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.2.0.rst +0 -0
  174. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.2.1.rst +0 -0
  175. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.3.0.rst +0 -0
  176. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.3.1.rst +0 -0
  177. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.0.rst +0 -0
  178. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.1.rst +0 -0
  179. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.4.2.rst +0 -0
  180. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.5.0.rst +0 -0
  181. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.0.rst +0 -0
  182. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.1.rst +0 -0
  183. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.2.rst +0 -0
  184. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.3.rst +0 -0
  185. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.4.rst +0 -0
  186. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.5.rst +0 -0
  187. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.6.rst +0 -0
  188. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.7.rst +0 -0
  189. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.8.rst +0 -0
  190. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-4.6.9.rst +0 -0
  191. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.0.0.rst +0 -0
  192. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.0.1.rst +0 -0
  193. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.0.rst +0 -0
  194. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.1.rst +0 -0
  195. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.2.rst +0 -0
  196. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.1.3.rst +0 -0
  197. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.0.rst +0 -0
  198. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.1.rst +0 -0
  199. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.2.rst +0 -0
  200. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.3.rst +0 -0
  201. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.2.4.rst +0 -0
  202. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.0.rst +0 -0
  203. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.1.rst +0 -0
  204. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.2.rst +0 -0
  205. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.3.rst +0 -0
  206. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.4.rst +0 -0
  207. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.3.5.rst +0 -0
  208. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.0.rst +0 -0
  209. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.1.rst +0 -0
  210. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.2.rst +0 -0
  211. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-5.4.3.rst +0 -0
  212. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.0.rst +0 -0
  213. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  214. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.1.rst +0 -0
  215. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.0.2.rst +0 -0
  216. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.0.rst +0 -0
  217. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.1.rst +0 -0
  218. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.1.2.rst +0 -0
  219. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.0.rst +0 -0
  220. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.1.rst +0 -0
  221. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.2.rst +0 -0
  222. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.3.rst +0 -0
  223. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.4.rst +0 -0
  224. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-6.2.5.rst +0 -0
  225. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.0.rst +0 -0
  226. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  227. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.0.1.rst +0 -0
  228. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.0.rst +0 -0
  229. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.1.rst +0 -0
  230. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.2.rst +0 -0
  231. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.1.3.rst +0 -0
  232. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.0.rst +0 -0
  233. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.1.rst +0 -0
  234. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.2.2.rst +0 -0
  235. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.0.rst +0 -0
  236. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.1.rst +0 -0
  237. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.3.2.rst +0 -0
  238. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.0.rst +0 -0
  239. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.1.rst +0 -0
  240. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.2.rst +0 -0
  241. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.3.rst +0 -0
  242. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-7.4.4.rst +0 -0
  243. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0.rst +0 -0
  244. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc1.rst +0 -0
  245. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.0rc2.rst +0 -0
  246. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.1.rst +0 -0
  247. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.0.2.rst +0 -0
  248. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.0.rst +0 -0
  249. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.1.rst +0 -0
  250. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.1.2.rst +0 -0
  251. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.0.rst +0 -0
  252. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.1.rst +0 -0
  253. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.2.2.rst +0 -0
  254. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.0.rst +0 -0
  255. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.1.rst +0 -0
  256. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.2.rst +0 -0
  257. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/release-8.3.3.rst +0 -0
  258. {pytest-8.3.3 → pytest-8.3.4}/doc/en/announce/sprint2016.rst +0 -0
  259. {pytest-8.3.3 → pytest-8.3.4}/doc/en/backwards-compatibility.rst +0 -0
  260. {pytest-8.3.3 → pytest-8.3.4}/doc/en/broken-dep-constraints.txt +0 -0
  261. {pytest-8.3.3 → pytest-8.3.4}/doc/en/conf.py +0 -0
  262. {pytest-8.3.3 → pytest-8.3.4}/doc/en/conftest.py +0 -0
  263. {pytest-8.3.3 → pytest-8.3.4}/doc/en/contact.rst +0 -0
  264. {pytest-8.3.3 → pytest-8.3.4}/doc/en/contents.rst +0 -0
  265. {pytest-8.3.3 → pytest-8.3.4}/doc/en/contributing.rst +0 -0
  266. {pytest-8.3.3 → pytest-8.3.4}/doc/en/deprecations.rst +0 -0
  267. {pytest-8.3.3 → pytest-8.3.4}/doc/en/development_guide.rst +0 -0
  268. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/failure_demo.py +0 -0
  269. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  270. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  271. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/test_failures.py +0 -0
  272. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  273. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/attic.rst +0 -0
  274. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/conftest.py +0 -0
  275. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/conftest.py +0 -0
  276. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/pytest.ini +0 -0
  277. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/manifest.json +0 -0
  278. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_first.py +0 -0
  279. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_second.py +0 -0
  280. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory/tests/test_third.py +0 -0
  281. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/customdirectory.rst +0 -0
  282. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  283. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  284. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  285. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  286. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  287. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  288. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  289. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  290. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  291. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  292. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  293. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  294. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  295. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  296. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  297. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  298. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  299. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/index.rst +0 -0
  300. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/markers.rst +0 -0
  301. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/multipython.py +0 -0
  302. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/__init__.py +0 -0
  303. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/conftest.py +0 -0
  304. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
  305. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/nonpython.rst +0 -0
  306. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/pythoncollection.py +0 -0
  307. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/reportingdemo.rst +0 -0
  308. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/simple.rst +0 -0
  309. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/special.rst +0 -0
  310. {pytest-8.3.3 → pytest-8.3.4}/doc/en/example/xfail_demo.py +0 -0
  311. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/anatomy.rst +0 -0
  312. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/ci.rst +0 -0
  313. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/fixtures.rst +0 -0
  314. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/flaky.rst +0 -0
  315. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/index.rst +0 -0
  316. {pytest-8.3.3 → pytest-8.3.4}/doc/en/explanation/pythonpath.rst +0 -0
  317. {pytest-8.3.3 → pytest-8.3.4}/doc/en/funcarg_compare.rst +0 -0
  318. {pytest-8.3.3 → pytest-8.3.4}/doc/en/funcargs.rst +0 -0
  319. {pytest-8.3.3 → pytest-8.3.4}/doc/en/historical-notes.rst +0 -0
  320. {pytest-8.3.3 → pytest-8.3.4}/doc/en/history.rst +0 -0
  321. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/assert.rst +0 -0
  322. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/bash-completion.rst +0 -0
  323. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/cache.rst +0 -0
  324. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/doctest.rst +0 -0
  325. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/existingtestsuite.rst +0 -0
  326. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/failures.rst +0 -0
  327. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/index.rst +0 -0
  328. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/logging.rst +0 -0
  329. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/mark.rst +0 -0
  330. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/monkeypatch.rst +0 -0
  331. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/output.rst +0 -0
  332. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/parametrize.rst +0 -0
  333. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/plugins.rst +0 -0
  334. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/skipping.rst +0 -0
  335. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/unittest.rst +0 -0
  336. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/usage.rst +0 -0
  337. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
  338. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/writing_plugins.rst +0 -0
  339. {pytest-8.3.3 → pytest-8.3.4}/doc/en/how-to/xunit_setup.rst +0 -0
  340. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/cramer2.png +0 -0
  341. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/favicon.png +0 -0
  342. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/freiburg2.jpg +0 -0
  343. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/gaynor3.png +0 -0
  344. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/keleshev.png +0 -0
  345. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pullrequest.png +0 -0
  346. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pylib.png +0 -0
  347. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/pytest_logo_curves.svg +0 -0
  348. {pytest-8.3.3 → pytest-8.3.4}/doc/en/img/theuni.png +0 -0
  349. {pytest-8.3.3 → pytest-8.3.4}/doc/en/index.rst +0 -0
  350. {pytest-8.3.3 → pytest-8.3.4}/doc/en/license.rst +0 -0
  351. {pytest-8.3.3 → pytest-8.3.4}/doc/en/naming20.rst +0 -0
  352. {pytest-8.3.3 → pytest-8.3.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  353. {pytest-8.3.3 → pytest-8.3.4}/doc/en/pytest.ini +0 -0
  354. {pytest-8.3.3 → pytest-8.3.4}/doc/en/recwarn.rst +0 -0
  355. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/customize.rst +0 -0
  356. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/exit-codes.rst +0 -0
  357. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/fixtures.rst +0 -0
  358. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/index.rst +0 -0
  359. {pytest-8.3.3 → pytest-8.3.4}/doc/en/reference/plugin_list.rst +0 -0
  360. {pytest-8.3.3 → pytest-8.3.4}/doc/en/requirements.txt +0 -0
  361. {pytest-8.3.3 → pytest-8.3.4}/doc/en/sponsor.rst +0 -0
  362. {pytest-8.3.3 → pytest-8.3.4}/doc/en/talks.rst +0 -0
  363. {pytest-8.3.3 → pytest-8.3.4}/doc/en/tidelift.rst +0 -0
  364. {pytest-8.3.3 → pytest-8.3.4}/doc/en/yieldfixture.rst +0 -0
  365. {pytest-8.3.3 → pytest-8.3.4}/extra/get_issues.py +0 -0
  366. {pytest-8.3.3 → pytest-8.3.4}/scripts/.gitignore +0 -0
  367. {pytest-8.3.3 → pytest-8.3.4}/scripts/generate-gh-release-notes.py +0 -0
  368. {pytest-8.3.3 → pytest-8.3.4}/scripts/prepare-release-pr.py +0 -0
  369. {pytest-8.3.3 → pytest-8.3.4}/scripts/release.major.rst +0 -0
  370. {pytest-8.3.3 → pytest-8.3.4}/scripts/release.minor.rst +0 -0
  371. {pytest-8.3.3 → pytest-8.3.4}/scripts/release.patch.rst +0 -0
  372. {pytest-8.3.3 → pytest-8.3.4}/scripts/release.pre.rst +0 -0
  373. {pytest-8.3.3 → pytest-8.3.4}/scripts/release.py +0 -0
  374. {pytest-8.3.3 → pytest-8.3.4}/setup.cfg +0 -0
  375. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/__init__.py +0 -0
  376. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_argcomplete.py +0 -0
  377. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/__init__.py +0 -0
  378. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_code/source.py +0 -0
  379. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/__init__.py +0 -0
  380. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/pprint.py +0 -0
  381. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/saferepr.py +0 -0
  382. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/terminalwriter.py +0 -0
  383. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_io/wcwidth.py +0 -0
  384. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/__init__.py +0 -0
  385. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/error.py +0 -0
  386. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/_py/path.py +0 -0
  387. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/__init__.py +0 -0
  388. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/truncate.py +0 -0
  389. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/assertion/util.py +0 -0
  390. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/cacheprovider.py +0 -0
  391. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/capture.py +0 -0
  392. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/compat.py +0 -0
  393. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/argparsing.py +0 -0
  394. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/compat.py +0 -0
  395. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/exceptions.py +0 -0
  396. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/config/findpaths.py +0 -0
  397. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/debugging.py +0 -0
  398. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/deprecated.py +0 -0
  399. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/doctest.py +0 -0
  400. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/faulthandler.py +0 -0
  401. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/fixtures.py +0 -0
  402. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/freeze_support.py +0 -0
  403. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/helpconfig.py +0 -0
  404. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/hookspec.py +0 -0
  405. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/junitxml.py +0 -0
  406. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/logging.py +0 -0
  407. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/main.py +0 -0
  408. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/__init__.py +0 -0
  409. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/expression.py +0 -0
  410. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/mark/structures.py +0 -0
  411. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/monkeypatch.py +0 -0
  412. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/nodes.py +0 -0
  413. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/outcomes.py +0 -0
  414. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pastebin.py +0 -0
  415. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/py.typed +0 -0
  416. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pytester.py +0 -0
  417. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/pytester_assertions.py +0 -0
  418. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python.py +0 -0
  419. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/python_path.py +0 -0
  420. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/reports.py +0 -0
  421. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/runner.py +0 -0
  422. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/scope.py +0 -0
  423. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/setuponly.py +0 -0
  424. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/setupplan.py +0 -0
  425. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/skipping.py +0 -0
  426. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/stash.py +0 -0
  427. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/stepwise.py +0 -0
  428. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/terminal.py +0 -0
  429. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/threadexception.py +0 -0
  430. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/timing.py +0 -0
  431. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/unittest.py +0 -0
  432. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/unraisableexception.py +0 -0
  433. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/warning_types.py +0 -0
  434. {pytest-8.3.3 → pytest-8.3.4}/src/_pytest/warnings.py +0 -0
  435. {pytest-8.3.3 → pytest-8.3.4}/src/py.py +0 -0
  436. {pytest-8.3.3 → pytest-8.3.4}/src/pytest/__init__.py +0 -0
  437. {pytest-8.3.3 → pytest-8.3.4}/src/pytest/__main__.py +0 -0
  438. {pytest-8.3.3 → pytest-8.3.4}/src/pytest/py.typed +0 -0
  439. {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/dependency_links.txt +0 -0
  440. {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/entry_points.txt +0 -0
  441. {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/requires.txt +0 -0
  442. {pytest-8.3.3 → pytest-8.3.4}/src/pytest.egg-info/top_level.txt +0 -0
  443. {pytest-8.3.3 → pytest-8.3.4}/testing/_py/test_local.py +0 -0
  444. {pytest-8.3.3 → pytest-8.3.4}/testing/acceptance_test.py +0 -0
  445. {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_code.py +0 -0
  446. {pytest-8.3.3 → pytest-8.3.4}/testing/code/test_source.py +0 -0
  447. {pytest-8.3.3 → pytest-8.3.4}/testing/deprecated_test.py +0 -0
  448. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/README.rst +0 -0
  449. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/__init__.py +0 -0
  450. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
  451. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  452. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  453. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  454. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  455. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  456. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  457. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  458. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  459. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  460. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  461. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  462. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  463. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  464. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  465. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/conftest.py +0 -0
  466. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/pytest.ini +0 -0
  467. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/manifest.json +0 -0
  468. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_first.py +0 -0
  469. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_second.py +0 -0
  470. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/customdirectory/tests/test_third.py +0 -0
  471. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  472. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  473. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  474. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
  475. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  476. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  477. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  478. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  479. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  480. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  481. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  482. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  483. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  484. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
  485. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
  486. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
  487. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
  488. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
  489. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
  490. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  491. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  492. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  493. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  494. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  495. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
  496. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  497. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  498. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
  499. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  500. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  501. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  502. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  503. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  504. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  505. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  506. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  507. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  508. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  509. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/issue_519.py +0 -0
  510. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/junit-10.xsd +0 -0
  511. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  512. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  513. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  514. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  515. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  516. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  517. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/pytest.ini +0 -0
  518. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  519. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  520. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
  521. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
  522. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
  523. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  524. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
  525. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  526. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  527. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  528. {pytest-8.3.3 → pytest-8.3.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  529. {pytest-8.3.3 → pytest-8.3.4}/testing/examples/test_issue519.py +0 -0
  530. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/.gitignore +0 -0
  531. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/create_executable.py +0 -0
  532. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/runtests_script.py +0 -0
  533. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tests/test_doctest.txt +0 -0
  534. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tests/test_trivial.py +0 -0
  535. {pytest-8.3.3 → pytest-8.3.4}/testing/freeze/tox_run.py +0 -0
  536. {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_pprint.py +0 -0
  537. {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_saferepr.py +0 -0
  538. {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_terminalwriter.py +0 -0
  539. {pytest-8.3.3 → pytest-8.3.4}/testing/io/test_wcwidth.py +0 -0
  540. {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_fixture.py +0 -0
  541. {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_formatter.py +0 -0
  542. {pytest-8.3.3 → pytest-8.3.4}/testing/logging/test_reporting.py +0 -0
  543. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/.gitignore +0 -0
  544. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/README.rst +0 -0
  545. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
  546. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/bdd_wallet.py +0 -0
  547. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/django_settings.py +0 -0
  548. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest.ini +0 -0
  549. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  550. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  551. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  552. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_rerunfailures_integration.py +0 -0
  553. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  554. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  555. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/requirements.txt +0 -0
  556. {pytest-8.3.3 → pytest-8.3.4}/testing/plugins_integration/simple_integration.py +0 -0
  557. {pytest-8.3.3 → pytest-8.3.4}/testing/python/collect.py +0 -0
  558. {pytest-8.3.3 → pytest-8.3.4}/testing/python/integration.py +0 -0
  559. {pytest-8.3.3 → pytest-8.3.4}/testing/python/metafunc.py +0 -0
  560. {pytest-8.3.3 → pytest-8.3.4}/testing/python/raises.py +0 -0
  561. {pytest-8.3.3 → pytest-8.3.4}/testing/python/show_fixtures_per_test.py +0 -0
  562. {pytest-8.3.3 → pytest-8.3.4}/testing/test_argcomplete.py +0 -0
  563. {pytest-8.3.3 → pytest-8.3.4}/testing/test_assertion.py +0 -0
  564. {pytest-8.3.3 → pytest-8.3.4}/testing/test_cacheprovider.py +0 -0
  565. {pytest-8.3.3 → pytest-8.3.4}/testing/test_capture.py +0 -0
  566. {pytest-8.3.3 → pytest-8.3.4}/testing/test_collection.py +0 -0
  567. {pytest-8.3.3 → pytest-8.3.4}/testing/test_compat.py +0 -0
  568. {pytest-8.3.3 → pytest-8.3.4}/testing/test_conftest.py +0 -0
  569. {pytest-8.3.3 → pytest-8.3.4}/testing/test_doctest.py +0 -0
  570. {pytest-8.3.3 → pytest-8.3.4}/testing/test_entry_points.py +0 -0
  571. {pytest-8.3.3 → pytest-8.3.4}/testing/test_error_diffs.py +0 -0
  572. {pytest-8.3.3 → pytest-8.3.4}/testing/test_faulthandler.py +0 -0
  573. {pytest-8.3.3 → pytest-8.3.4}/testing/test_findpaths.py +0 -0
  574. {pytest-8.3.3 → pytest-8.3.4}/testing/test_helpconfig.py +0 -0
  575. {pytest-8.3.3 → pytest-8.3.4}/testing/test_junitxml.py +0 -0
  576. {pytest-8.3.3 → pytest-8.3.4}/testing/test_legacypath.py +0 -0
  577. {pytest-8.3.3 → pytest-8.3.4}/testing/test_link_resolve.py +0 -0
  578. {pytest-8.3.3 → pytest-8.3.4}/testing/test_main.py +0 -0
  579. {pytest-8.3.3 → pytest-8.3.4}/testing/test_mark.py +0 -0
  580. {pytest-8.3.3 → pytest-8.3.4}/testing/test_mark_expression.py +0 -0
  581. {pytest-8.3.3 → pytest-8.3.4}/testing/test_meta.py +0 -0
  582. {pytest-8.3.3 → pytest-8.3.4}/testing/test_monkeypatch.py +0 -0
  583. {pytest-8.3.3 → pytest-8.3.4}/testing/test_nodes.py +0 -0
  584. {pytest-8.3.3 → pytest-8.3.4}/testing/test_parseopt.py +0 -0
  585. {pytest-8.3.3 → pytest-8.3.4}/testing/test_pastebin.py +0 -0
  586. {pytest-8.3.3 → pytest-8.3.4}/testing/test_pluginmanager.py +0 -0
  587. {pytest-8.3.3 → pytest-8.3.4}/testing/test_pytester.py +0 -0
  588. {pytest-8.3.3 → pytest-8.3.4}/testing/test_python_path.py +0 -0
  589. {pytest-8.3.3 → pytest-8.3.4}/testing/test_recwarn.py +0 -0
  590. {pytest-8.3.3 → pytest-8.3.4}/testing/test_reports.py +0 -0
  591. {pytest-8.3.3 → pytest-8.3.4}/testing/test_runner.py +0 -0
  592. {pytest-8.3.3 → pytest-8.3.4}/testing/test_runner_xunit.py +0 -0
  593. {pytest-8.3.3 → pytest-8.3.4}/testing/test_scope.py +0 -0
  594. {pytest-8.3.3 → pytest-8.3.4}/testing/test_session.py +0 -0
  595. {pytest-8.3.3 → pytest-8.3.4}/testing/test_setuponly.py +0 -0
  596. {pytest-8.3.3 → pytest-8.3.4}/testing/test_setupplan.py +0 -0
  597. {pytest-8.3.3 → pytest-8.3.4}/testing/test_skipping.py +0 -0
  598. {pytest-8.3.3 → pytest-8.3.4}/testing/test_stash.py +0 -0
  599. {pytest-8.3.3 → pytest-8.3.4}/testing/test_stepwise.py +0 -0
  600. {pytest-8.3.3 → pytest-8.3.4}/testing/test_terminal.py +0 -0
  601. {pytest-8.3.3 → pytest-8.3.4}/testing/test_threadexception.py +0 -0
  602. {pytest-8.3.3 → pytest-8.3.4}/testing/test_tmpdir.py +0 -0
  603. {pytest-8.3.3 → pytest-8.3.4}/testing/test_unittest.py +0 -0
  604. {pytest-8.3.3 → pytest-8.3.4}/testing/test_unraisableexception.py +0 -0
  605. {pytest-8.3.3 → pytest-8.3.4}/testing/test_warning_types.py +0 -0
  606. {pytest-8.3.3 → pytest-8.3.4}/testing/test_warnings.py +0 -0
  607. {pytest-8.3.3 → pytest-8.3.4}/testing/typing_checks.py +0 -0
  608. {pytest-8.3.3 → pytest-8.3.4}/tox.ini +0 -0
@@ -54,7 +54,7 @@ jobs:
54
54
  path: dist
55
55
 
56
56
  - name: Publish package to PyPI
57
- uses: pypa/gh-action-pypi-publish@v1.10.1
57
+ uses: pypa/gh-action-pypi-publish@v1.12.2
58
58
  with:
59
59
  attestations: true
60
60
 
@@ -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"
@@ -32,8 +32,6 @@ repos:
32
32
  hooks:
33
33
  - id: mypy
34
34
  files: ^(src/|testing/|scripts/)
35
- args: []
36
- language_version: "3.8"
37
35
  additional_dependencies:
38
36
  - iniconfig>=1.1.0
39
37
  - attrs>=19.2.0
@@ -116,6 +116,7 @@ Dave Hunt
116
116
  David Díaz-Barquero
117
117
  David Mohr
118
118
  David Paul Röthlisberger
119
+ David Peled
119
120
  David Szotten
120
121
  David Vierra
121
122
  Daw-Ran Liou
@@ -159,6 +160,7 @@ Feng Ma
159
160
  Florian Bruhin
160
161
  Florian Dahlitz
161
162
  Floris Bruynooghe
163
+ Frank Hoffmann
162
164
  Fraser Stark
163
165
  Gabriel Landau
164
166
  Gabriel Reis
@@ -243,6 +245,7 @@ Kristoffer Nordström
243
245
  Kyle Altendorf
244
246
  Lawrence Mitchell
245
247
  Lee Kamentsky
248
+ Leonardus Chen
246
249
  Lev Maximov
247
250
  Levon Saldamli
248
251
  Lewis Cowles
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytest
3
- Version: 8.3.3
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,7 @@ Release announcements
6
6
  :maxdepth: 2
7
7
 
8
8
 
9
+ release-8.3.4
9
10
  release-8.3.3
10
11
  release-8.3.2
11
12
  release-8.3.1
@@ -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
@@ -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``.
@@ -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,47 @@ 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
+
34
75
  pytest 8.3.3 (2024-09-09)
35
76
  =========================
36
77
 
@@ -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-204>
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-204>
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-204>
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]>
@@ -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-205>
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-205>
218
+ <Dir pythoncollection.rst-206>
219
219
  <Dir CWD>
220
220
  <Module pythoncollection.py>
221
221
  <Function test_function>
@@ -210,8 +210,8 @@ Note that this layout also works in conjunction with the ``src`` layout mentione
210
210
  to avoid surprises such as a test module getting imported twice.
211
211
 
212
212
  With ``--import-mode=importlib`` things are less convoluted because
213
- pytest doesn't need to change ``sys.path`` or ``sys.modules``, making things
214
- much less surprising.
213
+ pytest doesn't need to change ``sys.path``, making things much less
214
+ surprising.
215
215
 
216
216
 
217
217
  .. _which-import-mode:
@@ -22,7 +22,7 @@ Install ``pytest``
22
22
  .. code-block:: bash
23
23
 
24
24
  $ pytest --version
25
- pytest 8.3.3
25
+ pytest 8.3.4
26
26
 
27
27
  .. _`simpletest`:
28
28
 
@@ -106,9 +106,10 @@ of the failing function and hide the other one:
106
106
  Accessing captured output from a test function
107
107
  ---------------------------------------------------
108
108
 
109
- The ``capsys``, ``capsysbinary``, ``capfd``, and ``capfdbinary`` fixtures
110
- allow access to stdout/stderr output created during test execution. Here is
111
- an example test function that performs some output related checks:
109
+ The :fixture:`capsys`, :fixture:`capsysbinary`, :fixture:`capfd`, and :fixture:`capfdbinary` fixtures
110
+ allow access to ``stdout``/``stderr`` output created during test execution.
111
+
112
+ Here is an example test function that performs some output related checks:
112
113
 
113
114
  .. code-block:: python
114
115
 
@@ -125,40 +126,27 @@ an example test function that performs some output related checks:
125
126
  The ``readouterr()`` call snapshots the output so far -
126
127
  and capturing will be continued. After the test
127
128
  function finishes the original streams will
128
- be restored. Using ``capsys`` this way frees your
129
+ be restored. Using :fixture:`capsys` this way frees your
129
130
  test from having to care about setting/resetting
130
131
  output streams and also interacts well with pytest's
131
132
  own per-test capturing.
132
133
 
133
- If you want to capture on filedescriptor level you can use
134
- the ``capfd`` fixture which offers the exact
135
- same interface but allows to also capture output from
136
- libraries or subprocesses that directly write to operating
137
- system level output streams (FD1 and FD2).
138
-
139
-
140
-
141
134
  The return value from ``readouterr`` changed to a ``namedtuple`` with two attributes, ``out`` and ``err``.
142
135
 
143
-
144
-
145
- If the code under test writes non-textual data, you can capture this using
146
- the ``capsysbinary`` fixture which instead returns ``bytes`` from
136
+ If the code under test writes non-textual data (``bytes``), you can capture this using
137
+ the :fixture:`capsysbinary` fixture which instead returns ``bytes`` from
147
138
  the ``readouterr`` method.
148
139
 
140
+ If you want to capture at the file descriptor level you can use
141
+ the :fixture:`capfd` fixture which offers the exact
142
+ same interface but allows to also capture output from
143
+ libraries or subprocesses that directly write to operating
144
+ system level output streams (FD1 and FD2). Similarly to :fixture:`capsysbinary`, :fixture:`capfdbinary` can be
145
+ used to capture ``bytes`` at the file descriptor level.
149
146
 
150
147
 
151
-
152
- If the code under test writes non-textual data, you can capture this using
153
- the ``capfdbinary`` fixture which instead returns ``bytes`` from
154
- the ``readouterr`` method. The ``capfdbinary`` fixture operates on the
155
- filedescriptor level.
156
-
157
-
158
-
159
-
160
- To temporarily disable capture within a test, both ``capsys``
161
- and ``capfd`` have a ``disabled()`` method that can be used
148
+ To temporarily disable capture within a test, the capture fixtures
149
+ have a ``disabled()`` method that can be used
162
150
  as a context manager, disabling capture inside the ``with`` block:
163
151
 
164
152
  .. code-block:: python
@@ -128,7 +128,7 @@ is performed.
128
128
 
129
129
 
130
130
 
131
- You can use the ``@pytest.mark.filterwarnings`` to add warning filters to specific test items,
131
+ You can use the :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` mark to add warning filters to specific test items,
132
132
  allowing you to have finer control of which warnings should be captured at test, class or
133
133
  even module level:
134
134
 
@@ -147,10 +147,30 @@ even module level:
147
147
  assert api_v1() == 1
148
148
 
149
149
 
150
+ You can specify multiple filters with separate decorators:
151
+
152
+ .. code-block:: python
153
+
154
+ # Ignore "api v1" warnings, but fail on all other warnings
155
+ @pytest.mark.filterwarnings("ignore:api v1")
156
+ @pytest.mark.filterwarnings("error")
157
+ def test_one():
158
+ assert api_v1() == 1
159
+
160
+ .. important::
161
+
162
+ Regarding decorator order and filter precedence:
163
+ it's important to remember that decorators are evaluated in reverse order,
164
+ so you have to list the warning filters in the reverse order
165
+ compared to traditional :py:func:`warnings.filterwarnings` and :option:`-W option <python:-W>` usage.
166
+ This means in practice that filters from earlier :ref:`@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>` decorators
167
+ take precedence over filters from later decorators, as illustrated in the example above.
168
+
169
+
150
170
  Filters applied using a mark take precedence over filters passed on the command line or configured
151
- by the ``filterwarnings`` ini option.
171
+ by the :confval:`filterwarnings` ini option.
152
172
 
153
- You may apply a filter to all tests of a class by using the ``filterwarnings`` mark as a class
173
+ You may apply a filter to all tests of a class by using the :ref:`filterwarnings <pytest.mark.filterwarnings ref>` mark as a class
154
174
  decorator or to all tests in a module by setting the :globalvar:`pytestmark` variable:
155
175
 
156
176
  .. code-block:: python
@@ -159,6 +179,13 @@ decorator or to all tests in a module by setting the :globalvar:`pytestmark` var
159
179
  pytestmark = pytest.mark.filterwarnings("error")
160
180
 
161
181
 
182
+ .. note::
183
+
184
+ If you want to apply multiple filters
185
+ (by assigning a list of :ref:`filterwarnings <pytest.mark.filterwarnings ref>` mark to :globalvar:`pytestmark`),
186
+ you must use the traditional :py:func:`warnings.filterwarnings` ordering approach (later filters take precedence),
187
+ which is the reverse of the decorator approach mentioned above.
188
+
162
189
 
163
190
  *Credits go to Florian Schulze for the reference implementation in the* `pytest-warnings`_
164
191
  *plugin.*
@@ -195,7 +222,7 @@ user code and third-party libraries, as recommended by :pep:`565`.
195
222
  This helps users keep their code modern and avoid breakages when deprecated warnings are effectively removed.
196
223
 
197
224
  However, in the specific case where users capture any type of warnings in their test, either with
198
- :func:`pytest.warns`, :func:`pytest.deprecated_call` or using the :ref:`recwarn <recwarn>` fixture,
225
+ :func:`pytest.warns`, :func:`pytest.deprecated_call` or using the :fixture:`recwarn` fixture,
199
226
  no warning will be displayed at all.
200
227
 
201
228
  Sometimes it is useful to hide some specific deprecation warnings that happen in code that you have no control over
@@ -332,10 +359,10 @@ additional information:
332
359
  assert record[0].message.args[0] == "another warning"
333
360
 
334
361
  Alternatively, you can examine raised warnings in detail using the
335
- :ref:`recwarn <recwarn>` fixture (see below).
362
+ :fixture:`recwarn` fixture (see :ref:`below <recwarn>`).
336
363
 
337
364
 
338
- The :ref:`recwarn <recwarn>` fixture automatically ensures to reset the warnings
365
+ The :fixture:`recwarn` fixture automatically ensures to reset the warnings
339
366
  filter at the end of the test, so no global state is leaked.
340
367
 
341
368
  .. _`recording warnings`:
@@ -345,8 +372,8 @@ filter at the end of the test, so no global state is leaked.
345
372
  Recording warnings
346
373
  ------------------
347
374
 
348
- You can record raised warnings either using :func:`pytest.warns` or with
349
- the ``recwarn`` fixture.
375
+ You can record raised warnings either using the :func:`pytest.warns` context manager or with
376
+ the :fixture:`recwarn` fixture.
350
377
 
351
378
  To record with :func:`pytest.warns` without asserting anything about the warnings,
352
379
  pass no arguments as the expected warning type and it will default to a generic Warning:
@@ -361,7 +388,7 @@ pass no arguments as the expected warning type and it will default to a generic
361
388
  assert str(record[0].message) == "user"
362
389
  assert str(record[1].message) == "runtime"
363
390
 
364
- The ``recwarn`` fixture will record warnings for the whole function:
391
+ The :fixture:`recwarn` fixture will record warnings for the whole function:
365
392
 
366
393
  .. code-block:: python
367
394
 
@@ -377,12 +404,11 @@ The ``recwarn`` fixture will record warnings for the whole function:
377
404
  assert w.filename
378
405
  assert w.lineno
379
406
 
380
- Both ``recwarn`` and :func:`pytest.warns` return the same interface for recorded
381
- warnings: a WarningsRecorder instance. To view the recorded warnings, you can
407
+ Both the :fixture:`recwarn` fixture and the :func:`pytest.warns` context manager return the same interface for recorded
408
+ warnings: a :class:`~_pytest.recwarn.WarningsRecorder` instance. To view the recorded warnings, you can
382
409
  iterate over this instance, call ``len`` on it to get the number of recorded
383
410
  warnings, or index into it to get a particular recorded warning.
384
411
 
385
- Full API: :class:`~_pytest.recwarn.WarningsRecorder`.
386
412
 
387
413
  .. _`warns use cases`:
388
414
 
@@ -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-224>
1421
+ <Dir fixtures.rst-225>
1422
1422
  <Module test_anothersmtp.py>
1423
1423
  <Function test_showhelo[smtp.gmail.com]>
1424
1424
  <Function test_showhelo[mail.python.org]>
@@ -133,27 +133,47 @@ API for details.
133
133
  Temporary directory location and retention
134
134
  ------------------------------------------
135
135
 
136
- Temporary directories are by default created as sub-directories of
137
- the system temporary directory. The base name will be ``pytest-NUM`` where
138
- ``NUM`` will be incremented with each test run.
139
- By default, entries older than 3 temporary directories will be removed.
140
- This behavior can be configured with :confval:`tmp_path_retention_count` and
141
- :confval:`tmp_path_retention_policy`.
136
+ The temporary directories,
137
+ as returned by the :fixture:`tmp_path` and (now deprecated) :fixture:`tmpdir` fixtures,
138
+ are automatically created under a base temporary directory,
139
+ in a structure that depends on the ``--basetemp`` option:
142
140
 
143
- Using the ``--basetemp``
144
- option will remove the directory before every run, effectively meaning the temporary directories
145
- of only the most recent run will be kept.
141
+ - By default (when the ``--basetemp`` option is not set),
142
+ the temporary directories will follow this template:
146
143
 
147
- You can override the default temporary directory setting like this:
144
+ .. code-block:: text
148
145
 
149
- .. code-block:: bash
146
+ {temproot}/pytest-of-{user}/pytest-{num}/{testname}/
150
147
 
151
- pytest --basetemp=mydir
148
+ where:
152
149
 
153
- .. warning::
150
+ - ``{temproot}`` is the system temporary directory
151
+ as determined by :py:func:`tempfile.gettempdir`.
152
+ It can be overridden by the :envvar:`PYTEST_DEBUG_TEMPROOT` environment variable.
153
+ - ``{user}`` is the user name running the tests,
154
+ - ``{num}`` is a number that is incremented with each test suite run
155
+ - ``{testname}`` is a sanitized version of :py:attr:`the name of the current test <_pytest.nodes.Node.name>`.
154
156
 
155
- The contents of ``mydir`` will be completely removed, so make sure to use a directory
156
- for that purpose only.
157
+ The auto-incrementing ``{num}`` placeholder provides a basic retention feature
158
+ and avoids that existing results of previous test runs are blindly removed.
159
+ By default, the last 3 temporary directories are kept,
160
+ but this behavior can be configured with
161
+ :confval:`tmp_path_retention_count` and :confval:`tmp_path_retention_policy`.
162
+
163
+ - When the ``--basetemp`` option is used (e.g. ``pytest --basetemp=mydir``),
164
+ it will be used directly as base temporary directory:
165
+
166
+ .. code-block:: text
167
+
168
+ {basetemp}/{testname}/
169
+
170
+ Note that there is no retention feature in this case:
171
+ only the results of the most recent run will be kept.
172
+
173
+ .. warning::
174
+
175
+ The directory given to ``--basetemp`` will be cleared blindly before each test run,
176
+ so make sure to use a directory for that purpose only.
157
177
 
158
178
  When distributing tests on the local machine using ``pytest-xdist``, care is taken to
159
179
  automatically configure a `basetemp` directory for the sub processes such that all temporary
@@ -54,7 +54,7 @@ pytest.fail
54
54
 
55
55
  **Tutorial**: :ref:`skipping`
56
56
 
57
- .. autofunction:: pytest.fail(reason, [pytrace=True, msg=None])
57
+ .. autofunction:: pytest.fail(reason, [pytrace=True])
58
58
 
59
59
  .. class:: pytest.fail.Exception
60
60
 
@@ -63,7 +63,7 @@ pytest.fail
63
63
  pytest.skip
64
64
  ~~~~~~~~~~~
65
65
 
66
- .. autofunction:: pytest.skip(reason, [allow_module_level=False, msg=None])
66
+ .. autofunction:: pytest.skip(reason, [allow_module_level=False])
67
67
 
68
68
  .. class:: pytest.skip.Exception
69
69
 
@@ -88,7 +88,7 @@ pytest.xfail
88
88
  pytest.exit
89
89
  ~~~~~~~~~~~
90
90
 
91
- .. autofunction:: pytest.exit(reason, [returncode=None, msg=None])
91
+ .. autofunction:: pytest.exit(reason, [returncode=None])
92
92
 
93
93
  .. class:: pytest.exit.Exception
94
94
 
@@ -529,13 +529,14 @@ record_testsuite_property
529
529
  recwarn
530
530
  ~~~~~~~
531
531
 
532
- **Tutorial**: :ref:`assertwarnings`
532
+ **Tutorial**: :ref:`recwarn`
533
533
 
534
534
  .. autofunction:: _pytest.recwarn.recwarn()
535
535
  :no-auto-options:
536
536
 
537
537
  .. autoclass:: pytest.WarningsRecorder()
538
538
  :members:
539
+ :special-members: __getitem__, __iter__, __len__
539
540
 
540
541
 
541
542
  .. fixture:: request
@@ -1145,6 +1146,11 @@ processes can inspect it, see :ref:`pytest current test env` for more informatio
1145
1146
 
1146
1147
  When set, pytest will print tracing and debug information.
1147
1148
 
1149
+ .. envvar:: PYTEST_DEBUG_TEMPROOT
1150
+
1151
+ Root for temporary directories produced by fixtures like :fixture:`tmp_path`
1152
+ as discussed in :ref:`temporary directory location and retention`.
1153
+
1148
1154
  .. envvar:: PYTEST_DISABLE_PLUGIN_AUTOLOAD
1149
1155
 
1150
1156
  When set, disables plugin auto-loading through :std:doc:`entry point packaging
@@ -479,6 +479,7 @@ files = [
479
479
  mypy_path = [
480
480
  "src",
481
481
  ]
482
+ python_version = "3.8"
482
483
  check_untyped_defs = true
483
484
  disallow_any_generics = true
484
485
  disallow_untyped_defs = true
@@ -66,6 +66,7 @@ ADDITIONAL_PROJECTS = { # set of additional projects to consider as plugins
66
66
  "logot",
67
67
  "nuts",
68
68
  "flask_fixture",
69
+ "databricks-labs-pytester",
69
70
  }
70
71
 
71
72
 
@@ -1221,6 +1221,15 @@ class ReprEntry(TerminalRepr):
1221
1221
  if not self.lines:
1222
1222
  return
1223
1223
 
1224
+ if self.style == "value":
1225
+ # Using tw.write instead of tw.line for testing purposes due to TWMock implementation;
1226
+ # lines written with TWMock.line and TWMock._write_source cannot be distinguished
1227
+ # from each other, whereas lines written with TWMock.write are marked with TWMock.WRITE
1228
+ for line in self.lines:
1229
+ tw.write(line)
1230
+ tw.write("\n")
1231
+ return
1232
+
1224
1233
  # separate indents and source lines that are not failures: we want to
1225
1234
  # highlight the code but not the indentation, which may contain markers
1226
1235
  # such as "> assert 0"
@@ -1236,11 +1245,8 @@ class ReprEntry(TerminalRepr):
1236
1245
  failure_lines.extend(self.lines[index:])
1237
1246
  break
1238
1247
  else:
1239
- if self.style == "value":
1240
- source_lines.append(line)
1241
- else:
1242
- indents.append(line[:indent_size])
1243
- source_lines.append(line[indent_size:])
1248
+ indents.append(line[:indent_size])
1249
+ source_lines.append(line[indent_size:])
1244
1250
 
1245
1251
  tw._write_source(source_lines, indents)
1246
1252
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '8.3.3'
16
- __version_tuple__ = version_tuple = (8, 3, 3)
15
+ __version__ = version = '8.3.4'
16
+ __version_tuple__ = version_tuple = (8, 3, 4)