- update to 8.3.2:
* Resolve regression where `conda` environments where no longer
being automatically detected
- Update to 8.3.1:
* New features
+ Added `--xfail-tb` flag, which turns on traceback output for XFAIL
results.
+ Added support for keyword matching in marker expressions.
+ Added ``--no-fold-skipped`` command line option.
* Improvements
+ The console output now uses the "third-party plugins" terminology.
+ Python virtual environment detection was improved by checking for a
pyvenv.cfg file
+ Do not truncate arguments to functions in output when running with -vvv.
+ The readability of assertion introspection of bound methods has been
enhanced.
+ Added timezone information to the testsuite timestamp in the JUnit XML
report.
* Bug Fixes
+ Fixed reporting of teardown errors in higher-scoped fixtures when
using `--maxfail` or `--stepwise`.
+ pytest.approx now correctly handles Sequence-like objects.
+ Fixed a regression in pytest 8.0 where tracebacks get longer and
longer when multiple tests fail due to a shared higher-scope fixture
which raised
+ Fixed collection error upon encountering an abstract class, including
abstract unittest.TestCase subclasses.
+ Fixed a regression in pytest 8.0.0 where package-scoped parameterized
items were not correctly reordered to minimize setups/teardowns in
OBS-URL: https://build.opensuse.org/request/show/1193499
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=86
- Add patch allow-re-run-regression.patch:
* Fix regression in 8.2.2 that did not allow test case reruns.
- Update to 8.2.2
* Support for Python 3.13 (beta1 at the time of writing).
* Fix `PermissionError` crashes arising from directories which are not
selected on the command-line.
* Keyboard interrupts and system exits are now properly handled during
the test collection.
* Fixed handling of 'Function not implemented' error under squashfuse_ll,
which is a different way to say that the mountpoint is read-only.
* Fix a regression in pytest 8.2.0 where the permissions of
automatically-created .pytest_cache directories became rwx------
instead of the expected rwxr-xr-x.
* Fix possible catastrophic performance slowdown on a certain
parametrization pattern involving many higher-scoped parameters.
* Fix a regression in pytest 8.2.0 where unittest class instances were
not released promptly on test teardown but only on session teardown.
* Fix possible “Directory not empty” crashes arising from concurent cache
dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
- Update to 8.2.0:
* A deprecation warning is now raised when implementations of one of the
following hooks request a deprecated py.path.local parameter.
* Added support for reading command line arguments from a file using the
prefix character @.
* Fixed a regression in pytest 8.0.0 where test classes containing
setup_method and tests using @staticmethod or @classmethod would crash
with AttributeError.
* pluggy>=1.5.0 is now required.
OBS-URL: https://build.opensuse.org/request/show/1179873
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=85
- Update to 8.2.2
* Support for Python 3.13 (beta1 at the time of writing).
* Fix `PermissionError` crashes arising from directories which are not
selected on the command-line.
* Keyboard interrupts and system exits are now properly handled during
the test collection.
* Fixed handling of 'Function not implemented' error under squashfuse_ll,
which is a different way to say that the mountpoint is read-only.
* Fix a regression in pytest 8.2.0 where the permissions of
automatically-created .pytest_cache directories became rwx------
instead of the expected rwxr-xr-x.
* Fix possible catastrophic performance slowdown on a certain
parametrization pattern involving many higher-scoped parameters.
* Fix a regression in pytest 8.2.0 where unittest class instances were
not released promptly on test teardown but only on session teardown.
* Fix possible “Directory not empty” crashes arising from concurent cache
dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
OBS-URL: https://build.opensuse.org/request/show/1179013
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=137
* A deprecation warning is now raised when implementations of one of the
following hooks request a deprecated py.path.local parameter.
* Added support for reading command line arguments from a file using the
prefix character @.
* Fixed a regression in pytest 8.0.0 where test classes containing
setup_method and tests using @staticmethod or @classmethod would crash
with AttributeError.
* pluggy>=1.5.0 is now required.
* Added PYTEST_VERSION environment variable which is defined at the start
of the pytest session and undefined afterwards.
* Improved namespace packages detection when consider_namespace_packages
is enabled.
* pytest.importorskip will now issue a warning if the module could be
found, but raised ImportError.
* Fixed error in pytest.approx when used with numpy arrays and comparing
with other types.
* Added the new consider_namespace_packages configuration option,
defaulting to False.
* Added the new verbosity_test_cases configuration option for fine-grained
control of test execution verbosity.
* --import-mode=importlib <import-mode-importlib> now tries to import
modules using the standard import mechanism.
* Added support for sys.last_exc for post-mortem debugging on Python>=3.12.
* Fixed a regression in pytest 8.0.0 that would cause test collection to
fail due to permission errors when using --pyargs.
* Fix the stacklevel used when warning about marks used on fixtures.
* Fix an edge case where ExceptionInfo._stringify_exception could crash.
* Fix an IndexError crash raising from getstatementrange_ast.
* PytestRemovedIn8Warning deprecation warnings are now errors by default.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=136
- update to 7.4.4:
* Fix non-string constants at the top of file being detected as
docstrings on Python>=3.8.
* Handle an edge case where :data:`sys.stderr` and
:data:`sys.__stderr__` might already be closed when
:ref:`faulthandler` is tearing down.
* Fixed tracebacks from collection errors not getting pruned.
* Removed unhelpful error message from assertion rewrite
mechanism when exceptions are raised in ``__iter__`` methods.
Now they are treated un-iterable instead.
OBS-URL: https://build.opensuse.org/request/show/1136073
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=83
* Fix non-string constants at the top of file being detected as
docstrings on Python>=3.8.
* Handle an edge case where :data:`sys.stderr` and
:data:`sys.__stderr__` might already be closed when
:ref:`faulthandler` is tearing down.
* Fixed tracebacks from collection errors not getting pruned.
* Removed unhelpful error message from assertion rewrite
mechanism when exceptions are raised in ``__iter__`` methods.
Now they are treated un-iterable instead.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=132
* 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
- update to 7.4.2:
* 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
OBS-URL: https://build.opensuse.org/request/show/1112015
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=80
* 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
- update to 7.3.2:
* 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/request/show/1093826
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=77
* 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
- update to 7.3.1:
* Python 3.12 support
- update to 7.3.0:
* --log-disable CLI option added to disable individual loggers.
* Added tmp_path_retention_count and tmp_path_retention_policy
configuration options to control how directories created by
the tmp_path fixture are kept.
* For list of omprovements and bugfixes, please read
https://docs.pytest.org/en/stable/changelog.html#pytest-7-3-0-2023-04-08
- update to 7.2.2:
* 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
OBS-URL: https://build.opensuse.org/request/show/1084940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=75
* 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
- Add fix-test-raising-repr.patch gh#pytest-dev/pytest#10473, this make it
compatible with latest release of python-exceptiongroup
- Remove python_module macro definition
- 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, ...].
(Note that str, which is itself a Sequence[str], is still treated as a
comma-delimited name list, as before).
- #10381: The --no-showlocals flag has been added. This can be passed
directly to tests to override --showlocals declared through addopts.
- #3426: 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 expresed instead.
- #7337: A warning is now emitted if a test function returns something other
than [None]{.title-ref}. This prevents a common mistake among beginners
that expect that returning a [bool]{.title-ref} (for example [return foo(a,
b) == result]{.title-ref}) would cause a test to pass or fail, instead of
using [assert]{.title-ref}.
- #8508: Introduce multiline display for warning matching via
:pypytest.warns{.interpreted-text role="func"} and enhance match comparison
for :py_pytest._code.ExceptionInfo.match{.interpreted-text role="func"} as
returned by :pypytest.raises{.interpreted-text role="func"}.
- #8646: Improve :pypytest.raises{.interpreted-text role="func"}. Previously
passing an empty tuple would give a confusing error. We now raise
immediately with a more helpful message.
- #9741: On Python 3.11, use the standard library's tomllib{.interpreted-text
role="mod"} to parse TOML. tomli{.interpreted-text role="mod"}` is no
longer a dependency on Python 3.11.
- #9742: Display assertion message without escaped newline characters with
-vv.
- #9823: Improved error message that is shown when no collector is found for
a given file.
- #9873: Some coloring has been added to the short test summary.
- #9883: Normalize the help description of all command-line options.
- #9920: Display full crash messages in short test summary info, when runng
in a CI environment.
- #9987: Added support for hidden configuration file by allowing .pytest.ini
as an alternative to pytest.ini.
# Bug Fixes
- #10150: sys.stdin{.interpreted-text role="data"} now contains all expected
methods of a file-like object when capture is enabled.
- #10382: Do not break into pdb when raise unittest.SkipTest() appears
top-level in a file.
- #7792: 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]{.title-ref}
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{.interpreted-text role="func"} instead.
- #9159: 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.
- #9877: Ensure caplog.get_records(when) returns current/correct data after
invoking caplog.clear().
# Improved Documentation
- #10344: Update information on writing plugins to use pyproject.toml instead
of setup.py.
- #9248: The documentation is now built using Sphinx 5.x (up from 3.x
previously).
- #9291: Update documentation on how pytest.warns{.interpreted-text
role="func"} affects DeprecationWarning{.interpreted-text role="class"}.
- pytest 7.1.3 (2022-08-31)
# Bug Fixes
- #10060: When running with --pdb, TestCase.tearDown is no longer called for
tests when the class has been skipped via unittest.skip or
pytest.mark.skip.
- #10190: Invalid XML characters in setup or teardown error messages are now
properly escaped for JUnit XML reports.
- #10230: Ignore .py files created by pyproject.toml-based editable builds
introduced in pip 21.3.
- #3396: Doctests now respect the --import-mode flag.
- #9514: Type-annotate FixtureRequest.param as Any as a stop gap measure
until 8073{.interpreted-text role="issue"} is fixed.
- #9791: Fixed a path handling code in rewrite.py that seems to work fine,
but was incorrect and fails in some systems.
- #9917: Fixed string representation for pytest.approx{.interpreted-text
role="func"} when used to compare tuples.
# Improved Documentation
- #9937: Explicit note that tmpdir{.interpreted-text role="fixture"} fixture
is discouraged in favour of tmp_path{.interpreted-text role="fixture"}.
OBS-URL: https://build.opensuse.org/request/show/1040176
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=71
- 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
- Using URLs for Patches looks like a great idea, but it is too
unstable. Please, don't.
- Add pytest-pr8664-py3.10-test_trial_error-fail.patch
* gh#pytest-dev/pytest#8664
- Add pytest-pr9417-py3.10.1-fail.patch
* gh#pytest-dev/pytest#9417
- Disable libalternatives usage until all python-pytest* packages
are on the same page (see sr#926611)
- Disable all update-alternatives install calls if libalternatives
is used.
- Use libalternatives instead of update-alternatives.
OBS-URL: https://build.opensuse.org/request/show/941699
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=67
- 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/865459
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=63
- 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
- Rebase and re-add tidy-up-embeddedfile.patch, it was only partially merged
upstream.
- update to 5.4.3
* 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/request/show/813080
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=56
* 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
- Update to 5.4.2
* 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.
- Update to 5.4.1:
* #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/request/show/802880
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=55
* 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
- Update to 5.3.5
* Captured output during teardown is shown with -rP
* Fix a pytest-xdist crash when dealing with exceptions raised
in subprocesses created by the multiprocessing module.
* FixtureDef objects now properly register their finalizers
with autouse and parameterized fixtures that execute before
them in the fixture stack so they are torn down at the right times,
and in the right order.
* Fix parsing of outcomes containing multiple errors with testdir results
OBS-URL: https://build.opensuse.org/request/show/776261
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=53
* Captured output during teardown is shown with -rP
* Fix a pytest-xdist crash when dealing with exceptions raised
in subprocesses created by the multiprocessing module.
* FixtureDef objects now properly register their finalizers
with autouse and parameterized fixtures that execute before
them in the fixture stack so they are torn down at the right times,
and in the right order.
* Fix parsing of outcomes containing multiple errors with testdir results
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=53
- Fix typo importlib_metadata -> importlib-metadata
- Update to 5.3.2:
* junitxml: Logs for failed test are now passed to junit report in
case the test fails during call phase.
* supporting files in the .pytest_cache directory are kept with
--cache-clear, which only clears cached values now.
* Fix assertion rewriting for egg-based distributions and editable
installs (pip install --editable).
* Improve check for misspelling of pytest.mark.parametrize.
* Handle exit.Exception raised in notify_exception (via pytest_internalerror), e.g. when quitting pdb from post mortem.
* default value of junit_family option will change to xunit2 in
pytest 6.0, given that this is the version supported by default in
modern tools that manipulate this type of file.
* In order to smooth the transition, pytest will issue a warning in
case the --junitxml option is given in the command line but
junit_family is not explicitly configured in pytest.ini.
OBS-URL: https://build.opensuse.org/request/show/764286
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=52
* junitxml: Logs for failed test are now passed to junit report in
case the test fails during call phase.
* supporting files in the .pytest_cache directory are kept with
--cache-clear, which only clears cached values now.
* Fix assertion rewriting for egg-based distributions and editable
installs (pip install --editable).
* Improve check for misspelling of pytest.mark.parametrize.
* Handle exit.Exception raised in notify_exception (via pytest_internalerror), e.g. when quitting pdb from post mortem.
* default value of junit_family option will change to xunit2 in
pytest 6.0, given that this is the version supported by default in
modern tools that manipulate this type of file.
* In order to smooth the transition, pytest will issue a warning in
case the --junitxml option is given in the command line but
junit_family is not explicitly configured in pytest.ini.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=50
- Update to 5.2.4:
* #6099: Fix --trace when used with parametrized functions.
* #6183: Using request as a parameter name in @pytest.mark.parametrize now produces a more user-friendly error.
* #6194: Fix incorrect discovery of non-test __init__.py files.
- Update to 5.2.2:
* #5206: Fix --nf to not forget about known nodeids with partial test selection.
* #5906: Fix crash with KeyboardInterrupt during --setup-show.
* #5946: Fixed issue when parametrizing fixtures with numpy arrays (and possibly other sequence-like types).
* #6044: Properly ignore FileNotFoundError exceptions when trying to remove old temporary directories, for instance when multiple processes try to remove the same directory (common with pytest-xdist for example).
OBS-URL: https://build.opensuse.org/request/show/749196
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=51
* #5206: Fix --nf to not forget about known nodeids with partial test selection.
* #5906: Fix crash with KeyboardInterrupt during --setup-show.
* #5946: Fixed issue when parametrizing fixtures with numpy arrays (and possibly other sequence-like types).
* #6044: Properly ignore FileNotFoundError exceptions when trying to remove old temporary directories, for instance when multiple processes try to remove the same directory (common with pytest-xdist for example).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=47
- Update to 5.2.1:
* #5902: Fix warnings about deprecated cmp attribute in attrs>=19.2.
* #1682: Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them as a keyword argument instead.
* #1682: The scope parameter of @pytest.fixture can now be a callable that receives the fixture name and the config object as keyword-only parameters. See the docs for more information.
* #5764: New behavior of the --pastebin option: failures to connect to the pastebin server are reported, without failing the pytest run
OBS-URL: https://build.opensuse.org/request/show/736696
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=50
* #5902: Fix warnings about deprecated cmp attribute in attrs>=19.2.
* #1682: Passing arguments to pytest.fixture() as positional arguments is deprecated - pass them as a keyword argument instead.
* #1682: The scope parameter of @pytest.fixture can now be a callable that receives the fixture name and the config object as keyword-only parameters. See the docs for more information.
* #5764: New behavior of the --pastebin option: failures to connect to the pastebin server are reported, without failing the pytest run
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=45
- Update to 5.1.2:
* #2270: Fixed self reference in function-scoped fixtures defined plugin classes: previously self would be a reference to a test class, not the plugin class.
* #570: Fixed long standing issue where fixture scope was not respected when indirect fixtures were used during parametrization.
* #5782: Fix decoding error when printing an error response from --pastebin.
* #5786: Chained exceptions in test and collection reports are now correctly serialized, allowing plugins like pytest-xdist to display them properly.
- Update to 5.1.1
* Removed:
+ Request.getfuncargvalue: use Request.getfixturevalue instead.
+ pytest.raises and pytest.warns no longer support strings as the second argument.
+ message parameter of pytest.raises.
+ pytest.raises, pytest.warns and ParameterSet.param now use native keyword-only
syntax. This might change the exception message from previous versions, but
they still raise TypeError on unknown keyword arguments as before.
+ pytest.config global variable.
+ tmpdir_factory.ensuretemp method.
+ pytest_logwarning hook.
+ RemovedInPytest4Warning warning type.
+ request is now a reserved name for fixtures.
+ Removed unused support code for unittest2.
+ pytest.fail, pytest.xfail and pytest.skip no longer support bytes
for the message argument.
* New Config.invocation_args attribute containing the unchanged arguments passed to pytest.main().
* New NUMBER option for doctests to ignore irrelevant differences in floating-point numbers
* JUnit XML now includes a timestamp and hostname in the testsuite tag.
* Fix RuntimeError/StopIteration when trying to collect package with “__init__.py” only.
* Warnings issued during pytest_configure are explicitly not treated as errors,
even if configured as such, because it otherwise completely breaks pytest.
* The XML file produced by --junitxml now correctly contain a <testsuites> root element.
* Fixed using multiple short options together in the command-line (for example -vs) in Python 3.8+.
OBS-URL: https://build.opensuse.org/request/show/729497
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=48
* #2270: Fixed self reference in function-scoped fixtures defined plugin classes: previously self would be a reference to a test class, not the plugin class.
* #570: Fixed long standing issue where fixture scope was not respected when indirect fixtures were used during parametrization.
* #5782: Fix decoding error when printing an error response from --pastebin.
* #5786: Chained exceptions in test and collection reports are now correctly serialized, allowing plugins like pytest-xdist to display them properly.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=41
* Removed:
+ Request.getfuncargvalue: use Request.getfixturevalue instead.
+ pytest.raises and pytest.warns no longer support strings as the second argument.
+ message parameter of pytest.raises.
+ pytest.raises, pytest.warns and ParameterSet.param now use native keyword-only
syntax. This might change the exception message from previous versions, but
they still raise TypeError on unknown keyword arguments as before.
+ pytest.config global variable.
+ tmpdir_factory.ensuretemp method.
+ pytest_logwarning hook.
+ RemovedInPytest4Warning warning type.
+ request is now a reserved name for fixtures.
+ Removed unused support code for unittest2.
+ pytest.fail, pytest.xfail and pytest.skip no longer support bytes
for the message argument.
* New Config.invocation_args attribute containing the unchanged arguments passed to pytest.main().
* New NUMBER option for doctests to ignore irrelevant differences in floating-point numbers
* JUnit XML now includes a timestamp and hostname in the testsuite tag.
* Fix RuntimeError/StopIteration when trying to collect package with “__init__.py” only.
* Warnings issued during pytest_configure are explicitly not treated as errors,
even if configured as such, because it otherwise completely breaks pytest.
* The XML file produced by --junitxml now correctly contain a <testsuites> root element.
* Fixed using multiple short options together in the command-line (for example -vs) in Python 3.8+.
* Fix issue where tmp_path and tmpdir would not remove directories containing
files marked as read-only, which could lead to pytest crashing when executed
a second time with the --basetemp option.
* Replace importlib_metadata backport with importlib.metadata from the standard
library on Python 3.8+.
* Improve type checking for some exception-raising functions (pytest.xfail,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=40
- Add setuptools requires as we still use entrypoints
- Python-pytest4 contains pytest4; python-pytest3 contains pytest3
the main package from now on will be tracking upstream releases
- Update to 5.0.1:
* Major update; from now on supporting only python3+
- Remove merged patches:
* fix_test_raises_exception_looks_iterable.patch
* importlib-metadata.patch
* new-pluggy.patch
* sphinx2.0.patch
OBS-URL: https://build.opensuse.org/request/show/717009
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=47
- update to 3.10.1
* Fix nested usage of debugging plugin (pdb)
* Block the stepwise plugin if cacheprovider is also blocked, as one
depends on the other.
* Parse minversion as an actual version and not as dot-separated strings.
* Fix duplicate collection due to multiple args matching the same packages.
* Fix item.nodeid with resolved symlinks.
* Fix collection of direct symlinked files, where the target does not match
python_files.
* Fix TypeError in report_collect with _collect_report_last_write.
OBS-URL: https://build.opensuse.org/request/show/648992
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=21
- update to 3.10.0
* Resume capturing output after continue with __import__("pdb").set_trace().
* Add -sw, --stepwise as an alternative to --lf -x for stopping at the first
failure, but starting the next test invocation from that test.
* Make --color emit colorful dots when not running in verbose mode.
* Improve performance with collection reporting in non-quiet mode with terminals.
* The "collecting …" message is only printed/updated every 0.5s.
* Fix false RemovedInPytest4Warning: usage of Session... is deprecated,
please use pytest warnings.
* Fix problems with running tests in package __init__.py files.
* Swallow warnings during anonymous compilation of source.
* Fix access denied error when deleting stale directories
created by tmpdir / tmp_path.
* Naming a fixture request will now raise a warning: the request fixture
is internal and should not be overwritten as it will lead to internal errors.
* Handle (ignore) exceptions raised during collection, e.g.
with Django's LazySettings proxy class.
* Added missing documentation about the fact that module names passed
to filter warnings are not regex-escaped.
* Display cachedir also in non-verbose mode if non-default.
* pdb: improve message about output capturing with set_trace.
* Do not display "IO-capturing turned off/on" when -s is used to avoid confusion.
* Improve message and stack level of warnings issued by monkeypatch.setenv
when the value of the environment variable is not a str.
* Fix "ValueError: Plugin already registered" with conftest plugins via symlink.
* Handle race condition between creation and deletion of temporary folders.
* Fix bug where the warning summary at the end of the test session was
not showing the test where the warning was originated.
* Fix regression when stacklevel for warnings was passed as positional
argument on python2.
OBS-URL: https://build.opensuse.org/request/show/646342
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=42
- update to 3.10.0
* Resume capturing output after continue with __import__("pdb").set_trace().
* Add -sw, --stepwise as an alternative to --lf -x for stopping at the first
failure, but starting the next test invocation from that test.
* Make --color emit colorful dots when not running in verbose mode.
* Improve performance with collection reporting in non-quiet mode with terminals.
* The "collecting …" message is only printed/updated every 0.5s.
* Fix false RemovedInPytest4Warning: usage of Session... is deprecated,
please use pytest warnings.
* Fix problems with running tests in package __init__.py files.
* Swallow warnings during anonymous compilation of source.
* Fix access denied error when deleting stale directories
created by tmpdir / tmp_path.
* Naming a fixture request will now raise a warning: the request fixture
is internal and should not be overwritten as it will lead to internal errors.
* Handle (ignore) exceptions raised during collection, e.g.
with Django's LazySettings proxy class.
* Added missing documentation about the fact that module names passed
to filter warnings are not regex-escaped.
* Display cachedir also in non-verbose mode if non-default.
* pdb: improve message about output capturing with set_trace.
* Do not display "IO-capturing turned off/on" when -s is used to avoid confusion.
* Improve message and stack level of warnings issued by monkeypatch.setenv
when the value of the environment variable is not a str.
* Fix "ValueError: Plugin already registered" with conftest plugins via symlink.
* Handle race condition between creation and deletion of temporary folders.
* Fix bug where the warning summary at the end of the test session was
not showing the test where the warning was originated.
* Fix regression when stacklevel for warnings was passed as positional
argument on python2.
OBS-URL: https://build.opensuse.org/request/show/646340
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=19
- update to 3.9.2
* Improve error message when a recursive dependency between fixtures is detected.
* Fix logging messages not shown in hooks pytest_sessionstart() and pytest_sessionfinish().
* Fix unescaped XML raw objects in JUnit report for skipped tests
* Python 2: safely format warning message about passing unicode strings to
warnings.warn, which may cause surprising MemoryError exception when monkey
patching warnings.warn itself.
* Improve error message when it is not possible to determine a function’s signature.
* Pin setuptools>=40.0 to support py_modules in setup.cfg
* Restore the tmpdir behaviour of symlinking the current test run.
* Fix filename reported by warnings.warn when using recwarn under python2.
* For test-suites containing test classes, the information about the subclassed
module is now output only if a higher verbosity level is specified (at least “-vv”).
* The following accesses have been documented as deprecated for years, but are now
actually emitting deprecation warnings.
* Add a Deprecation warning for pytest.ensuretemp as it was deprecated since a while.
* Improve usage errors messages by hiding internal details which can
be distracting and noisy.
This has the side effect that some error conditions that previously raised
generic errors (such as ValueError for unregistered marks) are now raising
Failed exceptions.
* Log messages generated in the collection phase are shown when live-logging
is enabled and/or when they are logged to a file.
* Introduce tmp_path as a fixture providing a Path object.
* Deprecation warnings are now shown even if you customize the warnings
filters yourself. In the previous version any customization would override
pytest’s filters and deprecation warnings would fall back to being hidden by default.
* Allow specification of timeout for Testdir.runpytest_subprocess() and Testdir.run().
* Add returncode argument to pytest.exit() to exit pytest with a specific return code.
* Reimplement pytest.deprecated_call using pytest.warns so it supports
OBS-URL: https://build.opensuse.org/request/show/644834
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=18
- update to 3.8.1
- drop remove_mock.patch
* .pytest_cache directory is now automatically ignored by Git
* Fix the following error during collection of tests inside packages:
'TypeError: object of type 'Package' has no len()'
* Fix bug where indirect parametrization would consider the scope of all
fixtures used by the test function to determine the parametrization scope,
and not only the scope of the fixtures being parametrized.
* Fix crash of the assertion rewriter if a test changed the current working
directory without restoring it afterwards.
* Fix issue that prevented some caplog properties (for example record_tuples)
from being available when entering the debugger with --pdb.
* Fix UnicodeDecodeError in python2.x when a class returns a non-ascii binary
__repr__ in an assertion which also contains non-ascii text.
- update to 3.8.1
- drop remove_mock.patch
* .pytest_cache directory is now automatically ignored by Git
* Fix the following error during collection of tests inside packages:
'TypeError: object of type 'Package' has no len()'
* Fix bug where indirect parametrization would consider the scope of all
fixtures used by the test function to determine the parametrization scope,
and not only the scope of the fixtures being parametrized.
* Fix crash of the assertion rewriter if a test changed the current working
directory without restoring it afterwards.
* Fix issue that prevented some caplog properties (for example record_tuples)
from being available when entering the debugger with --pdb.
* Fix UnicodeDecodeError in python2.x when a class returns a non-ascii binary
__repr__ in an assertion which also contains non-ascii text. (forwarded request 637650 from mimi_vx)
OBS-URL: https://build.opensuse.org/request/show/637656
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=41
- update to 3.8.1
- drop remove_mock.patch
* .pytest_cache directory is now automatically ignored by Git
* Fix the following error during collection of tests inside packages:
'TypeError: object of type 'Package' has no len()'
* Fix bug where indirect parametrization would consider the scope of all
fixtures used by the test function to determine the parametrization scope,
and not only the scope of the fixtures being parametrized.
* Fix crash of the assertion rewriter if a test changed the current working
directory without restoring it afterwards.
* Fix issue that prevented some caplog properties (for example record_tuples)
from being available when entering the debugger with --pdb.
* Fix UnicodeDecodeError in python2.x when a class returns a non-ascii binary
__repr__ in an assertion which also contains non-ascii text.
- update to 3.8.1
- drop remove_mock.patch
* .pytest_cache directory is now automatically ignored by Git
* Fix the following error during collection of tests inside packages:
'TypeError: object of type 'Package' has no len()'
* Fix bug where indirect parametrization would consider the scope of all
fixtures used by the test function to determine the parametrization scope,
and not only the scope of the fixtures being parametrized.
* Fix crash of the assertion rewriter if a test changed the current working
directory without restoring it afterwards.
* Fix issue that prevented some caplog properties (for example record_tuples)
from being available when entering the debugger with --pdb.
* Fix UnicodeDecodeError in python2.x when a class returns a non-ascii binary
__repr__ in an assertion which also contains non-ascii text.
OBS-URL: https://build.opensuse.org/request/show/637650
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=16
- update to 3.8.0
* Config.warn has been deprecated, it should be replaced by calls
to the standard warnings.warn.
* Node.warn now supports two signatures:
+ node.warn(PytestWarning("some message")): is now the recommended way
to call this function. The warning instance must be a PytestWarning
or subclass instance.
+ node.warn("CI", "some message"): this code/message form is now deprecated
and should be converted to the warning instance form above.
* RemovedInPytest4Warning and PytestExperimentalApiWarning are now part
of the public API and should be accessed using pytest.RemovedInPytest4Warning
and pytest.PytestExperimentalApiWarning.
* @pytest.mark.filterwarnings second parameter is no longer regex-escaped,
making it possible to actually use regular expressions to check the warning message.
+ Note: regex-escaping the match string was an implementation oversight
that might break test suites which depend on the old behavior.
* Internal pytest warnings are now issued using the standard warnings module,
making it possible to use the standard warnings filters to manage those
warnings. This introduces PytestWarning, PytestDeprecationWarning
and RemovedInPytest4Warning warning types as part of the public API.
* DeprecationWarning and PendingDeprecationWarning are now shown by default
if no other warning filter is configured. This makes pytest more compliant
with PEP-0506. See the docs for more info.
* Warnings are now captured and displayed during test collection.
* PYTEST_DISABLE_PLUGIN_AUTOLOAD environment variable disables
plugin auto-loading when set.
* Added the count option to console_output_style to enable displaying
the progress as a count instead of a percentage.
* Added support for ‘xfailed’ and ‘xpassed’ outcomes
to the pytester.RunResult.assert_outcomes signature.
OBS-URL: https://build.opensuse.org/request/show/636145
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=15
- update to 3.7.4
- drop 0001-Use-unittest.mock-if-is-only-aviable.patch
* Fix possible infinite recursion when writing .pyc files
* Cache plugin now obeys the -q flag when --last-failed and
--failed-first flags are used.
* Fix bad console output when using console_output_style=classic
* Fixtures during teardown can again use capsys and capfd to inspect
output captured during tests.
* Fix bugs where unicode arguments could not be passed to testdir.runpytest
on Python 2.
* Fix double collection of tests within packages when the filename starts
with a capital letter
* Fix collection error when specifying test functions directly in the command
line using test.py::test syntax together with --doctest-modules
* Fix stdout/stderr not getting captured when real-time cli logging is active.
* Fix bug where --show-capture=no option would still show logs printed during
fixture teardown.
* Fix issue where teardown of fixtures of consecutive sub-packages were
executed once, at the end of the outer package.
- update to 3.7.2
- add 0001-Use-unittest.mock-if-is-only-aviable.patch
* Fix filterwarnings not being registered as a builtin mark.
* Fix test collection from packages mixed with normal directories.
* Fix infinite recursion during collection if a pytest_ignore_collect
hook returns False instead of None.
* Fix bug where decorated fixtures would lose functionality
* Fix bug where importing modules or other objects with prefix pytest_ prefix
would raise a PluginValidationError.
* Fix AttributeError during teardown of TestCase subclasses which raise
OBS-URL: https://build.opensuse.org/request/show/633516
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=40
- update to 3.7.4
* Fix possible infinite recursion when writing .pyc files
* Cache plugin now obeys the -q flag when --last-failed and
--failed-first flags are used.
* Fix bad console output when using console_output_style=classic
* Fixtures during teardown can again use capsys and capfd to inspect
output captured during tests.
* Fix bugs where unicode arguments could not be passed to testdir.runpytest
on Python 2.
* Fix double collection of tests within packages when the filename starts
with a capital letter
* Fix collection error when specifying test functions directly in the command
line using test.py::test syntax together with --doctest-modules
* Fix stdout/stderr not getting captured when real-time cli logging is active.
* Fix bug where --show-capture=no option would still show logs printed during
fixture teardown.
* Fix issue where teardown of fixtures of consecutive sub-packages were
executed once, at the end of the outer package.
- update to 3.7.4
* Fix possible infinite recursion when writing .pyc files
* Cache plugin now obeys the -q flag when --last-failed and
--failed-first flags are used.
* Fix bad console output when using console_output_style=classic
* Fixtures during teardown can again use capsys and capfd to inspect
output captured during tests.
* Fix bugs where unicode arguments could not be passed to testdir.runpytest
on Python 2.
* Fix double collection of tests within packages when the filename starts
with a capital letter
OBS-URL: https://build.opensuse.org/request/show/633031
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=11
- update to 3.7.2
- add 0001-Use-unittest.mock-if-is-only-aviable.patch
* Fix filterwarnings not being registered as a builtin mark.
* Fix test collection from packages mixed with normal directories.
* Fix infinite recursion during collection if a pytest_ignore_collect
hook returns False instead of None.
* Fix bug where decorated fixtures would lose functionality
* Fix bug where importing modules or other objects with prefix pytest_ prefix
would raise a PluginValidationError.
* Fix AttributeError during teardown of TestCase subclasses which raise
an exception during __init__.
* Fix traceback reporting for exceptions with __cause__ cycles.
- update to 3.7.2
- add 0001-Use-unittest.mock-if-is-only-aviable.patch
* Fix filterwarnings not being registered as a builtin mark.
* Fix test collection from packages mixed with normal directories.
* Fix infinite recursion during collection if a pytest_ignore_collect
hook returns False instead of None.
* Fix bug where decorated fixtures would lose functionality
* Fix bug where importing modules or other objects with prefix pytest_ prefix
would raise a PluginValidationError.
* Fix AttributeError during teardown of TestCase subclasses which raise
an exception during __init__.
* Fix traceback reporting for exceptions with __cause__ cycles.
OBS-URL: https://build.opensuse.org/request/show/630989
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=10
- update to 3.7.1
- update to 3.7.0
* pytest_namespace has been deprecated.
* Calling a fixture function directly, as opposed to request them in a test
function, now issues a RemovedInPytest4Warning.
* New package fixture scope: fixtures are finalized when the last test of
a package finishes. This feature is considered experimental, so use it sparingly.
* Node.add_marker now supports an append=True/False parameter to determine
whether the mark comes last (default) or first.
* Fixture caplog now has a messages property, providing convenient access
to the format-interpolated log messages without the extra data provided by the formatter/handler.
* New --trace option to enter the debugger at the start of a test.
* Introduce pytester.copy_example as helper to do acceptance tests
against examples from the project.
- update to 3.7.1
* Raise immediately if approx() is given an expected value of a type it
doesn’t understand (e.g. strings, nested dicts, etc.).
* Correctly represent the dimensions of an numpy array when calling repr() on approx().
* Fix incompatibility with third party plugins during collection, which
produced the error object has no attribute '_collectfile'.
* Display the absolute path if cache_dir is not relative to the rootdir instead of failing.
* Fix compatibility problem with plugins and the warning code issued
by fixture functions when they are called directly.
* Fix infinite recursion in pytest.approx with arrays in numpy<1.13.
* iFix TypeError when the assertion message is bytes in python 3.
- update to 3.7.0
* pytest_namespace has been deprecated.
OBS-URL: https://build.opensuse.org/request/show/627904
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=39
- update to 3.7.1
- update to 3.7.1
* Raise immediately if approx() is given an expected value of a type it
doesn’t understand (e.g. strings, nested dicts, etc.).
* Correctly represent the dimensions of an numpy array when calling repr() on approx().
* Fix incompatibility with third party plugins during collection, which
produced the error object has no attribute '_collectfile'.
* Display the absolute path if cache_dir is not relative to the rootdir instead of failing.
* Fix compatibility problem with plugins and the warning code issued
by fixture functions when they are called directly.
* Fix infinite recursion in pytest.approx with arrays in numpy<1.13.
* iFix TypeError when the assertion message is bytes in python 3.
OBS-URL: https://build.opensuse.org/request/show/627901
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=8
- update to 3.7.0
* pytest_namespace has been deprecated.
* Calling a fixture function directly, as opposed to request them in a test
function, now issues a RemovedInPytest4Warning.
* New package fixture scope: fixtures are finalized when the last test of
a package finishes. This feature is considered experimental, so use it sparingly.
* Node.add_marker now supports an append=True/False parameter to determine
whether the mark comes last (default) or first.
* Fixture caplog now has a messages property, providing convenient access
to the format-interpolated log messages without the extra data provided by the formatter/handler.
* New --trace option to enter the debugger at the start of a test.
* Introduce pytester.copy_example as helper to do acceptance tests
against examples from the project.
- update to 3.7.0
* pytest_namespace has been deprecated.
* Calling a fixture function directly, as opposed to request them in a test
function, now issues a RemovedInPytest4Warning.
* New package fixture scope: fixtures are finalized when the last test of
a package finishes. This feature is considered experimental, so use it sparingly.
* Node.add_marker now supports an append=True/False parameter to determine
whether the mark comes last (default) or first.
* Fixture caplog now has a messages property, providing convenient access
to the format-interpolated log messages without the extra data provided by the formatter/handler.
* New --trace option to enter the debugger at the start of a test.
* Introduce pytester.copy_example as helper to do acceptance tests
against examples from the project.
OBS-URL: https://build.opensuse.org/request/show/627079
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=7
- update to pytest-3.6.3
- drop python_mock.patch
* Fix ImportWarning triggered by explicit relative imports in assertion-rewritten
package modules.
* Fix error in pytest.approx when dealing with 0-dimension numpy arrays.
* No longer raise ValueError when using the get_marker API.
* Fix problem where log messages with non-ascii characters would not appear
in the output log file.
* No longer raise AttributeError when legacy marks can't be stored in functions.
- update to pytest-3.6.3
- drop python_mock.patch
* Fix ImportWarning triggered by explicit relative imports in assertion-rewritten
package modules.
* Fix error in pytest.approx when dealing with 0-dimension numpy arrays.
* No longer raise ValueError when using the get_marker API.
* Fix problem where log messages with non-ascii characters would not appear
in the output log file.
* No longer raise AttributeError when legacy marks can't be stored in functions. (forwarded request 622958 from mimi_vx)
OBS-URL: https://build.opensuse.org/request/show/622959
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=38
- update to pytest-3.6.3
- drop python_mock.patch
* Fix ImportWarning triggered by explicit relative imports in assertion-rewritten
package modules.
* Fix error in pytest.approx when dealing with 0-dimension numpy arrays.
* No longer raise ValueError when using the get_marker API.
* Fix problem where log messages with non-ascii characters would not appear
in the output log file.
* No longer raise AttributeError when legacy marks can't be stored in functions.
- update to pytest-3.6.3
- drop python_mock.patch
* Fix ImportWarning triggered by explicit relative imports in assertion-rewritten
package modules.
* Fix error in pytest.approx when dealing with 0-dimension numpy arrays.
* No longer raise ValueError when using the get_marker API.
* Fix problem where log messages with non-ascii characters would not appear
in the output log file.
* No longer raise AttributeError when legacy marks can't be stored in functions.
OBS-URL: https://build.opensuse.org/request/show/622958
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest?expand=0&rev=5
- update to 3.4.2
- more in python-pytest.changes
- update to 3.4.2
* Removed progress information when capture option is no.
* Refactor check of bindir from exists to isdir.
* Fix TypeError issue when using approx with a Decimal value.
* Fix reference cycle generated when using the request fixture.
* [tool:pytest] sections in *.cfg files passed by the
-c option are now properly recognized.
OBS-URL: https://build.opensuse.org/request/show/584625
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=34
- update to 3.4.1
* Move import of doctest.UnexpectedException to top-level to avoid possible
errors when using --pdb.
* Added printing of captured stdout/stderr before entering pdb, and improved a
test which was giving false negatives about output capturing.
* Fix ordering of tests using parametrized fixtures which can lead to fixtures
being created more than necessary.
* Fix bug where logging happening at hooks outside of "test run" hooks would
cause an internal error.
* Detect arguments injected by unittest.mock.patch decorator correctly when
pypi mock.patch is installed and imported.
* Errors shown when a pytest.raises() with match= fails are now cleaner
on what happened: When no exception was raised, the "matching '...'" part got
removed as it falsely implies that an exception was raised but it didn't
match. When a wrong exception was raised, it's now thrown
instead of complaining about the unmatched text.
* Add Sphinx parameter docs for match and message args to pytest.raises
* Rename ParameterSet._for_parameterize() to _for_parametrize() in
order to comply with the naming convention.
- update to 3.4.1
* Move import of doctest.UnexpectedException to top-level to avoid possible
errors when using --pdb.
* Added printing of captured stdout/stderr before entering pdb, and improved a
test which was giving false negatives about output capturing.
* Fix ordering of tests using parametrized fixtures which can lead to fixtures
being created more than necessary.
* Fix bug where logging happening at hooks outside of "test run" hooks would
cause an internal error.
* Detect arguments injected by unittest.mock.patch decorator correctly when (forwarded request 579197 from mimi_vx)
OBS-URL: https://build.opensuse.org/request/show/579198
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=32
- update to version 3.2.3:
* Bug Fixes
+ Fix crash in tab completion when no prefix is given. (#2748)
+ The equality checking function (__eq__) of MarkDecorator returns
False if one object is not an instance of MarkDecorator. (#2758)
+ When running pytest --fixtures-per-test: don’t crash if an item
has no _fixtureinfo attribute (e.g. doctests) (#2788)
* Improved Documentation
+ In help text of -k option, add example of using not to not
select certain tests whose names match the provided
expression. (#1442)
+ Add note in parametrize.rst about calling metafunc.parametrize
multiple times. (#1548)
* Trivial/Internal Changes
+ Set xfail_strict=True in pytest’s own test suite to catch
expected failures as soon as they start to pass. (#2722)
+ Fix typo in example of passing a callable to markers (in
example/markers.rst) (#2765)
- Fix python-py version requirement.
- Update to 3.2.2:
* Bug Fixes
- Calling the deprecated request.getfuncargvalue() now shows the
source of the call. (#2681)
- Allow tests declared as @staticmethod to use fixtures. (#2699)
- Fixed edge-case during collection: attributes which raised
pytest.fail when accessed would abort the entire collection.
(#2707)
- Fix ReprFuncArgs with mixed unicode and UTF-8 args. (#2731)
* Improved Documentation
OBS-URL: https://build.opensuse.org/request/show/537603
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=27
- Update to version 2.5.2:
- fix issue409 -- better interoperate with cx_freeze by not
trying to import from collections.abc which causes problems
for py27/cx_freeze. Thanks Wolfgang L. for reporting and tracking it down.
- fixed docs and code to use "pytest" instead of "py.test" almost everywhere.
Thanks Jurko Gospodnetic for the complete PR.
- fix issue425: mention at end of "py.test -h" that --markers
and --fixtures work according to specified test path (or current dir)
- fix issue413: exceptions with unicode attributes are now printed
correctly also on python2 and with pytest-xdist runs. (the fix
requires py-1.4.20)
- copy, cleanup and integrate py.io capture
from pylib 1.4.20.dev2 (rev 13d9af95547e)
- address issue416: clarify docs as to conftest.py loading semantics
- fix issue429: comparing byte strings with non-ascii chars in assert
expressions now work better. Thanks Floris Bruynooghe.
- make capfd/capsys.capture private, its unused and shouldnt be exposed
OBS-URL: https://build.opensuse.org/request/show/225731
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=11
- Update to 2.5.1:
+ merge new documentation styling PR from Tobias Bieniek.
+ fix issue403: allow parametrize of multiple same-name functions within
a collection node.
+ Allow parameterized fixtures to specify the ID of the parameters by
adding an ids argument to pytest.fixture() and pytest.yield_fixture().
+ fix issue404 by always using the binary xml escape in the junitxml
plugin.
+ fix issue407: fix addoption docstring to point to argparse instead of
optparse.
* 2.5.0:
+ dropped python2.5 from automated release testing of pytest itself
which means it's probably going to break soon
+ simplified and fixed implementation for calling finalizers when
parametrized fixtures or function arguments are involved. finalization
is now performed lazily at setup time instead of in the "teardown phase".
+ PR90: add --color=yes|no|auto option to force terminal coloring
mode ("auto" is default).
+ fix issue319 - correctly show unicode in assertion errors. Also means
we depend on py>=1.4.19 now.
+ fix issue396 - correctly sort and finalize class-scoped parametrized
tests independently from number of methods on the class.
+ refix issue323 in a better way -- parametrization should now never
cause Runtime Recursion errors because the underlying algorithm
for re-ordering tests per-scope/per-fixture is not recursive
anymore
+ fix issue290 - there is preliminary support now for parametrizing
with repeated same values (sometimes useful to to test if calling
a second time works as with the first time).
+ close issue240 - document precisely how pytest module importing (forwarded request 212738 from mvyskocil)
OBS-URL: https://build.opensuse.org/request/show/212740
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pytest?expand=0&rev=9
+Fix crash with `assert testcase is not None` assertion failure when re-running unittest tests using plugins like pytest-rerunfailures. Regressed in 8.2.2.
oid sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977
size 1427980
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.