pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/py-test py-test: updated to 4.1.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/66eec71c380a
branches:  trunk
changeset: 317448:66eec71c380a
user:      adam <adam%pkgsrc.org@localhost>
date:      Mon Jan 07 08:38:01 2019 +0000

description:
py-test: updated to 4.1.0

pytest 4.1.0:
Removals
* pytest.mark.parametrize: in previous versions, errors raised by id functions were suppressed and changed into warnings. Now the exceptions are propagated, along with a pytest message informing the 
node, parameter value and index where the exception occurred.
* Remove legacy internal warnings system: config.warn, Node.warn. The pytest_logwarning now issues a warning when implemented.
See our docs on information on how to update your code.
* Removed support for yield tests - they are fundamentally broken because they don?t support fixtures properly since collection and test execution were separated.
See our docs on information on how to update your code.
* Removed support for applying marks directly to values in @pytest.mark.parametrize. Use pytest.param instead.
See our docs on information on how to update your code.
* Removed Metafunc.addcall. This was the predecessor mechanism to @pytest.mark.parametrize.
See our docs on information on how to update your code.
* Removed support for passing strings to pytest.main. Now, always pass a list of strings instead.
See our docs on information on how to update your code.
* [pytest] section in setup.cfg files is not longer supported, use [tool:pytest] instead. setup.cfg files are meant for use with distutils, and a section named pytest has notoriously been a source of 
conflicts and bugs.
Note that for pytest.ini and tox.ini files the section remains [pytest].
* Removed the deprecated compat properties for node.Class/Function/Module - use pytest.Class/Function/Module now.
See our docs on information on how to update your code.
* Removed the implementation of the pytest_namespace hook.
See our docs on information on how to update your code.
* Removed request.cached_setup. This was the predecessor mechanism to modern fixtures.
See our docs on information on how to update your code.
* Removed the deprecated PyCollector.makeitem method. This method was made public by mistake a long time ago.
* Removed support to define fixtures using the pytest_funcarg__ prefix. Use the @pytest.fixture decorator instead.
See our docs on information on how to update your code.
* Calling fixtures directly is now always an error instead of a warning.
See our docs on information on how to update your code.
* Remove Node.get_marker(name) the return value was not usable for more than a existence check.
Use Node.get_closest_marker(name) as a replacement.
* The deprecated record_xml_property fixture has been removed, use the more generic record_property instead.
See our docs for more information.
* An error is now raised if the pytest_plugins variable is defined in a non-top-level conftest.py file (i.e., not residing in the rootdir).
See our docs for more information.
* Remove testfunction.markername attributes - use Node.iter_markers(name=None) to iterate them.

Deprecations
* Deprecated the pytest.config global.
See https://docs.pytest.org/en/latest/deprecations.html#pytest-config-global for rationale.
* Passing the message parameter of pytest.raises now issues a DeprecationWarning.
It is a common mistake to think this parameter will match the exception message, while in fact it only serves to provide a custom message in case the pytest.raises check fails. To avoid this mistake 
and because it is believed to be little used, pytest is deprecating it without providing an alternative for the moment.
If you have concerns about this, please comment on issue 3974.
* Deprecated raises(..., 'code(as_a_string)') and warns(..., 'code(as_a_string)').
See https://docs.pytest.org/en/latest/deprecations.html#raises-warns-exec for rationale and examples.

Features
* A warning is now issued when assertions are made for None.
This is a common source of confusion among new users, which write:
assert mocked_object.assert_called_with(3, 4, 5, key="value")
When they should write:
mocked_object.assert_called_with(3, 4, 5, key="value")
Because the assert_called_with method of mock objects already executes an assertion.
This warning will not be issued when None is explicitly checked. An assertion like:
assert variable is None
will not issue the warning.
* Richer equality comparison introspection on AssertionError for objects created using attrs or dataclasses (Python 3.7+, backported to 3.6).
* CACHEDIR.TAG files are now created inside cache directories.
Those files are part of the Cache Directory Tagging Standard, and can be used by backup or synchronization programs to identify pytest?s cache directory as such.
* pytest.outcomes.Exit is derived from SystemExit instead of KeyboardInterrupt. This allows us to better handle pdb exiting.
* Updated the --collect-only option to display test descriptions when ran using --verbose.
* Restructured ExceptionInfo object construction and ensure incomplete instances have a repr/str.
* pdb: added support for keyword arguments with pdb.set_trace.
It handles header similar to Python 3.7 does it, and forwards any other keyword arguments to the Pdb constructor.
This allows for __import__("pdb").set_trace(skip=["foo.*"]).
* Added ini parameter junit_duration_report to optionally report test call durations, excluding setup and teardown times.
The JUnit XML specification and the default pytest behavior is to include setup and teardown times in the test duration report. You can include just the call durations instead (excluding setup and 
teardown) by adding this to your pytest.ini file:
[pytest]
junit_duration_report = call
* -ra now will show errors and failures last, instead of as the first items in the summary.
This makes it easier to obtain a list of errors and failures to run tests selectively.
* pytest.importorskip now supports a reason parameter, which will be shown when the requested module cannot be imported.

Bug Fixes
* -p now accepts its argument without a space between the value, for example -pmyplugin.
* approx again works with more generic containers, more precisely instances of Iterable and Sized instead of more restrictive Sequence.
* Ensure that node ids are printable.
* Fixed raises(..., 'code(string)') frame filename.
* Display actual test ids in --collect-only.

Improved Documentation
* Markers example documentation page updated to support latest pytest version.
* Update cache documentation example to correctly show cache hit and miss.
* Improved detailed summary report documentation.

Trivial/Internal Changes
* Changed the deprecation type of --result-log to PytestDeprecationWarning.

diffstat:

 devel/py-test/Makefile |   4 ++--
 devel/py-test/distinfo |  10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diffs (27 lines):

diff -r 3349a8bd18a4 -r 66eec71c380a devel/py-test/Makefile
--- a/devel/py-test/Makefile    Mon Jan 07 08:36:03 2019 +0000
+++ b/devel/py-test/Makefile    Mon Jan 07 08:38:01 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.68 2018/12/14 14:44:21 adam Exp $
+# $NetBSD: Makefile,v 1.69 2019/01/07 08:38:01 adam Exp $
 
-DISTNAME=      pytest-4.0.2
+DISTNAME=      pytest-4.1.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/py//}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pytest/}
diff -r 3349a8bd18a4 -r 66eec71c380a devel/py-test/distinfo
--- a/devel/py-test/distinfo    Mon Jan 07 08:36:03 2019 +0000
+++ b/devel/py-test/distinfo    Mon Jan 07 08:38:01 2019 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.62 2018/12/14 14:44:21 adam Exp $
+$NetBSD: distinfo,v 1.63 2019/01/07 08:38:01 adam Exp $
 
-SHA1 (pytest-4.0.2.tar.gz) = 79de8e2e52adc537d3d124a751e3ab1e581f78f2
-RMD160 (pytest-4.0.2.tar.gz) = a75e9cdff84591bd9c92c68836b943b349058119
-SHA512 (pytest-4.0.2.tar.gz) = 6c77024cdd0a14ad417d7acece89e6b06530ceec1d6950a7cae265bddff44182d1839ced59c34ed9add8eb55214d69f01bd77499b8d3b483ada5ba47bca28802
-Size (pytest-4.0.2.tar.gz) = 904958 bytes
+SHA1 (pytest-4.1.0.tar.gz) = f50c439fc55a047de08270b2dee26bdc115ac106
+RMD160 (pytest-4.1.0.tar.gz) = 5713ad5a5494f0d5a5259d35f6d748e850b01098
+SHA512 (pytest-4.1.0.tar.gz) = 30cbefa066728b72063b21190df74b7cbf56d045e87307915af45e3ff5cdbb76c79dd0c2428425c2db9f8f0ba99a116d787526dc806801787b89a7862dd9e56e
+Size (pytest-4.1.0.tar.gz) = 902235 bytes



Home | Main Index | Thread Index | Old Index