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.
|