#10875: Python 3.12 support: fixed RuntimeError: TestResult has no addDuration method when running unittest tests.
#10890: Python 3.12 support: fixed shutil.rmtree(onerror=...) deprecation warning when using tmp_path{.interpreted-text role="fixture"}.
Bug Fixes
#10896: Fixed performance regression related to tmp_path{.interpreted-text role="fixture"} and the new tmp_path_retention_policy{.interpreted-text role="confval"} option.
#10903: Fix crash INTERNALERROR IndexError: list index out of range which happens when displaying an exception where all entries are hidden.
This reverts the change "Correctly handle __tracebackhide__ for chained exceptions." introduced in version 7.3.0.
7.3.0
pytest 7.3.0 (2023-04-08)
Features
#10525: Test methods decorated with @classmethod can now be discovered as tests, following the same rules as normal methods. This fills the gap that static methods were discoverable as tests but not class methods.
#10755: console_output_style{.interpreted-text role="confval"} now supports progress-even-when-capture-no to force the use of the progress output even when capture is disabled. This is useful in large test suites where capture may have significant performance impact.
#7431: --log-disable CLI option added to disable individual loggers.
#8141: Added tmp_path_retention_count{.interpreted-text role="confval"} and tmp_path_retention_policy{.interpreted-text role="confval"} configuration options to control how directories created by the tmp_path{.interpreted-text role="fixture"} fixture are kept.
Improvements
#10226: If multiple errors are raised in teardown, we now re-raise an ExceptionGroup of them instead of discarding all but the last.
#10658: Allow -p arguments to include spaces (eg: -p no:logging instead of
-pno:logging). Mostly useful in the addopts section of the configuration
file.
#10710: Added start and stop timestamps to TestReport objects.
#10727: Split the report header for rootdir, config file and testpaths so each has its own line.
#10840: pytest should no longer crash on AST with pathological position attributes, for example testing AST produced by [Hylang <https://github.com/hylang/hy>__]{.title-ref}.
#6267: The full output of a test is no longer truncated if the truncation message would be longer than
the hidden text. The line number shown has also been fixed.
Bug Fixes
#10743: The assertion rewriting mechanism now works correctly when assertion expressions contain the walrus operator.
#10765: Fixed tmp_path{.interpreted-text role="fixture"} fixture always raising OSError{.interpreted-text role="class"} on emscripten platform due to missing os.getuid{.interpreted-text role="func"}.
#1904: Correctly handle __tracebackhide__ for chained exceptions.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Coverage: 91.582%. Remained the same when pulling fce565b4a408f66d0bd632940e1c38f2aa1e225b on dependabot/pip/pytest-7.3.1 into 5bfc7f124a74965195a12a0584c54947e5f1f170 on main.
Bumps pytest from 7.2.1 to 7.3.1.
Release notes
Sourced from pytest's releases.
... (truncated)
Commits
dab1992
Prepare release version 7.3.1c3d9dac
[7.3.x] Fix tmp_path regression introduced in 7.3.0 (#10912)06d7596
Merge pull request #10906 from pytest-dev/backport-10904-to-7.3.xa4121aa
[7.3.x] Revert "Correctly handle tracebackhide for chained exceptions (#10772)"6e26c2b
Merge pull request #10898 from pytest-dev/backport-10893-to-7.3.x23cf1fe
[7.3.x] Python 3.12 alpha fixes1a427d3
[7.3.x] Amend changelog note for removal of attrs (#10889)cec5bfe
Merge pull request #10881 from pytest-dev/release-7.3.0ef982aa
Prepare release version 7.3.03683722
FormattedExcinfo.get_source: avoid crash when line number is out-of-bounds/ne...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)