#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.
You can trigger a rebase of this PR 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)
> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps pytest from 7.0.0 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...You can trigger a rebase of this PR 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)