Path to this page:
Subject: CVS commit: pkgsrc/devel/py-test
From: Adam Ciarcinski
Date: 2022-10-28 10:58:12
Message id: 20221028085812.4B1B6FA90@cvs.NetBSD.org
Log Message:
py-test: updated to 7.2.0
pytest 7.2.0 (2022-10-23)
Deprecations
* Update pytest.PytestUnhandledCoroutineWarning to a deprecation; it will raise \
an error in pytest 8.
* pytest no longer depends on the py library. pytest provides a vendored copy of \
py.error and py.path modules but will use the py library if it is installed. If \
you need other py.* modules, continue to install the deprecated py library \
separately, otherwise it can usually be removed as a dependency.
* Deprecate configuring hook specs/impls using attributes/marks.
Instead use pytest.hookimpl() and pytest.hookspec(). For more details, see the docs.
* The functionality for running tests written for nose has been officially \
deprecated.
This includes:
Plain setup and teardown functions and methods: this might catch users by \
surprise, as setup() and teardown() are not pytest idioms, but part of the nose \
support.
Setup/teardown using the @with_setup decorator.
For more details, consult the deprecation docs.
* A deprecation warning is now emitted if a test function returns something \
other than None. This prevents a common mistake among beginners that expect that \
returning a bool (for example return foo(a, b) == result) would cause a test to \
pass or fail, instead of using assert. The plan is to make returning non-None \
from tests an error in the future.
Features
* Added shell-style wildcard support to testpaths.
Improvements
* @pytest.mark.parametrize() (and similar functions) now accepts any \
Sequence[str] for the argument names, instead of just list[str] and tuple[str, \
...].
(Note that str, which is itself a Sequence[str], is still treated as a \
comma-delimited name list, as before).
* The --no-showlocals flag has been added. This can be passed directly to tests \
to override --showlocals declared through addopts.
* Assertion failures with strings in NFC and NFD forms that normalize to the \
same string now have a dedicated error message detailing the issue, and their \
utf-8 representation is expressed instead.
* Introduce multiline display for warning matching via pytest.warns() and \
enhance match comparison for _pytest._code.ExceptionInfo.match() as returned by \
pytest.raises().
* Improve pytest.raises(). Previously passing an empty tuple would give a \
confusing error. We now raise immediately with a more helpful message.
* On Python 3.11, use the standard library’s tomllib to parse TOML.
tomli is no longer a dependency on Python 3.11.
* Display assertion message without escaped newline characters with -vv.
* Improved error message that is shown when no collector is found for a given file.
* Some coloring has been added to the short test summary.
* Normalize the help description of all command-line options.
* Display full crash messages in short test summary info, when running in a CI \
environment.
* Added support for hidden configuration file by allowing .pytest.ini as an \
alternative to pytest.ini.
Bug Fixes
* sys.stdin now contains all expected methods of a file-like object when capture \
is enabled.
* Do not break into pdb when raise unittest.SkipTest() appears top-level in a file.
* Marks are now inherited according to the full MRO in test classes. Previously, \
if a test class inherited from two or more classes, only marks from the first \
super-class would apply.
When inheriting marks from super-classes, marks from the sub-classes are now \
ordered before marks from the super-classes, in MRO order. Previously it was the \
reverse.
When inheriting marks from super-classes, the pytestmark attribute of the \
sub-class now only contains the marks directly applied to it. Previously, it \
also contained marks from its super-classes. Please note that this attribute \
should not normally be accessed directly; use pytest.Node.iter_markers() \
instead.
* Showing inner exceptions by forcing native display in ExceptionGroups even \
when using display options other than --tb=native. A temporary step before full \
implementation of pytest-native display for inner exceptions in ExceptionGroups.
* Ensure caplog.get_records(when) returns current/correct data after invoking \
caplog.clear().
Improved Documentation
* Update information on writing plugins to use pyproject.toml instead of setup.py.
* The documentation is now built using Sphinx 5.x (up from 3.x previously).
* Update documentation on how pytest.warns() affects DeprecationWarning.
Trivial/Internal Changes
* Made _pytest.doctest.DoctestItem export pytest.DoctestItem for type check and \
runtime purposes. Made _pytest.doctest use internal APIs to avoid circular \
imports.
* Made _pytest.compat re-export importlib_metadata in the eyes of type checkers.
* Fix default encoding warning (EncodingWarning) in cacheprovider
* Improve the error message when we attempt to access a fixture that has been \
torn down. Add an additional sentence to the docstring explaining when it’s \
not a good idea to call getfixturevalue.
Files: