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 7.2.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e663b4bb6bd1
branches:  trunk
changeset: 387356:e663b4bb6bd1
user:      adam <adam%pkgsrc.org@localhost>
date:      Fri Oct 28 08:58:12 2022 +0000

description:
py-test: updated to 7.2.0

pytest 7.2.0 (2022-10-23)

Deprecations
* Update pytest.PytestUnhandledCoroutineWarning to a deprecation; it will raise an error in pytest 8.

* pytest no longer depends on the py library. pytest provides a vendored copy of py.error and py.path modules but will use the py library if it is installed. If you need other py.* modules, continue 
to install the deprecated py library separately, otherwise it can usually be removed as a dependency.

* Deprecate configuring hook specs/impls using attributes/marks.

Instead use pytest.hookimpl() and pytest.hookspec(). For more details, see the docs.

* The functionality for running tests written for nose has been officially deprecated.

This includes:

Plain setup and teardown functions and methods: this might catch users by surprise, as setup() and teardown() are not pytest idioms, but part of the nose support.
Setup/teardown using the @with_setup decorator.
For more details, consult the deprecation docs.

* A deprecation warning is now emitted if a test function returns something other than None. This prevents a common mistake among beginners that expect that returning a bool (for example return 
foo(a, b) == result) would cause a test to pass or fail, instead of using assert. The plan is to make returning non-None from tests an error in the future.
Features
* Added shell-style wildcard support to testpaths.

Improvements
* @pytest.mark.parametrize() (and similar functions) now accepts any Sequence[str] for the argument names, instead of just list[str] and tuple[str, ...].

(Note that str, which is itself a Sequence[str], is still treated as a comma-delimited name list, as before).

* The --no-showlocals flag has been added. This can be passed directly to tests to override --showlocals declared through addopts.

* Assertion failures with strings in NFC and NFD forms that normalize to the same string now have a dedicated error message detailing the issue, and their utf-8 representation is expressed instead.

* Introduce multiline display for warning matching via pytest.warns() and enhance match comparison for _pytest._code.ExceptionInfo.match() as returned by pytest.raises().

* Improve pytest.raises(). Previously passing an empty tuple would give a confusing error. We now raise immediately with a more helpful message.

* On Python 3.11, use the standard library’s tomllib to parse TOML.

tomli is no longer a dependency on Python 3.11.

* Display assertion message without escaped newline characters with -vv.

* Improved error message that is shown when no collector is found for a given file.

* Some coloring has been added to the short test summary.

* Normalize the help description of all command-line options.

* Display full crash messages in short test summary info, when running in a CI environment.

* Added support for hidden configuration file by allowing .pytest.ini as an alternative to pytest.ini.

Bug Fixes
* sys.stdin now contains all expected methods of a file-like object when capture is enabled.

* Do not break into pdb when raise unittest.SkipTest() appears top-level in a file.

* Marks are now inherited according to the full MRO in test classes. Previously, if a test class inherited from two or more classes, only marks from the first super-class would apply.

When inheriting marks from super-classes, marks from the sub-classes are now ordered before marks from the super-classes, in MRO order. Previously it was the reverse.

When inheriting marks from super-classes, the pytestmark attribute of the sub-class now only contains the marks directly applied to it. Previously, it also contained marks from its super-classes. 
Please note that this attribute should not normally be accessed directly; use pytest.Node.iter_markers() instead.

* Showing inner exceptions by forcing native display in ExceptionGroups even when using display options other than --tb=native. A temporary step before full implementation of pytest-native display 
for inner exceptions in ExceptionGroups.

* Ensure caplog.get_records(when) returns current/correct data after invoking caplog.clear().

Improved Documentation
* Update information on writing plugins to use pyproject.toml instead of setup.py.
* The documentation is now built using Sphinx 5.x (up from 3.x previously).
* Update documentation on how pytest.warns() affects DeprecationWarning.
Trivial/Internal Changes
* Made _pytest.doctest.DoctestItem export pytest.DoctestItem for type check and runtime purposes. Made _pytest.doctest use internal APIs to avoid circular imports.
* Made _pytest.compat re-export importlib_metadata in the eyes of type checkers.
* Fix default encoding warning (EncodingWarning) in cacheprovider
* Improve the error message when we attempt to access a fixture that has been torn down. Add an additional sentence to the docstring explaining when it’s not a good idea to call getfixturevalue.

diffstat:

 devel/py-test/Makefile |  27 +++++++++++++--------------
 devel/py-test/PLIST    |  14 +++++++++++++-
 devel/py-test/distinfo |   8 ++++----
 3 files changed, 30 insertions(+), 19 deletions(-)

diffs (112 lines):

diff -r 4266eb908094 -r e663b4bb6bd1 devel/py-test/Makefile
--- a/devel/py-test/Makefile    Fri Oct 28 08:44:04 2022 +0000
+++ b/devel/py-test/Makefile    Fri Oct 28 08:58:12 2022 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.109 2022/09/02 14:47:15 adam Exp $
+# $NetBSD: Makefile,v 1.110 2022/10/28 08:58:12 adam Exp $
 
-DISTNAME=      pytest-7.1.3
+DISTNAME=      pytest-7.2.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME:S/py//}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=p/pytest/}
@@ -10,18 +10,14 @@
 COMMENT=       Python testing tool
 LICENSE=       mit
 
