Subject: CVS commit: pkgsrc/devel/py-test
From: Adam Ciarcinski
Date: 2019-05-14 09:42:01
Message id:

Log Message:
py-test: updated to 4.5.0

pytest 4.5.0:

- 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 and \ 
- 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::    3 CRITICAL critical message logged by test
  This has now become::
      CRITICAL critical message logged \ 
by test
  The formatting can be changed through the 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 <>__ 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 \ 
- 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 <
- 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.