* Markers are now considered in the
reverse mro order to ensure base class markers are
considered first -- this resolves a regression.
* Fixed ``:=`` in asserts impacting unrelated test cases.
* Handled an edge case where :data:`sys.stderr` might already
be closed when :ref:`faulthandler` is tearing down.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=130
* Fix doctest collection of
`functools.cached_property` objects.
* Fixed bug using
``--importmode=importlib`` which would cause package
``__init__.py`` files to be imported more than once in some
cases.
* Fixed bug where `user_properties`
where not being saved in the JUnit XML file if a fixture
failed during teardown.
* Fixed crash when parsing long
command line arguments that might be interpreted as files.
* Improved Documentation
* Improved disclaimer on pytest
plugin reference page to better indicate this is an
automated, non-curated listing.
- drop fix-test-raising-repr.patch, fix-tests-pygments-2.14.0.patch:
https://docs.pytest.org/en/7.1.x/changelog.html for details
assert actual == pytest.approx(expected)
* pytest used to create directories under /tmp with world-readable
permissions. This means that any user in the system was able to
read information written by tests in temporary directories (such
as those created by the tmp_path/tmpdir fixture). Now the
* #8152: Fixed "(<Skipped instance>)" being shown as a skip reason in the
* #8249: Fix the faulthandler plugin for occasions when running with
* The @pytest.yield_fixture decorator/function is now deprecated.
* Verbose mode now shows the reason that a test was skipped in the
* pytest now warns about unraisable exceptions and unhandled thread
* New pytester fixture, which is identical to testdir but its methods
* It is now possible to construct a MonkeyPatch object directly as pytest.MonkeyPatch(),
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=126
* Fixed bug where fake intermediate
modules generated by ``--import-mode=importlib`` would not
include the child modules as attributes of the parent modules.
* Fixed error assertion handling in
:func:`pytest.approx` when ``None`` is an expected or
received value when comparing dictionaries.
* Fixed issue when using
``--import-mode=importlib`` together with ``--doctest-
modules`` that caused modules to be imported more than once,
causing problems with modules that have import side effects.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=124
* Added
:func:`ExceptionInfo.from_exception()
<pytest.ExceptionInfo.from_exception>`, a simpler way to
create an :class:`~pytest.ExceptionInfo` from an exception.
This can replace :func:`ExceptionInfo.from_exc_info()
<pytest.ExceptionInfo.from_exc_info()>` for most uses.
* Update test log report annotation
to named tuple and fixed inconsistency in docs for
🪝`pytest_report_teststatus` hook.
* When an exception traceback to be
displayed is completely filtered out (by mechanisms such as
``__tracebackhide__``, internal frames, and similar), now
only the exception string and the following message are
shown:
"All traceback entries are hidden. Pass `--full-trace` to see
hidden and internal frames.".
* Improved verbose output (``-vv``)
of ``skip`` and ``xfail`` reasons by performing text wrapping
while leaving a clear margin for progress output.
* Added ``TerminalReporter.wrap_write()`` as a helper for that.
* Added handling of ``%f``
directive to print microseconds in log format options, such
as ``log-date-format``.
* Added the underlying exception to the cache provider's path
creation and write warning messages.
* Added warning when :confval:`testpaths` is set, but paths are
not found by glob.
In this case, pytest will fall back to searching from the
current directory.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=122
* Fix bug where very long option
names could cause pytest to break with ``OSError: [Errno 36]
File name too long`` on some systems.
* Support for Python 3.12
* honored to load root ``conftests``.
* The `monkeypatch` `setitem`/`delitem` type annotations now
allow `TypedDict` arguments.
* Fixed bug in assertion rewriting
where a variable assigned with the walrus operator could not
be used later in a function call.
* Fixed ``--last-failed``'s
"(skipped N files)" functionality for files inside of
packages (directories with `__init__.py` files).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=120
* Fixed :func:`pytest.approx`
handling of dictionaries containing one or more values of
`0.0`.
* Fixed crash if `--cache-show` and `--help` are passed at the
same time.
* Fixed bug where a fixture method named ``teardown`` would
be called as part of ``nose`` teardown stage.
* Fixed crash if ``--fixtures`` and ``--help`` are passed
at the same time.
* Fixed :py:func:`pytest.raises` to
return a 'ContextManager' so that type-checkers could narrow
:code:`pytest.raises(...) if ... else nullcontext()` down to
'ContextManager' rather than 'object'.
* Fix 'importlib.abc.TraversableResources' deprecation warning in
Python 3.12.
* If a test is skipped from inside a fixture, the test summary
now shows the test location instead of the fixture location.
* Fix a race condition when creating junitxml reports,
which could occur when multiple instances of pytest execute
in parallel.
* Fix a race condition when
creating or updating the stepwise plugin's cache, which could
occur when multiple xdist worker nodes try to simultaneously
update the stepwise plugin's cache.
- drop fix-test-raising-repr.patch, fix-tests-pygments-2.14.0.patch:
merged upstream
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=113
- Update to 7.2.0:
# Deprecations
- #10012: Update pytest.PytestUnhandledCoroutineWarning{.interpreted-text
role="class"} to a deprecation; it will raise an error in pytest 8.
- #10396: 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.
- #4562: Deprecate configuring hook specs/impls using attributes/marks.
- Instead use :pypytest.hookimpl{.interpreted-text role="func"} and
:pypytest.hookspec{.interpreted-text role="func"}.
For more details, see the docs
<legacy-path-hooks-deprecated>{.interpreted-text role="ref"}.
- #9886: 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
<nose-deprecation>{.interpreted-text role="ref"}.
# Features
- #9897: Added shell-style wildcard support to testpaths.
# Improvements
- #10218: @pytest.mark.parametrize() (and similar functions) now accepts any
Sequence[str] for the argument names, instead of just list[str] and
tuple[str, ...].
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=104
- Update to 7.1.1
* #9767: Fixed a regression in pytest 7.1.0 where some
conftest.py files outside of the source tree (e.g. in the
[site-packages]{.title-ref} directory) were not picked up.
- python-pytest5 is gone. Remove the libalts stopgap
- Update to 7.1.0
* Big changelog for 7.x series, see
https://docs.pytest.org/en/7.1.x/changelog.html for details
- Breaking changes:
* #8838: As per our policy, the following features have been
deprecated in the 6.X series and are now removed:
+ pytest._fillfuncargs function.
+ pytest_warning_captured hook - use pytest_warning_recorded
instead.
+ -k -foobar syntax - use -k 'not foobar' instead.
+ -k foobar: syntax.
* pytest.collect module - import from pytest directly.
* #9437: Dropped support for Python 3.6, which reached
end-of-life at 2021-12-23.
* #7259: The Node.reportinfo() function first return value type
has been expanded from py.path.local | str to os.PathLike[str]
| str.
Most plugins which refer to reportinfo() only define it as part
of a custom pytest.Item implementation. Since py.path.local is
a os.PathLike[str], these plugins are unaffacted.
Plugins and users which call reportinfo(), use the first return
value and interact with it as a py.path.local, would need to
adjust by calling py.path.local(fspath). Although preferably,
avoid the legacy py.path.local and use pathlib.Path, or use
item.location or item.path, instead.
Note: pytest was not able to provide a deprecation period for
this change.
* #8246: --version now writes version information to stdout
rather than stderr.
* #8733: Drop a workaround for pyreadline that made it work with
--pdb. The workaround was introduced in #1281 in 2015, however
since then pyreadline seems to have gone unmaintained, is
generating warnings, and will stop working on Python 3.10.
* #9061: Using pytest.approx() in a boolean context now raises an
error hinting at the proper usage.
It is apparently common for users to mistakenly use
pytest.approx like this:
assert pytest.approx(actual, expected)
While the correct usage is:
assert actual == pytest.approx(expected)
The new error message helps catch those mistakes.
* #9277: The pytest.Instance collector type has been removed.
Importing pytest.Instance or _pytest.python.Instance returns a
dummy type and emits a deprecation warning. See The
pytest.Instance collector for details.
* If you have concerns about the removal of a specific feature,
please add a comment to issue #9308.
- Drop patches
* pytest-pr8664-py3.10-test_trial_error-fail.patch
* pytest-pr9173-importlib-py310.patch
* pytest-pr9417-py3.10.1-fail.patch
OBS-URL: https://build.opensuse.org/request/show/965098
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=100
- Update to 6.2.1
* pytest now supports python3.6+ only.
* Directly constructing/calling some classes/functions is now deprecated
(see upstream changelog)
* The @pytest.yield_fixture decorator/function is now deprecated.
Use pytest.fixture() instead.
* No removals so far.
* Verbose mode now shows the reason that a test was skipped in the
test’s terminal line after the “SKIPPED”, “XFAIL” or “XPASS”.
* pytest now warns about unraisable exceptions and unhandled thread
exceptions that occur in tests on Python>=3.8.
* New pytester fixture, which is identical to testdir but its methods
return pathlib.Path when appropriate instead of py.path.local.
* It is now possible to construct a MonkeyPatch object directly as pytest.MonkeyPatch(),
in cases when the monkeypatch fixture cannot be used.
* Many more new features and bugfixes
OBS-URL: https://build.opensuse.org/request/show/860603
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=83
- Update to 6.1.2
* #7758: Fixed an issue where some files in packages are
getting lost from --lf even though they contain
tests that failed. Regressed in pytest 5.4.0.
* #7911: Directories created by tmpdir are now considered
stale after 3 days without modification (previous value
was 3 hours) to avoid deleting directories still in use
in long running test suites.
* #7815: Improve deprecation warning message for
pytest._fillfuncargs().
- remove old py.test2 and py.test3 entry points
- Fix py.test3 conflict for python3 flavors by alternatives
* gh#openSUSE/python-rpm-macros#66
* Make pytest the main alternative as py.test is the deprecated
name
- Fix gh#pytest-dev/pytest#7891 : require toml for build
OBS-URL: https://build.opensuse.org/request/show/844811
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=76
* Paths appearing in error messages are now correct in case the current working
directory has changed since the start of the session.
* Support deleting paths longer than 260 characters on windows created inside tmpdir.
* Prevent pytest from printing ConftestImportFailure traceback to stdout.
* Prevent hiding the underlying exception when ConfTestImportFailure is raised.
* Fix regression where running with --pdb would call the tearDown methods
of unittest.TestCase subclasses for skipped tests.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=61
* Fix crash with captured output when using the capsysbinary fixture.
* Ensure a unittest.IsolatedAsyncioTestCase is actually awaited.
* Fix TerminalRepr instances to be hashable again.
* Fix regression where functions registered with TestCase.addCleanup
were not being called on test failures.
* Allow users to still set the deprecated TerminalReporter.writer attribute.
* Revert “tmpdir: clean up indirection via config for factories
* Fixed regression: asyncbase.TestCase tests are executed correctly again
* Fix File.from_constructor so it forwards extra keyword arguments to the constructor.
* Classes with broken __getattribute__ methods are displayed correctly during failures.
* Fix _is_setup_py for files encoded differently than locale.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=59
* #6909: Revert the change introduced by #6330, which required all
arguments to @pytest.mark.parametrize to be explicitly defined
in the function signature.
* #6910: Fix crash when plugins return an unknown stats while using
the --reportlog option.
* #6316: Matching of -k EXPRESSION to test names is now case-insensitive.
* #6443: Plugins specified with -p are now loaded after internal plugins
* #6637: Removed the long-deprecated pytest_itemstart hook.
* #6673: Reversed / fix meaning of “+/-” in error diffs. “-” means that
sth. expected is missing in the result and “+” means that there are
unexpected extras in the result.
- Remove merged patch tidy-up-embeddedfile.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=58