+BUILD_DEPENDS+=        ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
+BUILD_DEPENDS+=        ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
+BUILD_DEPENDS+=        ${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm
 DEPENDS+=      ${PYPKGPREFIX}-attrs>=19.2.0:../../devel/py-attrs
+DEPENDS+=      ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
 DEPENDS+=      ${PYPKGPREFIX}-iniconfig-[0-9]*:../../devel/py-iniconfig
 DEPENDS+=      ${PYPKGPREFIX}-packaging-[0-9]*:../../devel/py-packaging
 DEPENDS+=      ${PYPKGPREFIX}-pluggy>=0.12:../../devel/py-pluggy
-DEPENDS+=      ${PYPKGPREFIX}-py>=1.8.2:../../devel/py-py
-DEPENDS+=      ${PYPKGPREFIX}-tomli>=1.0.0:../../textproc/py-tomli
-DEPENDS+=      ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
-
-BUILD_DEPENDS+=        ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
-BUILD_DEPENDS+=        ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
-BUILD_DEPENDS+=        ${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm
-
 TEST_DEPENDS+= ${PYPKGPREFIX}-argcomplete-[0-9]*:../../devel/py-argcomplete
 TEST_DEPENDS+= ${PYPKGPREFIX}-hypothesis>=3.56:../../devel/py-hypothesis
 TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
@@ -38,10 +34,13 @@
 PYTHON_VERSIONS_INCOMPATIBLE=  27
 
 .include "../../lang/python/pyversion.mk"
-
 .if ${_PYTHON_VERSION} == 37
 DEPENDS+=      ${PYPKGPREFIX}-importlib-metadata>=0.12:../../devel/py-importlib-metadata
 .endif
+.if ${_PYTHON_VERSION} < 311
+DEPENDS+=      ${PYPKGPREFIX}-exceptiongroup>=1.0.0:../../devel/py-exceptiongroup
+DEPENDS+=      ${PYPKGPREFIX}-tomli>=1.0.0:../../textproc/py-tomli
+.endif
 
 post-install:
        cd ${DESTDIR}${PREFIX}/bin && \
@@ -49,10 +48,10 @@
        ${MV} pytest pytest-${PYVERSSUFFIX} || ${TRUE}
 
 # needs to be installed before testing
-# as of 7.0.1
-# 3057 passed, 83 skipped, 9 xfailed
+# as of 7.2.0
+# 6 failed, 3324 passed, 39 skipped, 11 xfailed
 do-test:
-       cd ${WRKSRC}/testing && pytest-${PYVERSSUFFIX}
+       cd ${WRKSRC}/testing && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX}
 
 .include "../../lang/python/egg.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 4266eb908094 -r e663b4bb6bd1 devel/py-test/PLIST
--- a/devel/py-test/PLIST       Fri Oct 28 08:44:04 2022 +0000
+++ b/devel/py-test/PLIST       Fri Oct 28 08:58:12 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.22 2022/04/05 19:11:12 adam Exp $
+@comment $NetBSD: PLIST,v 1.23 2022/10/28 08:58:12 adam Exp $
 bin/py.test-${PYVERSSUFFIX}
 bin/pytest-${PYVERSSUFFIX}
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
@@ -35,6 +35,15 @@
 ${PYSITELIB}/_pytest/_io/wcwidth.py
 ${PYSITELIB}/_pytest/_io/wcwidth.pyc
 ${PYSITELIB}/_pytest/_io/wcwidth.pyo
+${PYSITELIB}/_pytest/_py/__init__.py
+${PYSITELIB}/_pytest/_py/__init__.pyc
+${PYSITELIB}/_pytest/_py/__init__.pyo
+${PYSITELIB}/_pytest/_py/error.py
+${PYSITELIB}/_pytest/_py/error.pyc
+${PYSITELIB}/_pytest/_py/error.pyo
+${PYSITELIB}/_pytest/_py/path.py
+${PYSITELIB}/_pytest/_py/path.pyc
+${PYSITELIB}/_pytest/_py/path.pyo
 ${PYSITELIB}/_pytest/_version.py
 ${PYSITELIB}/_pytest/_version.pyc
 ${PYSITELIB}/_pytest/_version.pyo
@@ -204,6 +213,9 @@
 ${PYSITELIB}/_pytest/warnings.py
 ${PYSITELIB}/_pytest/warnings.pyc
 ${PYSITELIB}/_pytest/warnings.pyo
+${PYSITELIB}/py.py
+${PYSITELIB}/py.pyc
+${PYSITELIB}/py.pyo
 ${PYSITELIB}/pytest/__init__.py
 ${PYSITELIB}/pytest/__init__.pyc
 ${PYSITELIB}/pytest/__init__.pyo
diff -r 4266eb908094 -r e663b4bb6bd1 devel/py-test/distinfo
--- a/devel/py-test/distinfo    Fri Oct 28 08:44:04 2022 +0000
+++ b/devel/py-test/distinfo    Fri Oct 28 08:58:12 2022 +0000
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.96 2022/09/02 14:47:15 adam Exp $
+$NetBSD: distinfo,v 1.97 2022/10/28 08:58:12 adam Exp $
 
-BLAKE2s (pytest-7.1.3.tar.gz) = f703c39c484005c4a2acaa5285efbf150acddde4cdc987653b48e9e84c19fef5
-SHA512 (pytest-7.1.3.tar.gz) = 07a6b30fc90776dcd59972e2e4fc03ba02270bf1460faba765bfcf8b04888797be15a16a2ae947d97eb523250be200297d8a442870b3b6d56ae776b28fd18dce
-Size (pytest-7.1.3.tar.gz) = 1257801 bytes
+BLAKE2s (pytest-7.2.0.tar.gz) = 98bd9c1e9b400e0fc3d8813b318a82d3dba5e06bbe916f8fc283a3b65655f1ac
+SHA512 (pytest-7.2.0.tar.gz) = a16b034c8522f0aa6ee9541b07b79be713565a6e755ab0489b38c2b0a0ed9f7857c87f952ff24c199a2e4c0d71ee26e918dd06abfe994d30ac90e32ae3e8c4d1
+Size (pytest-7.2.0.tar.gz) = 1300608 bytes


Home | Main Index | Thread Index | Old Index