[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2297: improve precision of coverage reports by including coverage by subprocesses
Tahoe-LAFS
trac at tahoe-lafs.org
Wed Sep 10 08:34:42 UTC 2014
#2297: improve precision of coverage reports by including coverage by subprocesses
---------------------------------+---------------------------
Reporter: daira | Owner:
Type: defect | Status: new
Priority: normal | Milestone: undecided
Component: code | Version: 1.10.0
Keywords: coverage subprocess | Launchpad Bug:
---------------------------------+---------------------------
Currently, coverage reports underestimate covered code in some places
(this particularly affects the code for running nodes) because only Python
code directly executed by `coverage run` is measured.
`coverage` has a feature to measure the code running in multiple processes
and then combine the measurements:
http://nedbatchelder.com/code/coverage/subprocess.html
http://nedbatchelder.com/code/coverage/cmd.html#cmd-combining
To make this work, we need to:
* Run this early on when starting Tahoe processes (e.g. in
[source:src/allmydata/__init__.py]):
{{{
try:
from coverage import process_startup
process_startup()
except ImportError:
pass
}}}
* Set the `COVERAGE_PROCESS_START` environment variable (which will be
inherited by subprocesses) when running `coverage` from [source:setup.py]
and the [source:Makefile].
* Pass the `-p` option to the `coverage` command line.
* Ensure that the `.coverage.*` files are being generated in the same
directory.
* After `coverage run`, execute `coverage combine`.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2297>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list