Subject: CVS commit: pkgsrc/devel/py-test5
From: Adam Ciarcinski
Date: 2019-11-20 09:34:19
Message id: 20191120083419.AA238FA97@cvs.NetBSD.org

Log Message:
py-test5: updated to 5.3.0

pytest 5.3.0:

Deprecations
* The default value of junit_family option will change to xunit2 in pytest 6.0, \ 
given that this is the version supported by default in modern tools that \ 
manipulate this type of file.
In order to smooth the transition, pytest will issue a warning in case the \ 
--junitxml option is given in the command line but junit_family is not \ 
explicitly configured in pytest.ini.
For more information, see the docs.

Features
* The pytest team has created the pytest-reportlog plugin, which provides a new \ 
--report-log=FILE option that writes report logs into a file as the test session \ 
executes.
Each line of the report log contains a self contained JSON object corresponding \ 
to a testing event, such as a collection or a test result report. The file is \ 
guaranteed to be flushed after writing each line, so systems can read and \ 
process events in real-time.
The plugin is meant to replace the --resultlog option, which is deprecated and \ 
meant to be removed in a future release. If you use --resultlog, please try out \ 
pytest-reportlog and provide feedback.
* When sys.pycache_prefix (Python 3.8+) is set, it will be used by pytest to \ 
cache test files changed by the assertion rewriting mechanism.
This makes it easier to benefit of cached .pyc files even on file systems \ 
without permissions.
* Allow selective auto-indentation of multiline log messages.
Adds command line option --log-auto-indent, config option log_auto_indent and \ 
support for per-entry configuration of indentation behavior on calls to \ 
logging.log().
Alters the default for auto-indention from on to off. This restores the older \ 
behavior that existed prior to v4.6.0. This reversion to earlier behavior was \ 
done because it is better to activate new features that may lead to broken tests \ 
explicitly rather than implicitly.
* pytester learned two new functions, no_fnmatch_line and no_re_match_line.
The functions are used to ensure the captured text does not match the given pattern.
The previous idiom was to use re.match:
assert re.match(pat, result.stdout.str()) is None
Or the in operator:
assert text in result.stdout.str()
But the new functions produce best output on failure.
* Added tolerances to complex values when printing pytest.approx.
For example, repr(pytest.approx(3+4j)) returns (3+4j) ± 5e-06 ∠ ±180°. This \ 
is polar notation indicating a circle around the expected value, with a radius \ 
of 5e-06. For approx comparisons to return True, the actual value should fall \ 
within this circle.
* Added the pluginmanager as an argument to pytest_addoption so that hooks can \ 
be invoked when setting up command line options. This is useful for having one \ 
plugin communicate things to another plugin, such as default values or which set \ 
of command line options to add.

Improvements
* Use multiple colors with terminal summary statistics.
* Quitting from debuggers is now properly handled in doctest items.
* Improved verbose diff output with sequences.
Before:
After:
* Display untruncated assertion message with -vv.
* Fixed plurality mismatch in test summary (e.g. display “1 error” instead \ 
of “1 errors”).
* Config.InvocationParams.args is now always a tuple to better convey that it \ 
should be immutable and avoid accidental modifications.
* pytest.main now returns a pytest.ExitCode instance now, except for when custom \ 
exit codes are used (where it returns int then still).
* Align prefixes in output of pytester’s LineMatcher.
* Collection errors are reported as errors (and not failures like before) in the \ 
terminal’s short test summary.
* pytester.spawn does not skip/xfail tests on FreeBSD anymore unconditionally.
* The “[XXX%]” indicator in the test summary is now colored according to the \ 
final (new) multi-colored line’s main color.
* Added --co as a synonym to --collect-only.
* atomicwrites is now only used on Windows, fixing a performance regression with \ 
assertion rewriting on Unix.
* Now parametrization will use the __name__ attribute of any object for the id, \ 
if present. Previously it would only use __name__ for functions and classes.
* Improved failure reporting with pytester’s Hookrecorder.assertoutcome.
* The reason for a stopped session, e.g. with --maxfail / -x, now gets reported \ 
in the test summary.
* Improved cache.set robustness and performance.

Bug Fixes
* Fixed --setup-plan showing inaccurate information about fixture lifetimes.
* Fixed line offset mismatch of skipped tests in terminal summary.
* The PytestDoctestRunner is now properly invalidated when unconfiguring the \ 
doctest plugin.
This is important when used with pytester’s runpytest_inprocess.
* BaseExceptions are now handled in saferepr, which includes \ 
pytest.fail.Exception etc.
* pytester: fixed order of arguments in rm_rf warning when cleaning up temporary \ 
directories, and do not emit warnings for errors with os.open.
* Fixed result of getmodpath method.

Trivial/Internal Changes
* RunResult from pytester now displays the mnemonic of the ret attribute when it \ 
is a valid pytest.ExitCode value.

Files:
RevisionActionfile
1.6modifypkgsrc/devel/py-test5/Makefile
1.5modifypkgsrc/devel/py-test5/distinfo