pytest 7.4.3__tar.gz → 7.4.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 (581) hide show
  1. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/deploy.yml +3 -3
  2. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/test.yml +1 -1
  3. {pytest-7.4.3 → pytest-7.4.4}/AUTHORS +3 -0
  4. {pytest-7.4.3/src/pytest.egg-info → pytest-7.4.4}/PKG-INFO +1 -1
  5. {pytest-7.4.3 → pytest-7.4.4}/changelog/README.rst +1 -1
  6. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/index.rst +1 -0
  7. pytest-7.4.4/doc/en/announce/release-7.4.4.rst +20 -0
  8. {pytest-7.4.3 → pytest-7.4.4}/doc/en/changelog.rst +25 -0
  9. {pytest-7.4.3 → pytest-7.4.4}/doc/en/deprecations.rst +1 -1
  10. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/markers.rst +1 -1
  11. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/simple.rst +1 -1
  12. {pytest-7.4.3 → pytest-7.4.4}/doc/en/getting-started.rst +1 -1
  13. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/output.rst +1 -1
  14. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/reference.rst +3 -1
  15. {pytest-7.4.3 → pytest-7.4.4}/scripts/prepare-release-pr.py +11 -5
  16. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_version.py +2 -2
  17. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/rewrite.py +10 -4
  18. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/util.py +1 -1
  19. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/faulthandler.py +14 -6
  20. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/junitxml.py +1 -1
  21. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/nodes.py +1 -1
  22. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/outcomes.py +1 -1
  23. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pytester.py +1 -1
  24. {pytest-7.4.3 → pytest-7.4.4/src/pytest.egg-info}/PKG-INFO +1 -1
  25. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/SOURCES.txt +1 -0
  26. {pytest-7.4.3 → pytest-7.4.4}/testing/_py/test_local.py +3 -0
  27. {pytest-7.4.3 → pytest-7.4.4}/testing/python/metafunc.py +1 -1
  28. {pytest-7.4.3 → pytest-7.4.4}/testing/test_assertrewrite.py +33 -0
  29. {pytest-7.4.3 → pytest-7.4.4}/testing/test_collection.py +23 -0
  30. {pytest-7.4.3 → pytest-7.4.4}/.coveragerc +0 -0
  31. {pytest-7.4.3 → pytest-7.4.4}/.gitattributes +0 -0
  32. {pytest-7.4.3 → pytest-7.4.4}/.gitblameignore +0 -0
  33. {pytest-7.4.3 → pytest-7.4.4}/.github/FUNDING.yml +0 -0
  34. {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/1_bug_report.md +0 -0
  35. {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/2_feature_request.md +0 -0
  36. {pytest-7.4.3 → pytest-7.4.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  37. {pytest-7.4.3 → pytest-7.4.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  38. {pytest-7.4.3 → pytest-7.4.4}/.github/config.yml +0 -0
  39. {pytest-7.4.3 → pytest-7.4.4}/.github/dependabot.yml +0 -0
  40. {pytest-7.4.3 → pytest-7.4.4}/.github/labels.toml +0 -0
  41. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/backport.yml +0 -0
  42. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/prepare-release-pr.yml +0 -0
  43. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/stale.yml +0 -0
  44. {pytest-7.4.3 → pytest-7.4.4}/.github/workflows/update-plugin-list.yml +0 -0
  45. {pytest-7.4.3 → pytest-7.4.4}/.gitignore +0 -0
  46. {pytest-7.4.3 → pytest-7.4.4}/.pre-commit-config.yaml +0 -0
  47. {pytest-7.4.3 → pytest-7.4.4}/.readthedocs.yml +0 -0
  48. {pytest-7.4.3 → pytest-7.4.4}/CHANGELOG.rst +0 -0
  49. {pytest-7.4.3 → pytest-7.4.4}/CITATION +0 -0
  50. {pytest-7.4.3 → pytest-7.4.4}/CODE_OF_CONDUCT.md +0 -0
  51. {pytest-7.4.3 → pytest-7.4.4}/CONTRIBUTING.rst +0 -0
  52. {pytest-7.4.3 → pytest-7.4.4}/LICENSE +0 -0
  53. {pytest-7.4.3 → pytest-7.4.4}/OPENCOLLECTIVE.rst +0 -0
  54. {pytest-7.4.3 → pytest-7.4.4}/README.rst +0 -0
  55. {pytest-7.4.3 → pytest-7.4.4}/RELEASING.rst +0 -0
  56. {pytest-7.4.3 → pytest-7.4.4}/TIDELIFT.rst +0 -0
  57. {pytest-7.4.3 → pytest-7.4.4}/bench/bench.py +0 -0
  58. {pytest-7.4.3 → pytest-7.4.4}/bench/bench_argcomplete.py +0 -0
  59. {pytest-7.4.3 → pytest-7.4.4}/bench/empty.py +0 -0
  60. {pytest-7.4.3 → pytest-7.4.4}/bench/manyparam.py +0 -0
  61. {pytest-7.4.3 → pytest-7.4.4}/bench/skip.py +0 -0
  62. {pytest-7.4.3 → pytest-7.4.4}/bench/unit_test.py +0 -0
  63. {pytest-7.4.3 → pytest-7.4.4}/bench/xunit.py +0 -0
  64. {pytest-7.4.3 → pytest-7.4.4}/changelog/_template.rst +0 -0
  65. {pytest-7.4.3 → pytest-7.4.4}/codecov.yml +0 -0
  66. {pytest-7.4.3 → pytest-7.4.4}/doc/en/Makefile +0 -0
  67. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/globaltoc.html +0 -0
  68. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/layout.html +0 -0
  69. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/links.html +0 -0
  70. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/relations.html +0 -0
  71. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/sidebarintro.html +0 -0
  72. {pytest-7.4.3 → pytest-7.4.4}/doc/en/_templates/slim_searchbox.html +0 -0
  73. {pytest-7.4.3 → pytest-7.4.4}/doc/en/adopt.rst +0 -0
  74. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.0.rst +0 -0
  75. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.1.rst +0 -0
  76. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.2.rst +0 -0
  77. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.0.3.rst +0 -0
  78. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.0.rst +0 -0
  79. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.1.rst +0 -0
  80. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.2.rst +0 -0
  81. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.1.3.rst +0 -0
  82. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.0.rst +0 -0
  83. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.1.rst +0 -0
  84. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.2.rst +0 -0
  85. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.2.4.rst +0 -0
  86. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.0.rst +0 -0
  87. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.1.rst +0 -0
  88. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.2.rst +0 -0
  89. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.3.rst +0 -0
  90. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.4.rst +0 -0
  91. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.3.5.rst +0 -0
  92. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.0.rst +0 -0
  93. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.1.rst +0 -0
  94. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.4.2.rst +0 -0
  95. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.0.rst +0 -0
  96. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.1.rst +0 -0
  97. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.5.2.rst +0 -0
  98. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.0.rst +0 -0
  99. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.1.rst +0 -0
  100. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.2.rst +0 -0
  101. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.6.3.rst +0 -0
  102. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.0.rst +0 -0
  103. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.1.rst +0 -0
  104. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.7.2.rst +0 -0
  105. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.2.rst +0 -0
  106. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.3.rst +0 -0
  107. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.4.rst +0 -0
  108. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.5.rst +0 -0
  109. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.6.rst +0 -0
  110. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.8.7.rst +0 -0
  111. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.0.rst +0 -0
  112. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.1.rst +0 -0
  113. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-2.9.2.rst +0 -0
  114. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.0.rst +0 -0
  115. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.1.rst +0 -0
  116. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.2.rst +0 -0
  117. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.3.rst +0 -0
  118. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.4.rst +0 -0
  119. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.5.rst +0 -0
  120. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.6.rst +0 -0
  121. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.0.7.rst +0 -0
  122. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.0.rst +0 -0
  123. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.1.rst +0 -0
  124. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.2.rst +0 -0
  125. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.1.3.rst +0 -0
  126. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.10.0.rst +0 -0
  127. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.10.1.rst +0 -0
  128. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.0.rst +0 -0
  129. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.1.rst +0 -0
  130. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.2.rst +0 -0
  131. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.3.rst +0 -0
  132. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.4.rst +0 -0
  133. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.2.5.rst +0 -0
  134. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.0.rst +0 -0
  135. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.1.rst +0 -0
  136. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.3.2.rst +0 -0
  137. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.0.rst +0 -0
  138. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.1.rst +0 -0
  139. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.4.2.rst +0 -0
  140. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.5.0.rst +0 -0
  141. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.5.1.rst +0 -0
  142. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.0.rst +0 -0
  143. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.1.rst +0 -0
  144. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.2.rst +0 -0
  145. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.3.rst +0 -0
  146. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.6.4.rst +0 -0
  147. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.0.rst +0 -0
  148. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.1.rst +0 -0
  149. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.2.rst +0 -0
  150. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.3.rst +0 -0
  151. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.7.4.rst +0 -0
  152. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.0.rst +0 -0
  153. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.1.rst +0 -0
  154. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.8.2.rst +0 -0
  155. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.0.rst +0 -0
  156. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.1.rst +0 -0
  157. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.2.rst +0 -0
  158. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-3.9.3.rst +0 -0
  159. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.0.rst +0 -0
  160. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.1.rst +0 -0
  161. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.0.2.rst +0 -0
  162. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.1.0.rst +0 -0
  163. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.1.1.rst +0 -0
  164. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.2.0.rst +0 -0
  165. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.2.1.rst +0 -0
  166. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.3.0.rst +0 -0
  167. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.3.1.rst +0 -0
  168. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.0.rst +0 -0
  169. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.1.rst +0 -0
  170. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.4.2.rst +0 -0
  171. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.5.0.rst +0 -0
  172. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.0.rst +0 -0
  173. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.1.rst +0 -0
  174. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.2.rst +0 -0
  175. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.3.rst +0 -0
  176. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.4.rst +0 -0
  177. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.5.rst +0 -0
  178. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.6.rst +0 -0
  179. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.7.rst +0 -0
  180. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.8.rst +0 -0
  181. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-4.6.9.rst +0 -0
  182. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.0.0.rst +0 -0
  183. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.0.1.rst +0 -0
  184. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.0.rst +0 -0
  185. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.1.rst +0 -0
  186. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.2.rst +0 -0
  187. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.1.3.rst +0 -0
  188. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.0.rst +0 -0
  189. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.1.rst +0 -0
  190. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.2.rst +0 -0
  191. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.3.rst +0 -0
  192. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.2.4.rst +0 -0
  193. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.0.rst +0 -0
  194. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.1.rst +0 -0
  195. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.2.rst +0 -0
  196. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.3.rst +0 -0
  197. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.4.rst +0 -0
  198. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.3.5.rst +0 -0
  199. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.0.rst +0 -0
  200. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.1.rst +0 -0
  201. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.2.rst +0 -0
  202. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-5.4.3.rst +0 -0
  203. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.0.rst +0 -0
  204. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.0rc1.rst +0 -0
  205. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.1.rst +0 -0
  206. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.0.2.rst +0 -0
  207. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.0.rst +0 -0
  208. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.1.rst +0 -0
  209. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.1.2.rst +0 -0
  210. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.0.rst +0 -0
  211. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.1.rst +0 -0
  212. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.2.rst +0 -0
  213. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.3.rst +0 -0
  214. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.4.rst +0 -0
  215. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-6.2.5.rst +0 -0
  216. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.0.rst +0 -0
  217. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.0rc1.rst +0 -0
  218. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.0.1.rst +0 -0
  219. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.0.rst +0 -0
  220. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.1.rst +0 -0
  221. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.2.rst +0 -0
  222. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.1.3.rst +0 -0
  223. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.0.rst +0 -0
  224. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.1.rst +0 -0
  225. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.2.2.rst +0 -0
  226. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.0.rst +0 -0
  227. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.1.rst +0 -0
  228. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.3.2.rst +0 -0
  229. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.0.rst +0 -0
  230. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.1.rst +0 -0
  231. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.2.rst +0 -0
  232. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/release-7.4.3.rst +0 -0
  233. {pytest-7.4.3 → pytest-7.4.4}/doc/en/announce/sprint2016.rst +0 -0
  234. {pytest-7.4.3 → pytest-7.4.4}/doc/en/backwards-compatibility.rst +0 -0
  235. {pytest-7.4.3 → pytest-7.4.4}/doc/en/builtin.rst +0 -0
  236. {pytest-7.4.3 → pytest-7.4.4}/doc/en/conf.py +0 -0
  237. {pytest-7.4.3 → pytest-7.4.4}/doc/en/conftest.py +0 -0
  238. {pytest-7.4.3 → pytest-7.4.4}/doc/en/contact.rst +0 -0
  239. {pytest-7.4.3 → pytest-7.4.4}/doc/en/contents.rst +0 -0
  240. {pytest-7.4.3 → pytest-7.4.4}/doc/en/contributing.rst +0 -0
  241. {pytest-7.4.3 → pytest-7.4.4}/doc/en/development_guide.rst +0 -0
  242. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/failure_demo.py +0 -0
  243. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/global_testmodule_config/conftest.py +0 -0
  244. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/global_testmodule_config/test_hello_world.py +0 -0
  245. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/test_failures.py +0 -0
  246. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/assertion/test_setup_flow_example.py +0 -0
  247. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/attic.rst +0 -0
  248. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/conftest.py +0 -0
  249. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/fixture_availability.svg +0 -0
  250. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/fixture_availability_plugins.svg +0 -0
  251. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse.py +0 -0
  252. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse.svg +0 -0
  253. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_flat.svg +0 -0
  254. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py +0 -0
  255. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg +0 -0
  256. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py +0 -0
  257. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.svg +0 -0
  258. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.py +0 -0
  259. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies.svg +0 -0
  260. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_flat.svg +0 -0
  261. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_dependencies_unclear.svg +0 -0
  262. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_scope.py +0 -0
  263. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_order_scope.svg +0 -0
  264. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.py +0 -0
  265. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/fixtures/test_fixtures_request_different_scope.svg +0 -0
  266. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/index.rst +0 -0
  267. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/multipython.py +0 -0
  268. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/__init__.py +0 -0
  269. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/conftest.py +0 -0
  270. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython/test_simple.yaml +0 -0
  271. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/nonpython.rst +0 -0
  272. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/parametrize.rst +0 -0
  273. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/pythoncollection.py +0 -0
  274. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/pythoncollection.rst +0 -0
  275. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/reportingdemo.rst +0 -0
  276. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/special.rst +0 -0
  277. {pytest-7.4.3 → pytest-7.4.4}/doc/en/example/xfail_demo.py +0 -0
  278. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/anatomy.rst +0 -0
  279. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/fixtures.rst +0 -0
  280. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/flaky.rst +0 -0
  281. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/goodpractices.rst +0 -0
  282. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/index.rst +0 -0
  283. {pytest-7.4.3 → pytest-7.4.4}/doc/en/explanation/pythonpath.rst +0 -0
  284. {pytest-7.4.3 → pytest-7.4.4}/doc/en/funcarg_compare.rst +0 -0
  285. {pytest-7.4.3 → pytest-7.4.4}/doc/en/funcargs.rst +0 -0
  286. {pytest-7.4.3 → pytest-7.4.4}/doc/en/historical-notes.rst +0 -0
  287. {pytest-7.4.3 → pytest-7.4.4}/doc/en/history.rst +0 -0
  288. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/assert.rst +0 -0
  289. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/bash-completion.rst +0 -0
  290. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/cache.rst +0 -0
  291. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/capture-stdout-stderr.rst +0 -0
  292. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/capture-warnings.rst +0 -0
  293. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/doctest.rst +0 -0
  294. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/existingtestsuite.rst +0 -0
  295. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/failures.rst +0 -0
  296. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/fixtures.rst +0 -0
  297. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/index.rst +0 -0
  298. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/logging.rst +0 -0
  299. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/mark.rst +0 -0
  300. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/monkeypatch.rst +0 -0
  301. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/nose.rst +0 -0
  302. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/parametrize.rst +0 -0
  303. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/plugins.rst +0 -0
  304. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/skipping.rst +0 -0
  305. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/tmp_path.rst +0 -0
  306. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/unittest.rst +0 -0
  307. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/usage.rst +0 -0
  308. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/writing_hook_functions.rst +0 -0
  309. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/writing_plugins.rst +0 -0
  310. {pytest-7.4.3 → pytest-7.4.4}/doc/en/how-to/xunit_setup.rst +0 -0
  311. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/cramer2.png +0 -0
  312. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/favicon.png +0 -0
  313. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/freiburg2.jpg +0 -0
  314. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/gaynor3.png +0 -0
  315. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/keleshev.png +0 -0
  316. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pullrequest.png +0 -0
  317. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pylib.png +0 -0
  318. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pytest1.png +0 -0
  319. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/pytest_logo_curves.svg +0 -0
  320. {pytest-7.4.3 → pytest-7.4.4}/doc/en/img/theuni.png +0 -0
  321. {pytest-7.4.3 → pytest-7.4.4}/doc/en/index.rst +0 -0
  322. {pytest-7.4.3 → pytest-7.4.4}/doc/en/license.rst +0 -0
  323. {pytest-7.4.3 → pytest-7.4.4}/doc/en/naming20.rst +0 -0
  324. {pytest-7.4.3 → pytest-7.4.4}/doc/en/proposals/parametrize_with_fixtures.rst +0 -0
  325. {pytest-7.4.3 → pytest-7.4.4}/doc/en/pytest.ini +0 -0
  326. {pytest-7.4.3 → pytest-7.4.4}/doc/en/recwarn.rst +0 -0
  327. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/customize.rst +0 -0
  328. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/exit-codes.rst +0 -0
  329. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/fixtures.rst +0 -0
  330. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/index.rst +0 -0
  331. {pytest-7.4.3 → pytest-7.4.4}/doc/en/reference/plugin_list.rst +0 -0
  332. {pytest-7.4.3 → pytest-7.4.4}/doc/en/requirements.txt +0 -0
  333. {pytest-7.4.3 → pytest-7.4.4}/doc/en/sponsor.rst +0 -0
  334. {pytest-7.4.3 → pytest-7.4.4}/doc/en/talks.rst +0 -0
  335. {pytest-7.4.3 → pytest-7.4.4}/doc/en/tidelift.rst +0 -0
  336. {pytest-7.4.3 → pytest-7.4.4}/doc/en/yieldfixture.rst +0 -0
  337. {pytest-7.4.3 → pytest-7.4.4}/extra/get_issues.py +0 -0
  338. {pytest-7.4.3 → pytest-7.4.4}/pyproject.toml +0 -0
  339. {pytest-7.4.3 → pytest-7.4.4}/scripts/publish-gh-release-notes.py +0 -0
  340. {pytest-7.4.3 → pytest-7.4.4}/scripts/release.major.rst +0 -0
  341. {pytest-7.4.3 → pytest-7.4.4}/scripts/release.minor.rst +0 -0
  342. {pytest-7.4.3 → pytest-7.4.4}/scripts/release.patch.rst +0 -0
  343. {pytest-7.4.3 → pytest-7.4.4}/scripts/release.pre.rst +0 -0
  344. {pytest-7.4.3 → pytest-7.4.4}/scripts/release.py +0 -0
  345. {pytest-7.4.3 → pytest-7.4.4}/scripts/towncrier-draft-to-file.py +0 -0
  346. {pytest-7.4.3 → pytest-7.4.4}/scripts/update-plugin-list.py +0 -0
  347. {pytest-7.4.3 → pytest-7.4.4}/setup.cfg +0 -0
  348. {pytest-7.4.3 → pytest-7.4.4}/setup.py +0 -0
  349. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/__init__.py +0 -0
  350. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_argcomplete.py +0 -0
  351. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/__init__.py +0 -0
  352. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/code.py +0 -0
  353. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_code/source.py +0 -0
  354. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/__init__.py +0 -0
  355. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/saferepr.py +0 -0
  356. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/terminalwriter.py +0 -0
  357. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_io/wcwidth.py +0 -0
  358. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/__init__.py +0 -0
  359. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/error.py +0 -0
  360. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/_py/path.py +0 -0
  361. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/__init__.py +0 -0
  362. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/assertion/truncate.py +0 -0
  363. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/cacheprovider.py +0 -0
  364. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/capture.py +0 -0
  365. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/compat.py +0 -0
  366. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/__init__.py +0 -0
  367. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/argparsing.py +0 -0
  368. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/compat.py +0 -0
  369. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/exceptions.py +0 -0
  370. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/config/findpaths.py +0 -0
  371. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/debugging.py +0 -0
  372. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/deprecated.py +0 -0
  373. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/doctest.py +0 -0
  374. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/fixtures.py +0 -0
  375. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/freeze_support.py +0 -0
  376. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/helpconfig.py +0 -0
  377. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/hookspec.py +0 -0
  378. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/legacypath.py +0 -0
  379. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/logging.py +0 -0
  380. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/main.py +0 -0
  381. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/__init__.py +0 -0
  382. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/expression.py +0 -0
  383. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/mark/structures.py +0 -0
  384. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/monkeypatch.py +0 -0
  385. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/nose.py +0 -0
  386. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pastebin.py +0 -0
  387. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pathlib.py +0 -0
  388. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/py.typed +0 -0
  389. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/pytester_assertions.py +0 -0
  390. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python.py +0 -0
  391. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python_api.py +0 -0
  392. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/python_path.py +0 -0
  393. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/recwarn.py +0 -0
  394. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/reports.py +0 -0
  395. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/runner.py +0 -0
  396. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/scope.py +0 -0
  397. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/setuponly.py +0 -0
  398. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/setupplan.py +0 -0
  399. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/skipping.py +0 -0
  400. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/stash.py +0 -0
  401. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/stepwise.py +0 -0
  402. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/terminal.py +0 -0
  403. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/threadexception.py +0 -0
  404. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/timing.py +0 -0
  405. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/tmpdir.py +0 -0
  406. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/unittest.py +0 -0
  407. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/unraisableexception.py +0 -0
  408. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/warning_types.py +0 -0
  409. {pytest-7.4.3 → pytest-7.4.4}/src/_pytest/warnings.py +0 -0
  410. {pytest-7.4.3 → pytest-7.4.4}/src/py.py +0 -0
  411. {pytest-7.4.3 → pytest-7.4.4}/src/pytest/__init__.py +0 -0
  412. {pytest-7.4.3 → pytest-7.4.4}/src/pytest/__main__.py +0 -0
  413. {pytest-7.4.3 → pytest-7.4.4}/src/pytest/py.typed +0 -0
  414. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/dependency_links.txt +0 -0
  415. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/entry_points.txt +0 -0
  416. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/not-zip-safe +0 -0
  417. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/requires.txt +0 -0
  418. {pytest-7.4.3 → pytest-7.4.4}/src/pytest.egg-info/top_level.txt +0 -0
  419. {pytest-7.4.3 → pytest-7.4.4}/testing/acceptance_test.py +0 -0
  420. {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_code.py +0 -0
  421. {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_excinfo.py +0 -0
  422. {pytest-7.4.3 → pytest-7.4.4}/testing/code/test_source.py +0 -0
  423. {pytest-7.4.3 → pytest-7.4.4}/testing/conftest.py +0 -0
  424. {pytest-7.4.3 → pytest-7.4.4}/testing/deprecated_test.py +0 -0
  425. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/README.rst +0 -0
  426. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/__init__.py +0 -0
  427. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/acceptance/fixture_mock_integration.py +0 -0
  428. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/pytest.ini +0 -0
  429. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/tests/__init__.py +0 -0
  430. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/collect_init_tests/tests/test_foo.py +0 -0
  431. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/__init__.pyi +0 -0
  432. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/conftest.py +0 -0
  433. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/tests/__init__.py +0 -0
  434. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_infinite_recursion/tests/test_basic.py +0 -0
  435. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/__init__.py +0 -0
  436. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/collect/package_init_given_as_arg/pkg/test_foo.py +0 -0
  437. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/__init__.pyi +0 -0
  438. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/conftest.py +0 -0
  439. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/config/collect_pytest_prefix/test_foo.py +0 -0
  440. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/conftest_usageerror/__init__.pyi +0 -0
  441. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/conftest_usageerror/conftest.py +0 -0
  442. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses.py +0 -0
  443. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_field_comparison_off.py +0 -0
  444. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_verbose.py +0 -0
  445. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_dataclasses_with_custom_eq.py +0 -0
  446. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_initvar.py +0 -0
  447. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_recursive_dataclasses.py +0 -0
  448. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/dataclasses/test_compare_two_different_dataclasses.py +0 -0
  449. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/doctest/main_py/__main__.py +0 -0
  450. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/doctest/main_py/test_normal_module.py +0 -0
  451. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/__init__.pyi +0 -0
  452. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/conftest.py +0 -0
  453. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/foo/__init__.py +0 -0
  454. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/custom_item/foo/test_foo.py +0 -0
  455. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/__init__.py +0 -0
  456. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py +0 -0
  457. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/test_in_sub1.py +0 -0
  458. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/__init__.py +0 -0
  459. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py +0 -0
  460. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/test_in_sub2.py +0 -0
  461. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py +0 -0
  462. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/__init__.pyi +0 -0
  463. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py +0 -0
  464. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/__init__.py +0 -0
  465. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py +0 -0
  466. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/test_spam.py +0 -0
  467. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/__init__.pyi +0 -0
  468. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py +0 -0
  469. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py +0 -0
  470. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py +0 -0
  471. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py +0 -0
  472. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py +0 -0
  473. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py +0 -0
  474. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py +0 -0
  475. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/test_fixture_named_request.py +0 -0
  476. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py +0 -0
  477. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/__init__.pyi +0 -0
  478. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/conftest.py +0 -0
  479. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue88_initial_file_multinodes/test_hello.py +0 -0
  480. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/issue_519.py +0 -0
  481. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/junit-10.xsd +0 -0
  482. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/__init__.pyi +0 -0
  483. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/conftest.py +0 -0
  484. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py +0 -0
  485. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/.gitignore +0 -0
  486. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/generate_folders.py +0 -0
  487. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/perf_examples/collect_stats/template_test.py +0 -0
  488. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/pytest.ini +0 -0
  489. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/tmpdir/tmp_path_fixture.py +0 -0
  490. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py +0 -0
  491. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip.py +0 -0
  492. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip_class.py +0 -0
  493. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_setup_skip_module.py +0 -0
  494. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_asyncio.py +0 -0
  495. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_asynctest.py +0 -0
  496. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/unittest/test_unittest_plain_async.py +0 -0
  497. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message.py +0 -0
  498. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py +0 -0
  499. {pytest-7.4.3 → pytest-7.4.4}/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_2.py +0 -0
  500. {pytest-7.4.3 → pytest-7.4.4}/testing/examples/test_issue519.py +0 -0
  501. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/.gitignore +0 -0
  502. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/create_executable.py +0 -0
  503. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/runtests_script.py +0 -0
  504. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tests/test_doctest.txt +0 -0
  505. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tests/test_trivial.py +0 -0
  506. {pytest-7.4.3 → pytest-7.4.4}/testing/freeze/tox_run.py +0 -0
  507. {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_saferepr.py +0 -0
  508. {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_terminalwriter.py +0 -0
  509. {pytest-7.4.3 → pytest-7.4.4}/testing/io/test_wcwidth.py +0 -0
  510. {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_fixture.py +0 -0
  511. {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_formatter.py +0 -0
  512. {pytest-7.4.3 → pytest-7.4.4}/testing/logging/test_reporting.py +0 -0
  513. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/.gitignore +0 -0
  514. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/README.rst +0 -0
  515. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/bdd_wallet.feature +0 -0
  516. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/bdd_wallet.py +0 -0
  517. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/django_settings.py +0 -0
  518. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest.ini +0 -0
  519. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_anyio_integration.py +0 -0
  520. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_asyncio_integration.py +0 -0
  521. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_mock_integration.py +0 -0
  522. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_trio_integration.py +0 -0
  523. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/pytest_twisted_integration.py +0 -0
  524. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/requirements.txt +0 -0
  525. {pytest-7.4.3 → pytest-7.4.4}/testing/plugins_integration/simple_integration.py +0 -0
  526. {pytest-7.4.3 → pytest-7.4.4}/testing/python/approx.py +0 -0
  527. {pytest-7.4.3 → pytest-7.4.4}/testing/python/collect.py +0 -0
  528. {pytest-7.4.3 → pytest-7.4.4}/testing/python/fixtures.py +0 -0
  529. {pytest-7.4.3 → pytest-7.4.4}/testing/python/integration.py +0 -0
  530. {pytest-7.4.3 → pytest-7.4.4}/testing/python/raises.py +0 -0
  531. {pytest-7.4.3 → pytest-7.4.4}/testing/python/show_fixtures_per_test.py +0 -0
  532. {pytest-7.4.3 → pytest-7.4.4}/testing/test_argcomplete.py +0 -0
  533. {pytest-7.4.3 → pytest-7.4.4}/testing/test_assertion.py +0 -0
  534. {pytest-7.4.3 → pytest-7.4.4}/testing/test_cacheprovider.py +0 -0
  535. {pytest-7.4.3 → pytest-7.4.4}/testing/test_capture.py +0 -0
  536. {pytest-7.4.3 → pytest-7.4.4}/testing/test_compat.py +0 -0
  537. {pytest-7.4.3 → pytest-7.4.4}/testing/test_config.py +0 -0
  538. {pytest-7.4.3 → pytest-7.4.4}/testing/test_conftest.py +0 -0
  539. {pytest-7.4.3 → pytest-7.4.4}/testing/test_debugging.py +0 -0
  540. {pytest-7.4.3 → pytest-7.4.4}/testing/test_doctest.py +0 -0
  541. {pytest-7.4.3 → pytest-7.4.4}/testing/test_entry_points.py +0 -0
  542. {pytest-7.4.3 → pytest-7.4.4}/testing/test_error_diffs.py +0 -0
  543. {pytest-7.4.3 → pytest-7.4.4}/testing/test_faulthandler.py +0 -0
  544. {pytest-7.4.3 → pytest-7.4.4}/testing/test_findpaths.py +0 -0
  545. {pytest-7.4.3 → pytest-7.4.4}/testing/test_helpconfig.py +0 -0
  546. {pytest-7.4.3 → pytest-7.4.4}/testing/test_junitxml.py +0 -0
  547. {pytest-7.4.3 → pytest-7.4.4}/testing/test_legacypath.py +0 -0
  548. {pytest-7.4.3 → pytest-7.4.4}/testing/test_link_resolve.py +0 -0
  549. {pytest-7.4.3 → pytest-7.4.4}/testing/test_main.py +0 -0
  550. {pytest-7.4.3 → pytest-7.4.4}/testing/test_mark.py +0 -0
  551. {pytest-7.4.3 → pytest-7.4.4}/testing/test_mark_expression.py +0 -0
  552. {pytest-7.4.3 → pytest-7.4.4}/testing/test_meta.py +0 -0
  553. {pytest-7.4.3 → pytest-7.4.4}/testing/test_monkeypatch.py +0 -0
  554. {pytest-7.4.3 → pytest-7.4.4}/testing/test_nodes.py +0 -0
  555. {pytest-7.4.3 → pytest-7.4.4}/testing/test_nose.py +0 -0
  556. {pytest-7.4.3 → pytest-7.4.4}/testing/test_parseopt.py +0 -0
  557. {pytest-7.4.3 → pytest-7.4.4}/testing/test_pastebin.py +0 -0
  558. {pytest-7.4.3 → pytest-7.4.4}/testing/test_pathlib.py +0 -0
  559. {pytest-7.4.3 → pytest-7.4.4}/testing/test_pluginmanager.py +0 -0
  560. {pytest-7.4.3 → pytest-7.4.4}/testing/test_pytester.py +0 -0
  561. {pytest-7.4.3 → pytest-7.4.4}/testing/test_python_path.py +0 -0
  562. {pytest-7.4.3 → pytest-7.4.4}/testing/test_recwarn.py +0 -0
  563. {pytest-7.4.3 → pytest-7.4.4}/testing/test_reports.py +0 -0
  564. {pytest-7.4.3 → pytest-7.4.4}/testing/test_runner.py +0 -0
  565. {pytest-7.4.3 → pytest-7.4.4}/testing/test_runner_xunit.py +0 -0
  566. {pytest-7.4.3 → pytest-7.4.4}/testing/test_scope.py +0 -0
  567. {pytest-7.4.3 → pytest-7.4.4}/testing/test_session.py +0 -0
  568. {pytest-7.4.3 → pytest-7.4.4}/testing/test_setuponly.py +0 -0
  569. {pytest-7.4.3 → pytest-7.4.4}/testing/test_setupplan.py +0 -0
  570. {pytest-7.4.3 → pytest-7.4.4}/testing/test_skipping.py +0 -0
  571. {pytest-7.4.3 → pytest-7.4.4}/testing/test_stash.py +0 -0
  572. {pytest-7.4.3 → pytest-7.4.4}/testing/test_stepwise.py +0 -0
  573. {pytest-7.4.3 → pytest-7.4.4}/testing/test_terminal.py +0 -0
  574. {pytest-7.4.3 → pytest-7.4.4}/testing/test_threadexception.py +0 -0
  575. {pytest-7.4.3 → pytest-7.4.4}/testing/test_tmpdir.py +0 -0
  576. {pytest-7.4.3 → pytest-7.4.4}/testing/test_unittest.py +0 -0
  577. {pytest-7.4.3 → pytest-7.4.4}/testing/test_unraisableexception.py +0 -0
  578. {pytest-7.4.3 → pytest-7.4.4}/testing/test_warning_types.py +0 -0
  579. {pytest-7.4.3 → pytest-7.4.4}/testing/test_warnings.py +0 -0
  580. {pytest-7.4.3 → pytest-7.4.4}/testing/typing_checks.py +0 -0
  581. {pytest-7.4.3 → pytest-7.4.4}/tox.ini +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@v1.5
29
+ uses: hynek/build-and-inspect-python-package@v1.5.3
30
30
 
31
31
  deploy:
32
32
  if: github.repository == 'pytest-dev/pytest'
@@ -53,8 +53,8 @@ jobs:
53
53
  run: |
54
54
  git config user.name "pytest bot"
55
55
  git config user.email "pytestbot@gmail.com"
56
- git tag --annotate --message=v${{ github.event.inputs.version }} v${{ github.event.inputs.version }} ${{ github.sha }}
57
- git push origin v${{ github.event.inputs.version }}
56
+ git tag --annotate --message=v${{ github.event.inputs.version }} ${{ github.event.inputs.version }} ${{ github.sha }}
57
+ git push origin ${{ github.event.inputs.version }}
58
58
 
59
59
  release-notes:
60
60
 
@@ -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@v1.5
38
+ uses: hynek/build-and-inspect-python-package@v1.5.3
39
39
 
40
40
  build:
41
41
  needs: [package]
@@ -47,6 +47,7 @@ Ariel Pillemer
47
47
  Armin Rigo
48
48
  Aron Coyle
49
49
  Aron Curzon
50
+ Arthur Richard
50
51
  Ashish Kurmi
51
52
  Aviral Verma
52
53
  Aviv Palivoda
@@ -323,6 +324,7 @@ Ronny Pfannschmidt
323
324
  Ross Lawley
324
325
  Ruaridh Williamson
325
326
  Russel Winder
327
+ Ryan Puddephatt
326
328
  Ryan Wooden
327
329
  Saiprasad Kale
328
330
  Samuel Colvin
@@ -375,6 +377,7 @@ Tomer Keren
375
377
  Tony Narlock
376
378
  Tor Colvin
377
379
  Trevor Bekolay
380
+ Tushar Sadhwani
378
381
  Tyler Goodlet
379
382
  Tyler Smart
380
383
  Tzu-ping Chung
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytest
3
- Version: 7.4.3
3
+ Version: 7.4.4
4
4
  Summary: pytest: simple powerful testing with Python
5
5
  Home-page: https://docs.pytest.org/en/latest/
6
6
  Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
@@ -14,7 +14,7 @@ Each file should be named like ``<ISSUE>.<TYPE>.rst``, where
14
14
  ``<ISSUE>`` is an issue number, and ``<TYPE>`` is one of:
15
15
 
16
16
  * ``feature``: new user facing features, like new command-line options and new behavior.
17
- * ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junitxml``, improved colors in terminal, etc).
17
+ * ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junit-xml``, improved colors in terminal, etc).
18
18
  * ``bugfix``: fixes a bug.
19
19
  * ``doc``: documentation improvement, like rewording an entire session or adding missing docs.
20
20
  * ``deprecation``: feature deprecation.
@@ -6,6 +6,7 @@ Release announcements
6
6
  :maxdepth: 2
7
7
 
8
8
 
9
+ release-7.4.4
9
10
  release-7.4.3
10
11
  release-7.4.2
11
12
  release-7.4.1
@@ -0,0 +1,20 @@
1
+ pytest-7.4.4
2
+ =======================================
3
+
4
+ pytest 7.4.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
+ * Ran Benita
16
+ * Zac Hatfield-Dodds
17
+
18
+
19
+ Happy testing,
20
+ The pytest Development Team
@@ -28,6 +28,31 @@ with advance notice in the **Deprecations** section of releases.
28
28
 
29
29
  .. towncrier release notes start
30
30
 
31
+ pytest 7.4.4 (2023-12-31)
32
+ =========================
33
+
34
+ Bug Fixes
35
+ ---------
36
+
37
+ - `#11140 <https://github.com/pytest-dev/pytest/issues/11140>`_: Fix non-string constants at the top of file being detected as docstrings on Python>=3.8.
38
+
39
+
40
+ - `#11572 <https://github.com/pytest-dev/pytest/issues/11572>`_: Handle an edge case where :data:`sys.stderr` and :data:`sys.__stderr__` might already be closed when :ref:`faulthandler` is tearing down.
41
+
42
+
43
+ - `#11710 <https://github.com/pytest-dev/pytest/issues/11710>`_: Fixed tracebacks from collection errors not getting pruned.
44
+
45
+
46
+ - `#7966 <https://github.com/pytest-dev/pytest/issues/7966>`_: Removed unhelpful error message from assertion rewrite mechanism when exceptions are raised in ``__iter__`` methods. Now they are treated un-iterable instead.
47
+
48
+
49
+
50
+ Improved Documentation
51
+ ----------------------
52
+
53
+ - `#11091 <https://github.com/pytest-dev/pytest/issues/11091>`_: Updated documentation to refer to hyphenated options: replaced ``--junitxml`` with ``--junit-xml`` and ``--collectonly`` with ``--collect-only``.
54
+
55
+
31
56
  pytest 7.4.3 (2023-10-24)
32
57
  =========================
33
58
 
@@ -596,7 +596,7 @@ By using ``legacy`` you will keep using the legacy/xunit1 format when upgrading
596
596
  pytest 6.0, where the default format will be ``xunit2``.
597
597
 
598
598
  In order to let users know about the transition, pytest will issue a warning in case
599
- the ``--junitxml`` option is given in the command line but ``junit_family`` is not explicitly
599
+ the ``--junit-xml`` option is given in the command line but ``junit_family`` is not explicitly
600
600
  configured in ``pytest.ini``.
601
601
 
602
602
  Services known to support the ``xunit2`` format:
@@ -136,7 +136,7 @@ Or select multiple nodes:
136
136
 
137
137
  Node IDs for failing tests are displayed in the test summary info
138
138
  when running pytest with the ``-rf`` option. You can also
139
- construct Node IDs from the output of ``pytest --collectonly``.
139
+ construct Node IDs from the output of ``pytest --collect-only``.
140
140
 
141
141
  Using ``-k expr`` to select tests based on their name
142
142
  -------------------------------------------------------
@@ -1088,4 +1088,4 @@ application with standard ``pytest`` command-line options:
1088
1088
 
1089
1089
  .. code-block:: bash
1090
1090
 
1091
- ./app_main --pytest --verbose --tb=long --junitxml=results.xml test-suite/
1091
+ ./app_main --pytest --verbose --tb=long --junit=xml=results.xml test-suite/
@@ -22,7 +22,7 @@ Install ``pytest``
22
22
  .. code-block:: bash
23
23
 
24
24
  $ pytest --version
25
- pytest 7.4.3
25
+ pytest 7.4.4
26
26
 
27
27
  .. _`simpletest`:
28
28
 
@@ -478,7 +478,7 @@ integration servers, use this invocation:
478
478
 
479
479
  .. code-block:: bash
480
480
 
481
- pytest --junitxml=path
481
+ pytest --junit-xml=path
482
482
 
483
483
  to create an XML file at ``path``.
484
484
 
@@ -1,3 +1,5 @@
1
+ :tocdepth: 3
2
+
1
3
  .. _`api-reference`:
2
4
 
3
5
  API Reference
@@ -77,7 +79,7 @@ pytest.xfail
77
79
  pytest.exit
78
80
  ~~~~~~~~~~~
79
81
 
80
- .. autofunction:: pytest.exit(reason, [returncode=False, msg=None])
82
+ .. autofunction:: pytest.exit(reason, [returncode=None, msg=None])
81
83
 
82
84
  pytest.main
83
85
  ~~~~~~~~~~~
@@ -31,16 +31,22 @@ class InvalidFeatureRelease(Exception):
31
31
  SLUG = "pytest-dev/pytest"
32
32
 
33
33
  PR_BODY = """\
34
- Created by the [prepare release pr](https://github.com/pytest-dev/pytest/actions/workflows/prepare-release-pr.yml)
35
- workflow.
34
+ Created by the [prepare release pr]\
35
+ (https://github.com/pytest-dev/pytest/actions/workflows/prepare-release-pr.yml) workflow.
36
36
 
37
- Once all builds pass and it has been **approved** by one or more maintainers,
38
- start the [deploy](https://github.com/pytest-dev/pytest/actions/workflows/deploy.yml) workflow, using these parameters:
37
+ Once all builds pass and it has been **approved** by one or more maintainers, start the \
38
+ [deploy](https://github.com/pytest-dev/pytest/actions/workflows/deploy.yml) workflow, using these parameters:
39
39
 
40
40
  * `Use workflow from`: `release-{version}`.
41
41
  * `Release version`: `{version}`.
42
42
 
43
- After the `deploy` workflow has been approved by a core maintainer, the package will be uploaded to PyPI automatically.
43
+ Or execute on the command line:
44
+
45
+ ```console
46
+ gh workflow run deploy.yml -r release-{version} -f version={version}
47
+ ```
48
+
49
+ After the workflow has been approved by a core maintainer, the package will be uploaded to PyPI automatically.
44
50
  """
45
51
 
46
52
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '7.4.3'
16
- __version_tuple__ = version_tuple = (7, 4, 3)
15
+ __version__ = version = '7.4.4'
16
+ __version_tuple__ = version_tuple = (7, 4, 4)
@@ -604,6 +604,13 @@ def _get_assertion_exprs(src: bytes) -> Dict[int, str]:
604
604
  return ret
605
605
 
606
606
 
607
+ def _get_ast_constant_value(value: astStr) -> object:
608
+ if sys.version_info >= (3, 8):
609
+ return value.value
610
+ else:
611
+ return value.s
612
+
613
+
607
614
  class AssertionRewriter(ast.NodeVisitor):
608
615
  """Assertion rewriting implementation.
609
616
 
@@ -700,11 +707,10 @@ class AssertionRewriter(ast.NodeVisitor):
700
707
  expect_docstring
701
708
  and isinstance(item, ast.Expr)
702
709
  and isinstance(item.value, astStr)
710
+ and isinstance(_get_ast_constant_value(item.value), str)
703
711
  ):
704
- if sys.version_info >= (3, 8):
705
- doc = item.value.value
706
- else:
707
- doc = item.value.s
712
+ doc = _get_ast_constant_value(item.value)
713
+ assert isinstance(doc, str)
708
714
  if self.is_rewrite_disabled(doc):
709
715
  return
710
716
  expect_docstring = False
@@ -132,7 +132,7 @@ def isiterable(obj: Any) -> bool:
132
132
  try:
133
133
  iter(obj)
134
134
  return not istext(obj)
135
- except TypeError:
135
+ except Exception:
136
136
  return False
137
137
 
138
138
 
@@ -9,8 +9,8 @@ from _pytest.nodes import Item
9
9
  from _pytest.stash import StashKey
10
10
 
11
11
 
12
+ fault_handler_original_stderr_fd_key = StashKey[int]()
12
13
  fault_handler_stderr_fd_key = StashKey[int]()
13
- fault_handler_originally_enabled_key = StashKey[bool]()
14
14
 
15
15
 
16
16
  def pytest_addoption(parser: Parser) -> None:
@@ -24,8 +24,15 @@ def pytest_addoption(parser: Parser) -> None:
24
24
  def pytest_configure(config: Config) -> None:
25
25
  import faulthandler
26
26
 
27
- config.stash[fault_handler_stderr_fd_key] = os.dup(get_stderr_fileno())
28
- config.stash[fault_handler_originally_enabled_key] = faulthandler.is_enabled()
27
+ # at teardown we want to restore the original faulthandler fileno
28
+ # but faulthandler has no api to return the original fileno
29
+ # so here we stash the stderr fileno to be used at teardown
30
+ # sys.stderr and sys.__stderr__ may be closed or patched during the session
31
+ # so we can't rely on their values being good at that point (#11572).
32
+ stderr_fileno = get_stderr_fileno()
33
+ if faulthandler.is_enabled():
34
+ config.stash[fault_handler_original_stderr_fd_key] = stderr_fileno
35
+ config.stash[fault_handler_stderr_fd_key] = os.dup(stderr_fileno)
29
36
  faulthandler.enable(file=config.stash[fault_handler_stderr_fd_key])
30
37
 
31
38
 
@@ -37,9 +44,10 @@ def pytest_unconfigure(config: Config) -> None:
37
44
  if fault_handler_stderr_fd_key in config.stash:
38
45
  os.close(config.stash[fault_handler_stderr_fd_key])
39
46
  del config.stash[fault_handler_stderr_fd_key]
40
- if config.stash.get(fault_handler_originally_enabled_key, False):
41
- # Re-enable the faulthandler if it was originally enabled.
42
- faulthandler.enable(file=get_stderr_fileno())
47
+ # Re-enable the faulthandler if it was originally enabled.
48
+ if fault_handler_original_stderr_fd_key in config.stash:
49
+ faulthandler.enable(config.stash[fault_handler_original_stderr_fd_key])
50
+ del config.stash[fault_handler_original_stderr_fd_key]
43
51
 
44
52
 
45
53
  def get_stderr_fileno() -> int:
@@ -369,7 +369,7 @@ def record_testsuite_property(request: FixtureRequest) -> Callable[[str, object]
369
369
  __tracebackhide__ = True
370
370
 
371
371
  def record_func(name: str, value: object) -> None:
372
- """No-op function in case --junitxml was not passed in the command-line."""
372
+ """No-op function in case --junit-xml was not passed in the command-line."""
373
373
  __tracebackhide__ = True
374
374
  _check_record_param_type("name", name)
375
375
 
@@ -567,7 +567,7 @@ class Collector(Node):
567
567
  ntraceback = traceback.cut(path=self.path)
568
568
  if ntraceback == traceback:
569
569
  ntraceback = ntraceback.cut(excludepath=tracebackcutdir)
570
- return excinfo.traceback.filter(excinfo)
570
+ return ntraceback.filter(excinfo)
571
571
  return excinfo.traceback
572
572
 
573
573
 
@@ -123,7 +123,7 @@ def exit(
123
123
  only because `msg` is deprecated.
124
124
 
125
125
  :param returncode:
126
- Return code to be used when exiting pytest.
126
+ Return code to be used when exiting pytest. None means the same as ``0`` (no error), same as :func:`sys.exit`.
127
127
 
128
128
  :param msg:
129
129
  Same as ``reason``, but deprecated. Will be removed in a future version, use ``reason`` instead.
@@ -1074,7 +1074,7 @@ class Pytester:
1074
1074
  return self.inline_run(*values)
1075
1075
 
1076
1076
  def inline_genitems(self, *args) -> Tuple[List[Item], HookRecorder]:
1077
- """Run ``pytest.main(['--collectonly'])`` in-process.
1077
+ """Run ``pytest.main(['--collect-only'])`` in-process.
1078
1078
 
1079
1079
  Runs the :py:func:`pytest.main` function to run all of pytest inside
1080
1080
  the test process itself like :py:meth:`inline_run`, but returns a
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pytest
3
- Version: 7.4.3
3
+ Version: 7.4.4
4
4
  Summary: pytest: simple powerful testing with Python
5
5
  Home-page: https://docs.pytest.org/en/latest/
6
6
  Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
@@ -235,6 +235,7 @@ doc/en/announce/release-7.4.0.rst
235
235
  doc/en/announce/release-7.4.1.rst
236
236
  doc/en/announce/release-7.4.2.rst
237
237
  doc/en/announce/release-7.4.3.rst
238
+ doc/en/announce/release-7.4.4.rst
238
239
  doc/en/announce/sprint2016.rst
239
240
  doc/en/example/attic.rst
240
241
  doc/en/example/conftest.py
@@ -868,6 +868,9 @@ class TestLocalPath(CommonFSTests):
868
868
  py_path.strpath, str_path
869
869
  )
870
870
 
871
+ @pytest.mark.xfail(
872
+ reason="#11603", raises=(error.EEXIST, error.ENOENT), strict=False
873
+ )
871
874
  def test_make_numbered_dir_multiprocess_safe(self, tmpdir):
872
875
  # https://github.com/pytest-dev/py/issues/30
873
876
  with multiprocessing.Pool() as pool:
@@ -1493,7 +1493,7 @@ class TestMetafuncFunctional:
1493
1493
  pass
1494
1494
  """
1495
1495
  )
1496
- result = pytester.runpytest("--collectonly")
1496
+ result = pytester.runpytest("--collect-only")
1497
1497
  result.stdout.fnmatch_lines(
1498
1498
  [
1499
1499
  "collected 0 items / 1 error",
@@ -686,6 +686,25 @@ class TestAssertionRewrite:
686
686
  assert msg is not None
687
687
  assert "<MY42 object> < 0" in msg
688
688
 
689
+ def test_assert_handling_raise_in__iter__(self, pytester: Pytester) -> None:
690
+ pytester.makepyfile(
691
+ """\
692
+ class A:
693
+ def __iter__(self):
694
+ raise ValueError()
695
+
696
+ def __eq__(self, o: object) -> bool:
697
+ return self is o
698
+
699
+ def __repr__(self):
700
+ return "<A object>"
701
+
702
+ assert A() == A()
703
+ """
704
+ )
705
+ result = pytester.runpytest()
706
+ result.stdout.fnmatch_lines(["*E*assert <A object> == <A object>"])
707
+
689
708
  def test_formatchar(self) -> None:
690
709
  def f() -> None:
691
710
  assert "%test" == "test" # type: ignore[comparison-overlap]
@@ -2077,3 +2096,17 @@ class TestReprSizeVerbosity:
2077
2096
  self.create_test_file(pytester, DEFAULT_REPR_MAX_SIZE * 10)
2078
2097
  result = pytester.runpytest("-vv")
2079
2098
  result.stdout.no_fnmatch_line("*xxx...xxx*")
2099
+
2100
+
2101
+ class TestIssue11140:
2102
+ def test_constant_not_picked_as_module_docstring(self, pytester: Pytester) -> None:
2103
+ pytester.makepyfile(
2104
+ """\
2105
+ 0
2106
+
2107
+ def test_foo():
2108
+ pass
2109
+ """
2110
+ )
2111
+ result = pytester.runpytest()
2112
+ assert result.ret == 0
@@ -345,6 +345,29 @@ class TestPrunetraceback:
345
345
  result = pytester.runpytest(p)
346
346
  result.stdout.fnmatch_lines(["*ERROR collecting*", "*header1*"])
347
347
 
348
+ def test_collection_error_traceback_is_clean(self, pytester: Pytester) -> None:
349
+ """When a collection error occurs, the report traceback doesn't contain
350
+ internal pytest stack entries.
351
+
352
+ Issue #11710.
353
+ """
354
+ pytester.makepyfile(
355
+ """
356
+ raise Exception("LOUSY")
357
+ """
358
+ )
359
+ result = pytester.runpytest()
360
+ result.stdout.fnmatch_lines(
361
+ [
362
+ "*ERROR collecting*",
363
+ "test_*.py:1: in <module>",
364
+ ' raise Exception("LOUSY")',
365
+ "E Exception: LOUSY",
366
+ "*= short test summary info =*",
367
+ ],
368
+ consecutive=True,
369
+ )
370
+
348
371
 
349
372
  class TestCustomConftests:
350
373
  def test_ignore_collect_path(self, pytester: Pytester) -> None:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes