Bump pytest from 7.4.4 to 8.1.1
Bumps pytest from 7.4.4 to 8.1.1.
Release notes
Sourced from pytest's releases.
8.1.1
pytest 8.1.1 (2024-03-08)
::: {.note} ::: {.title} Note :::
This release is not a usual bug fix release -- it contains features and improvements, being a follow up to
8.1.0
, which has been yanked from PyPI. :::Features
#11475: Added the new
consider_namespace_packages
{.interpreted-text role="confval"} configuration option, defaulting toFalse
.If set to
True
, pytest will attempt to identify modules that are part of namespace packages when importing modules.#11653: Added the new
verbosity_test_cases
{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity. SeeFine-grained verbosity <pytest.fine_grained_verbosity>
{.interpreted-text role="ref"} for more details.Improvements
#10865:
pytest.warns
{.interpreted-text role="func"} now validates thatwarnings.warn
{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}. Currently in Python it is possible to use other types, however this causes an exception whenwarnings.filterwarnings
{.interpreted-text role="func"} is used to filter those warnings (see [CPython #103577](python/cpython#103577) for a discussion). While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.#11311: When using
--override-ini
for paths in invocations without a configuration file defined, the current working directory is used as the relative directory.Previoulsy this would raise an
AssertionError
{.interpreted-text role="class"}.#11475:
--import-mode=importlib <import-mode-importlib>
{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path
{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.This means that installed packages will be imported under their canonical name if possible first, for example
app.core.models
, instead of having the module name always be derived from their path (for example.env310.lib.site_packages.app.core.models
).#11801: Added the
iter_parents() <_pytest.nodes.Node.iter_parents>
{.interpreted-text role="func"} helper method on nodes. It is similar tolistchain <_pytest.nodes.Node.listchain>
{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.#11850: Added support for
sys.last_exc
{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.#11962: In case no other suitable candidates for configuration file are found, a
pyproject.toml
(even without a[tool.pytest.ini_options]
table) will be considered as the configuration file and define therootdir
.#11978: Add
--log-file-mode
option to the logging plugin, enabling appending to log-files. This option accepts either"w"
or"a"
and defaults to"w"
.Previously, the mode was hard-coded to be
"w"
which truncates the file before logging.
... (truncated)
Commits
-
81653ee
Adjust changelog manually for 8.1.1 -
e60b4b9
Prepare release version 8.1.1 -
15fbe57
[8.1.x] Revert legacy path removals (#12093) -
86c3aab
[8.1.x] Do not import duplicated modules with --importmode=importlib (#12077) -
5b82b0c
[8.1.x] Yank version 8.1.0 (#12076) -
0a53681
Merge pull request #12054 from pytest-dev/release-8.1.0 -
b9a167f
Prepare release version 8.1.0 -
00043f7
Merge pull request #12038 from bluetech/fixtures-rm-arg2index -
f4e1025
Merge pull request #12048 from bluetech/fixture-teardown-excgroup -
43492f5
Merge pull request #12051 from jakkdl/test_debugging_pythonbreakpoint - Additional commits viewable in compare view