[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / devel / py-test

File: [cvs.NetBSD.org] / pkgsrc / devel / py-test / Makefile (download)

Revision 1.79, Tue May 14 07:42:01 2019 UTC (4 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.78: +2 -2 lines

py-test: updated to 4.5.0

pytest 4.5.0:

Features
- A warning is now emitted when unknown marks are used as a decorator.
  This is often due to a typo, which can lead to silently broken tests.
- Show XFail reason as part of JUnitXML message field.
- Messages from crash reports are displayed within test summaries now, truncated to the terminal width.
- New flag --strict-markers that triggers an error when unknown markers (e.g. those not registered using the markers option_ in the configuration file) are used in the test suite.
  The existing --strict option has the same behavior currently, but can be augmented in the future for additional checks.
- Assertion failure messages for sequences and dicts contain the number of different items now.
- Improve reporting with --lf and --ff (run-last-failure).
- The --cache-show option/action accepts an optional glob to show only matching cache entries.
- Standard input (stdin) can be given to pytester's Testdir.run() and Testdir.popen().
- The -r option learnt about A to display all reports (including passed ones) in the short test summary.
- The short test summary is displayed after passes with output (-rP).
- The --last-failed (--lf) option got smarter and will now skip entire files if all tests
  of that test file have passed in previous runs, greatly speeding up collection.
- Introduce new specific warning PytestWarning subclasses to make it easier to filter warnings based on the class, rather than on the message. The new subclasses are:
  * PytestAssertRewriteWarning
  * PytestCacheWarning
  * PytestCollectionWarning
  * PytestConfigWarning
  * PytestUnhandledCoroutineWarning
  * PytestUnknownMarkWarning
- New record_testsuite_property session-scoped fixture allows users to log <property> tags at the testsuite
  level with the junitxml plugin.
  The generated XML is compatible with the latest xunit standard, contrary to
  the properties recorded by record_property and record_xml_attribute.
- The default logging format has been changed to improve readability. Here is an
  example of a previous logging message::
      test_log_cli_enabled_disabled.py    3 CRITICAL critical message logged by test
  This has now become::
      CRITICAL root:test_log_cli_enabled_disabled.py:3 critical message logged by test
  The formatting can be changed through the log_format <https://docs.pytest.org/en/latest/reference.html#confval-log_format>__ configuration option.
- --fixtures now also shows fixture scope for scopes other than "function".

Bug Fixes
- Deselected items from plugins using pytest_collect_modifyitems as a hookwrapper are correctly reported now.
-  With usage errors exitstatus is set to EXIT_USAGEERROR in the pytest_sessionfinish hook now as expected.
- outcome.exit is not used with EOF in the pdb wrapper anymore, but only with quit.

Improved Documentation
- Expand docs on registering marks and the effect of --strict.

Trivial/Internal Changes
- logging.raiseExceptions is not set to False anymore.
- pytest now depends on wcwidth <https://pypi.org/project/wcwidth>__ to properly track unicode character sizes for more precise terminal output.
- pytester's Testdir.popen() uses stdout and stderr via keyword arguments with defaults now (subprocess.PIPE).
- The code for the short test summary in the terminal was moved to the terminal plugin.
- Improved validation of kwargs for various methods in the pytester plugin.
- record_property now emits a PytestWarning when used with junit_family=xunit2: the fixture generates
  property tags as children of testcase, which is not permitted according to the most
  recent schema <https://github.com/jenkinsci/xunit-plugin/blob/master/
  src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd>__.
- Pin pluggy to < 1.0 so we don't update to 1.0 automatically when
  it gets released: there are planned breaking changes, and we want to ensure
  pytest properly supports pluggy 1.0.

# $NetBSD: Makefile,v 1.79 2019/05/14 07:42:01 adam Exp $

DISTNAME=	pytest-4.5.0
PKGNAME=	${PYPKGPREFIX}-${DISTNAME:S/py//}
CATEGORIES=	devel python
MASTER_SITES=	${MASTER_SITE_PYPI:=p/pytest/}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://pytest.org/
COMMENT=	Python testing tool
LICENSE=	mit

DEPENDS+=	${PYPKGPREFIX}-atomicwrites>=1.0:../../devel/py-atomicwrites
DEPENDS+=	${PYPKGPREFIX}-attrs>=17.4.0:../../devel/py-attrs
DEPENDS+=	${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
DEPENDS+=	${PYPKGPREFIX}-more-itertools>=4.0.0:../../devel/py-more-itertools
DEPENDS+=	${PYPKGPREFIX}-pluggy>=0.11:../../devel/py-pluggy
DEPENDS+=	${PYPKGPREFIX}-py>=1.5.0:../../devel/py-py
DEPENDS+=	${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools
DEPENDS+=	${PYPKGPREFIX}-six>=1.10.0:../../lang/py-six
BUILD_DEPENDS+=	${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm
TEST_DEPENDS+=	${PYPKGPREFIX}-hypothesis>=3.56:../../devel/py-hypothesis
TEST_DEPENDS+=	${PYPKGPREFIX}-nose-[0-9]*:../../devel/py-nose
TEST_DEPENDS+=	${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests

.include "../../lang/python/pyversion.mk"
.if ${_PYTHON_VERSION} == 27
DEPENDS+=	${PYPKGPREFIX}-funcsigs>=1.0:../../devel/py-funcsigs
DEPENDS+=	${PYPKGPREFIX}-pathlib2>=2.2.0:../../devel/py-pathlib2
TEST_DEPENDS+=	${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
.endif

USE_LANGUAGES=	# none
USE_TOOLS+=	bash:build

post-install:
	cd ${DESTDIR}${PREFIX}/bin && \
		${MV} py.test py.test-${PYVERSSUFFIX} && \
		${MV} pytest pytest-${PYVERSSUFFIX} || ${TRUE}

do-test:
	cd ${WRKSRC}/testing && pytest-${PYVERSSUFFIX}

.include "../../lang/python/application.mk"
.include "../../lang/python/egg.mk"
.include "../../mk/bsd.pkg.mk"