Tue Apr 30 04:01:25 2024 UTC (28d)
py-test: updated to 8.2.0

pytest 8.2.0 (2024-04-27)

Deprecations

A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:

pytest_ignore_collect - the path parameter - use collection_path instead.
pytest_collect_file - the path parameter - use file_path instead.
pytest_pycollect_makemodule - the path parameter - use module_path instead.
pytest_report_header - the startdir parameter - use start_path instead.
pytest_report_collectionfinish - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0. The old parameters will be removed in pytest 9.0.0.

See py.path.local arguments for hooks replaced with pathlib.Path for more details.

Features

Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @tests.txt. The file must have one argument per line.

See Read arguments from file for details.

Improvements

pytest.importorskip() will now issue a warning if the module could be found, but raised ImportError instead of ModuleNotFoundError.

The warning can be suppressed by passing exc_type=ImportError to pytest.importorskip().

See pytest.importorskip default behavior regarding ImportError for details.

For unittest-based tests, exceptions during class cleanup (as raised by functions registered with TestCase.addClassCleanup) are now reported instead of silently failing.

Text is no longer truncated in the short test summary info section when -vv is given.

Improved namespace packages detection when consider_namespace_packages is enabled, covering more situations (like editable installs).

Added PYTEST_VERSION environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value of pytest.__version__, and among other things can be used to easily check if code is running from within a pytest run.

Bug Fixes

Fixed a regression in pytest 8.0.0 where test classes containing setup_method and tests using @staticmethod or @classmethod would crash with AttributeError: 'NoneType' object has no attribute 'setup_method'.

Now the request.instance attribute of tests using @staticmethod and @classmethod is no longer None, but a fresh instance of the class, like in non-static methods. Previously it was None, and all fixtures of such tests would share a single self.

Fixed issue where fixtures adding their finalizer multiple times to fixtures they request would cause unreliable and non-intuitive teardown ordering in some instances.

Fixed a bug with --importmode=importlib and --doctest-modules where child modules did not appear as attributes in parent modules.

Fixed some instances where teardown of higher-scoped fixtures was not happening in the reverse order they were initialized in.

Trivial/Internal Changes

pluggy>=1.5.0 is now required.
cache: create supporting files (CACHEDIR.TAG, .gitignore, etc.) in a temporary directory to provide atomic semantics.


(adam)
diff -r1.126 -r1.127 pkgsrc/devel/py-test/Makefile
diff -r1.111 -r1.112 pkgsrc/devel/py-test/distinfo

cvs diff -r1.126 -r1.127 pkgsrc/devel/py-test/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/py-test/Makefile 2024/04/26 19:56:28 1.126
+++ pkgsrc/devel/py-test/Makefile 2024/04/30 04:01:25 1.127
@@ -1,31 +1,31 @@ @@ -1,31 +1,31 @@
1# $NetBSD: Makefile,v 1.126 2024/04/26 19:56:28 adam Exp $ 1# $NetBSD: Makefile,v 1.127 2024/04/30 04:01:25 adam Exp $
2 2
3DISTNAME= pytest-8.1.2 3DISTNAME= pytest-8.2.0
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/py//} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/py//}
5CATEGORIES= devel python 5CATEGORIES= devel python
6MASTER_SITES= ${MASTER_SITE_PYPI:=p/pytest/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=p/pytest/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://pytest.org/ 9HOMEPAGE= https://pytest.org/
10COMMENT= Python testing tool 10COMMENT= Python testing tool
11LICENSE= mit 11LICENSE= mit
12 12
13TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=61:../../devel/py-setuptools 13TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=61:../../devel/py-setuptools
14TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm>=6.2.3:../../devel/py-setuptools_scm 14TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm>=6.2.3:../../devel/py-setuptools_scm
15TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel 15TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
16DEPENDS+= ${PYPKGPREFIX}-iniconfig-[0-9]*:../../devel/py-iniconfig 16DEPENDS+= ${PYPKGPREFIX}-iniconfig-[0-9]*:../../devel/py-iniconfig
17DEPENDS+= ${PYPKGPREFIX}-packaging-[0-9]*:../../devel/py-packaging 17DEPENDS+= ${PYPKGPREFIX}-packaging-[0-9]*:../../devel/py-packaging
18DEPENDS+= ${PYPKGPREFIX}-pluggy>=1.4:../../devel/py-pluggy 18DEPENDS+= ${PYPKGPREFIX}-pluggy>=1.5:../../devel/py-pluggy
19TEST_DEPENDS+= ${PYPKGPREFIX}-argcomplete-[0-9]*:../../devel/py-argcomplete 19TEST_DEPENDS+= ${PYPKGPREFIX}-argcomplete-[0-9]*:../../devel/py-argcomplete
20TEST_DEPENDS+= ${PYPKGPREFIX}-attrs>=19.2:../../devel/py-attrs 20TEST_DEPENDS+= ${PYPKGPREFIX}-attrs>=19.2:../../devel/py-attrs
21TEST_DEPENDS+= ${PYPKGPREFIX}-hypothesis>=3.56:../../devel/py-hypothesis 21TEST_DEPENDS+= ${PYPKGPREFIX}-hypothesis>=3.56:../../devel/py-hypothesis
22TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock 22TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
23TEST_DEPENDS+= ${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose 23TEST_DEPENDS+= ${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose
24TEST_DEPENDS+= ${PYPKGPREFIX}-pygments>=2.7.2:../../textproc/py-pygments 24TEST_DEPENDS+= ${PYPKGPREFIX}-pygments>=2.7.2:../../textproc/py-pygments
25TEST_DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests 25TEST_DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests
26TEST_DEPENDS+= ${PYPKGPREFIX}-xmlschema-[0-9]*:../../textproc/py-xmlschema 26TEST_DEPENDS+= ${PYPKGPREFIX}-xmlschema-[0-9]*:../../textproc/py-xmlschema
27 27
28USE_LANGUAGES= # none 28USE_LANGUAGES= # none
29USE_TOOLS+= bash:build 29USE_TOOLS+= bash:build
30 30
31PYTHON_VERSIONS_INCOMPATIBLE= 27 31PYTHON_VERSIONS_INCOMPATIBLE= 27

cvs diff -r1.111 -r1.112 pkgsrc/devel/py-test/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/py-test/distinfo 2024/04/26 19:56:28 1.111
+++ pkgsrc/devel/py-test/distinfo 2024/04/30 04:01:25 1.112
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.111 2024/04/26 19:56:28 adam Exp $ 1$NetBSD: distinfo,v 1.112 2024/04/30 04:01:25 adam Exp $
2 2
3BLAKE2s (pytest-8.1.2.tar.gz) = 2691adf01596c3f920cda944031695cb2a82259fe5efcbacbf510b8dfc2c9ad1 3BLAKE2s (pytest-8.2.0.tar.gz) = 8ef7ea5d5d2d2bde692f4603c94e2d5bc36571e19b6bc8f949adafec34e32337
4SHA512 (pytest-8.1.2.tar.gz) = a6ffae29da98ee4c357ebb03f00c4bc1a33f093ef867ad118841695548468c7f229eaa2c029a2ce3b158bbb0a65be5014e91555a223d04c1c72e614cb1d00546 4SHA512 (pytest-8.2.0.tar.gz) = 1a74a2269010804101fc4b8efc370c5d8d484eb145eb4e181feeb1a17046457b97071d2de925c3e8bbd4c6090cd00ca532d69286cb9e10ea023e59a99cd51088
5Size (pytest-8.1.2.tar.gz) = 1410060 bytes 5Size (pytest-8.2.0.tar.gz) = 1422883 bytes