summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2012-12-09 15:50:39 -0500
committerNed Batchelder <ned@nedbatchelder.com>2012-12-09 15:50:39 -0500
commitd85f985433d351d8f80370d138368c8deefad47c (patch)
treec94442e7376657ac4e447658f672bd2be38be240
parent36ef251d6202102afd115084aacc868b9c520a21 (diff)
downloadpython-coveragepy-git-d85f985433d351d8f80370d138368c8deefad47c.tar.gz
Get meta-coverage working on sub-processes.
-rw-r--r--coverage/control.py8
-rw-r--r--metacov.ini14
-rw-r--r--test/test_farm.py7
3 files changed, 25 insertions, 4 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 1a475a58..309343b7 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -465,6 +465,8 @@ class coverage(object):
for pattern in paths[1:]:
aliases.add(pattern, result)
self.data.combine_parallel_data(aliases=aliases)
+ # Combining is a kind of harvesting.
+ self._harvested = True
def _harvest_data(self):
"""Get the collected data and reset the collector.
@@ -702,11 +704,9 @@ def process_startup():
cps = os.environ.get("COVERAGE_PROCESS_START")
if cps:
cov = coverage(config_file=cps, auto_data=True)
- if os.environ.get("COVERAGE_COVERAGE"):
- # Measuring coverage within coverage.py takes yet more trickery.
- cov.cover_dir = "Please measure coverage.py!"
cov.start()
cov._warn_no_data = False
-_TEST_NAME_FILE = "/tmp/covtest.txt" # r"c:\foo\covtest.txt"
+# A hack for debugging testing in subprocesses.
+_TEST_NAME_FILE = "" #"/tmp/covtest.txt"
diff --git a/metacov.ini b/metacov.ini
index 1336915e..4fca30a2 100644
--- a/metacov.ini
+++ b/metacov.ini
@@ -4,6 +4,13 @@ branch = true
data_file = $COVERAGE_HOME/.coverage.meta
parallel = true
source =
+ $COVERAGE_HOME/.tox/py25/lib/python2.5/site-packages/coverage
+ $COVERAGE_HOME/.tox/py26/lib/python2.6/site-packages/coverage
+ $COVERAGE_HOME/.tox/py27/lib/python2.7/site-packages/coverage
+ $COVERAGE_HOME/.tox/py31/lib/python3.1/site-packages/coverage
+ $COVERAGE_HOME/.tox/py32/lib/python3.2/site-packages/coverage
+ $COVERAGE_HOME/.tox/py33/lib/python3.3/site-packages/coverage
+ $COVERAGE_HOME/.tox/pypy/lib/python3.3/site-packages/coverage
$COVERAGE_HOME/coverage
$COVERAGE_HOME/test
@@ -26,4 +33,11 @@ precision = 1
[paths]
source =
/home/ned/coverage/trunk
+ /home/ned/coverage/trunk/.tox/py25/lib/python2.5/site-packages
+ /home/ned/coverage/trunk/.tox/py26/lib/python2.6/site-packages
+ /home/ned/coverage/trunk/.tox/py27/lib/python2.7/site-packages
+ /home/ned/coverage/trunk/.tox/py31/lib/python3.1/site-packages
+ /home/ned/coverage/trunk/.tox/py32/lib/python3.2/site-packages
+ /home/ned/coverage/trunk/.tox/py33/lib/python3.3/site-packages
+ /home/ned/coverage/trunk/.tox/pypy/lib/python3.3/site-packages
C:\ned\coverage\trunk
diff --git a/test/test_farm.py b/test/test_farm.py
index 1576dfe1..5a2cf8a8 100644
--- a/test/test_farm.py
+++ b/test/test_farm.py
@@ -6,6 +6,8 @@ from nose.plugins.skip import SkipTest
sys.path.insert(0, os.path.split(__file__)[0]) # Force relative import for Py3k
from backtest import run_command, execfile # pylint: disable=W0622
+from coverage.control import _TEST_NAME_FILE
+
def test_farm(clean_only=False):
"""A test-generating function for nose to find and run."""
@@ -65,6 +67,11 @@ class FarmTestCase(object):
"""Execute the test from the run.py file.
"""
+ if _TEST_NAME_FILE:
+ f = open(_TEST_NAME_FILE, "w")
+ f.write(self.description.replace("/", "_"))
+ f.close()
+
cwd = self.cd(self.dir)
# Prepare a dictionary of globals for the run.py files to use.