pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/py-coverage py-coverage: updated to 5.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/873fd68cb916
branches:  trunk
changeset: 345606:873fd68cb916
user:      adam <adam%pkgsrc.org@localhost>
date:      Sun Dec 15 11:48:31 2019 +0000

description:
py-coverage: updated to 5.0

Major changes in 5.0

This is an overview of the changes in 5.0 since the last version of 4.5.x. This is not a complete list of all changes. See the complete change history for all the details.

Open Questions

How to support SQL access to data? The database schema has to be convenient and efficient for coverage.py?s execution, which would naturally make it an internal implementation detail. But the 
coverage data is now more complex, and SQL access could be a powerful way to access it, pointing toward a public guaranteed schema. What?s the right balance?

Backward Incompatibilities

Python 2.6, 3.3 and 3.4 are no longer supported.
The CoverageData interface is still public, but has changed.
The data file is now created earlier than it used to be. In some circumstances, you may need to use parallel=true to avoid multiple processes overwriting each others? data.
When constructing a coverage.Coverage object, data_file can be specified as None to prevent writing any data file at all. In previous versions, an explicit data_file=None argument would use the 
default of ?.coverage?. Fixes issue 871.
The [run] note setting has been deprecated. Using it will result in a warning, and the note will not be written to the data file. The corresponding CoverageData methods have been removed.
The deprecated Reporter.file_reporters property has been removed.
The reporting methods used to permanently apply their arguments to the configuration of the Coverage object. Now they no longer do. The arguments affect the operation of the method, but do not 
persist.

New Features

Coverage.py can now record the context in which each line was executed. The contexts are stored in the data file and can be used to drill down into why a particular line was run. Static contexts let 
you specify a label for an entire coverage run, for example to separate coverage for different operating systems or versions of Python. Dynamic contexts can change during a single measurement run. 
This can be used to record the names of the tests that executed each line. See Measurement contexts for full information.
Coverage?s data storage has changed. In version 4.x, .coverage files were basically JSON. Now, they are SQLite databases. The database schema is documented (Coverage.py database schema), but might 
still be in flux.
Data can now be ?reported? in JSON format, for programmatic use, as requested in issue 720. The new coverage json command writes raw and summarized data to a JSON file. Thanks, Matt Bachmann.
Configuration can now be read from TOML files. This requires installing coverage.py with the [toml] extra. The standard ?pyproject.toml? file will be read automatically if no other configuration file 
is found, with settings in the [tool.coverage.] namespace. Thanks to Frazer McLean for implementation and persistence. Finishes issue 664.
The HTML and textual reports now have a --skip-empty option that skips files with no statements, notably __init__.py files. Thanks, Reya B.
You can specify the command line to run your program with the [run] command_line configuration setting, as requested in issue 695.
An experimental [run] relative_files setting tells coverage to store relative file names in the data file. This makes it easier to run tests in one (or many) environments, and then report in another. 
It has not had much real-world testing, so it may change in incompatible ways in the future.
Environment variable substitution in configuration files now supports two syntaxes for controlling the behavior of undefined variables: if VARNAME is not defined, ${VARNAME?} will raise an error, and 
${VARNAME-default value} will use ?default value?.
The location of the configuration file can now be specified with a COVERAGE_RCFILE environment variable, as requested in issue 650.
A new warning (already-imported) is issued if measurable files have already been imported before coverage.py started measurement. See Warnings for more information.
Error handling during reporting has changed slightly. All reporting methods now behave the same. The --ignore-errors option keeps errors from stopping the reporting, but files that couldn?t parse as 
Python will always be reported as warnings. As with other warnings, you can suppress them with the [run] disable_warnings configuration setting.
Added the classmethod Coverage.current() to get the latest started Coverage instance.

Bugs Fixed

The coverage run command has always adjusted the first entry in sys.path, to properly emulate how Python runs your program. Now this adjustment is skipped if sys.path[0] is already different than 
Python?s default. This fixes issue 715.
Python files run with -m now have __spec__ defined properly. This fixes issue 745 (about not being able to run unittest tests that spawn subprocesses), and issue 838, which described the problem 
directly.
Coverage will create directories as needed for the data file if they don?t exist, closing issue 721.
fail_under values more than 100 are reported as errors. Thanks to Mike Fiedler for closing issue 746.
The ?missing? values in the text output are now sorted by line number, so that missing branches are reported near the other lines they affect. The values used to show all missing lines, and then all 
missing branches.
Coverage.py no longer fails if the user program deletes its current directory.

diffstat:

 devel/py-coverage/Makefile |   4 ++--
 devel/py-coverage/PLIST    |  31 +++++++++++++++++++++++++++----
 devel/py-coverage/distinfo |  10 +++++-----
 3 files changed, 34 insertions(+), 11 deletions(-)

diffs (117 lines):

diff -r 9046686f653d -r 873fd68cb916 devel/py-coverage/Makefile
--- a/devel/py-coverage/Makefile        Sun Dec 15 11:48:10 2019 +0000
+++ b/devel/py-coverage/Makefile        Sun Dec 15 11:48:31 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.18 2019/08/05 19:31:44 adam Exp $
+# $NetBSD: Makefile,v 1.19 2019/12/15 11:48:31 adam Exp $
 
-DISTNAME=      coverage-4.5.4
+DISTNAME=      coverage-5.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    devel python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=c/coverage/}
diff -r 9046686f653d -r 873fd68cb916 devel/py-coverage/PLIST
--- a/devel/py-coverage/PLIST   Sun Dec 15 11:48:10 2019 +0000
+++ b/devel/py-coverage/PLIST   Sun Dec 15 11:48:31 2019 +0000
@@ -1,10 +1,11 @@
-@comment $NetBSD: PLIST,v 1.7 2017/12/13 08:16:08 adam Exp $
+@comment $NetBSD: PLIST,v 1.8 2019/12/15 11:48:31 adam Exp $
 bin/coverage-${PYVERSSUFFIX}
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
 ${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
 ${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
+${PYSITELIB}/${EGG_INFODIR}/requires.txt
 ${PYSITELIB}/${EGG_INFODIR}/top_level.txt
 ${PYSITELIB}/coverage/__init__.py
 ${PYSITELIB}/coverage/__init__.pyc
@@ -33,6 +34,9 @@
 ${PYSITELIB}/coverage/config.py
 ${PYSITELIB}/coverage/config.pyc
 ${PYSITELIB}/coverage/config.pyo
+${PYSITELIB}/coverage/context.py
+${PYSITELIB}/coverage/context.pyc
+${PYSITELIB}/coverage/context.pyo
 ${PYSITELIB}/coverage/control.py
 ${PYSITELIB}/coverage/control.pyc
 ${PYSITELIB}/coverage/control.pyo
@@ -42,6 +46,9 @@
 ${PYSITELIB}/coverage/debug.py
 ${PYSITELIB}/coverage/debug.pyc
 ${PYSITELIB}/coverage/debug.pyo
+${PYSITELIB}/coverage/disposition.py
+${PYSITELIB}/coverage/disposition.pyc
+${PYSITELIB}/coverage/disposition.pyo
 ${PYSITELIB}/coverage/env.py
 ${PYSITELIB}/coverage/env.pyc
 ${PYSITELIB}/coverage/env.pyo
@@ -68,21 +75,31 @@
 ${PYSITELIB}/coverage/htmlfiles/keybd_open.png
 ${PYSITELIB}/coverage/htmlfiles/pyfile.html
 ${PYSITELIB}/coverage/htmlfiles/style.css
+${PYSITELIB}/coverage/htmlfiles/style.scss
+${PYSITELIB}/coverage/inorout.py
+${PYSITELIB}/coverage/inorout.pyc
+${PYSITELIB}/coverage/inorout.pyo
+${PYSITELIB}/coverage/jsonreport.py
+${PYSITELIB}/coverage/jsonreport.pyc
+${PYSITELIB}/coverage/jsonreport.pyo
 ${PYSITELIB}/coverage/misc.py
 ${PYSITELIB}/coverage/misc.pyc
 ${PYSITELIB}/coverage/misc.pyo
 ${PYSITELIB}/coverage/multiproc.py
 ${PYSITELIB}/coverage/multiproc.pyc
 ${PYSITELIB}/coverage/multiproc.pyo
+${PYSITELIB}/coverage/numbits.py
+${PYSITELIB}/coverage/numbits.pyc
+${PYSITELIB}/coverage/numbits.pyo
+${PYSITELIB}/coverage/optional.py
+${PYSITELIB}/coverage/optional.pyc
+${PYSITELIB}/coverage/optional.pyo
 ${PYSITELIB}/coverage/parser.py
 ${PYSITELIB}/coverage/parser.pyc
 ${PYSITELIB}/coverage/parser.pyo
 ${PYSITELIB}/coverage/phystokens.py
 ${PYSITELIB}/coverage/phystokens.pyc
 ${PYSITELIB}/coverage/phystokens.pyo
-${PYSITELIB}/coverage/pickle2json.py
-${PYSITELIB}/coverage/pickle2json.pyc
-${PYSITELIB}/coverage/pickle2json.pyo
 ${PYSITELIB}/coverage/plugin.py
 ${PYSITELIB}/coverage/plugin.pyc
 ${PYSITELIB}/coverage/plugin.pyo
@@ -101,12 +118,18 @@
 ${PYSITELIB}/coverage/results.py
 ${PYSITELIB}/coverage/results.pyc
 ${PYSITELIB}/coverage/results.pyo
+${PYSITELIB}/coverage/sqldata.py
+${PYSITELIB}/coverage/sqldata.pyc
+${PYSITELIB}/coverage/sqldata.pyo
 ${PYSITELIB}/coverage/summary.py
 ${PYSITELIB}/coverage/summary.pyc
 ${PYSITELIB}/coverage/summary.pyo
 ${PYSITELIB}/coverage/templite.py
 ${PYSITELIB}/coverage/templite.pyc
 ${PYSITELIB}/coverage/templite.pyo
+${PYSITELIB}/coverage/tomlconfig.py
+${PYSITELIB}/coverage/tomlconfig.pyc
+${PYSITELIB}/coverage/tomlconfig.pyo
 ${PYSITELIB}/coverage/tracer.so
 ${PYSITELIB}/coverage/version.py
 ${PYSITELIB}/coverage/version.pyc
diff -r 9046686f653d -r 873fd68cb916 devel/py-coverage/distinfo
--- a/devel/py-coverage/distinfo        Sun Dec 15 11:48:10 2019 +0000
+++ b/devel/py-coverage/distinfo        Sun Dec 15 11:48:31 2019 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.13 2019/08/05 19:31:44 adam Exp $
+$NetBSD: distinfo,v 1.14 2019/12/15 11:48:31 adam Exp $
 
-SHA1 (coverage-4.5.4.tar.gz) = d101ed17fa2c3f932dc0a6a663031f86698570eb
-RMD160 (coverage-4.5.4.tar.gz) = 81ff5f8a5616864d7393a7348c16332667958355
-SHA512 (coverage-4.5.4.tar.gz) = ba534e04fe35cbadc4b16735f25c08f579a49a6677ec106680f222f2dfb3d0f1e011d0962f1c2108c375173ac4588bea1619ecda05ff9ba6fd888daddfd27b0e
-Size (coverage-4.5.4.tar.gz) = 385185 bytes
+SHA1 (coverage-5.0.tar.gz) = 361f7245df046c7fc77cd76701e94f617e5eed09
+RMD160 (coverage-5.0.tar.gz) = 8077f85b4f0269ced22e29214e693cafa9925eea
+SHA512 (coverage-5.0.tar.gz) = 3f6affee574ce34637a7a6ed8d8fd692d4dd502797577b8491e0211c62d49b1c1d82efc53e704f350c71fcc9407d988ecbd71d065b58cbc655ae1ff7448ebfb2
+Size (coverage-5.0.tar.gz) = 673837 bytes



Home | Main Index | Thread Index | Old Index