* 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
* #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
* #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
* #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
- 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/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.
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
* 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.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.
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