Path to this page:
Subject: CVS commit: pkgsrc/devel/py-test
From: Adam Ciarcinski
Date: 2019-05-14 09:42:01
Message id: 20190514074201.63ABEFB16@cvs.NetBSD.org
Log Message:
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.
Files: