summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coverage/control.py19
-rw-r--r--coverage/report.py5
-rw-r--r--test/coverage_coverage.py1
-rw-r--r--test/test_api.py11
4 files changed, 21 insertions, 15 deletions
diff --git a/coverage/control.py b/coverage/control.py
index 5381e0c..529f525 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -73,6 +73,7 @@ class coverage:
def stop(self):
self.collector.stop()
+ self._harvest_data()
def erase(self):
self.get_ready()
@@ -101,15 +102,15 @@ class coverage:
return self.exclude_list
def save(self):
- self._group_collected_data()
+ self._harvest_data()
self.data.write()
def combine(self):
"""Entry point for combining together parallel-mode coverage data."""
self.data.combine_parallel_data()
- def _group_collected_data(self):
- """Group the collected data by filename and reset the collector."""
+ def _harvest_data(self):
+ """Get the collected data by filename and reset the collector."""
self.data.add_line_data(self.collector.data_points())
self.collector.reset()
@@ -151,8 +152,6 @@ class coverage:
text=source, filename=filename, exclude=self.exclude_re
)
- self._group_collected_data()
-
# Identify missing statements.
missing = []
execed = self.data.executed_lines(filename)
@@ -193,13 +192,15 @@ class coverage:
excluded lines have "-", and missing lines have "!".
"""
- rpt = AnnotateReporter(self, ignore_errors)
- rpt.report(morfs, directory=directory, omit_prefixes=omit_prefixes)
+ reporter = AnnotateReporter(self, ignore_errors)
+ reporter.report(
+ morfs, directory=directory, omit_prefixes=omit_prefixes)
def html_report(self, morfs=None, directory=None, ignore_errors=False,
omit_prefixes=None):
"""Generate an HTML report.
"""
- rpt = HtmlReporter(self, ignore_errors)
- rpt.report(morfs, directory=directory, omit_prefixes=omit_prefixes)
+ reporter = HtmlReporter(self, ignore_errors)
+ reporter.report(
+ morfs, directory=directory, omit_prefixes=omit_prefixes)
diff --git a/coverage/report.py b/coverage/report.py
index d4aeb4d..7941116 100644
--- a/coverage/report.py
+++ b/coverage/report.py
@@ -22,7 +22,7 @@ class Reporter(object):
# The directory into which to place the report, used by some derived
# classes.
self.directory = None
-
+
def find_code_units(self, morfs, omit_prefixes):
"""Find the code units we'll report on.
@@ -32,8 +32,7 @@ class Reporter(object):
"""
morfs = morfs or self.coverage.data.executed_files()
self.code_units = code_unit_factory(
- morfs, self.coverage.file_locator, omit_prefixes
- )
+ morfs, self.coverage.file_locator, omit_prefixes)
self.code_units.sort()
def report_files(self, report_fn, morfs, directory=None,
diff --git a/test/coverage_coverage.py b/test/coverage_coverage.py
index 1f73bab..0ab0e2f 100644
--- a/test/coverage_coverage.py
+++ b/test/coverage_coverage.py
@@ -30,7 +30,6 @@ import nose
nose.run(sys.argv[1:])
cov.stop()
-cov.save() # TODO: This is needed to get group_collected_data called.
cov.clear_exclude()
cov.exclude("#pragma: no cover")
diff --git a/test/test_api.py b/test/test_api.py
index e4c5970..35278e9 100644
--- a/test/test_api.py
+++ b/test/test_api.py
@@ -1,6 +1,6 @@
"""Tests for Coverage's api."""
-import os, sys, textwrap
+import os, re, sys, textwrap
from cStringIO import StringIO
import coverage
@@ -47,7 +47,6 @@ class ApiTest(CoverageTest):
coverage.start()
self.importModule(modname)
coverage.stop()
- coverage.analysis(modname + ".py")
def testReport(self):
self.doReportWork("mycode2")
@@ -59,6 +58,7 @@ class ApiTest(CoverageTest):
"""))
def testReportFile(self):
+ # The file= argument of coverage.report makes the report go there.
self.doReportWork("mycode3")
fout = StringIO()
coverage.report(["mycode3.py"], file=fout)
@@ -69,6 +69,13 @@ class ApiTest(CoverageTest):
mycode3 7 4 57% 4-6
"""))
+ def testReportDefault(self):
+ # Calling report() with no morfs will report on whatever was executed.
+ self.doReportWork("mycode4")
+ coverage.report()
+ rpt = re.sub(r"\s+", " ", self.stdout())
+ self.assert_("mycode4 7 4 57% 4-6" in rpt)
+
def testUnexecutedFile(self):
cov = coverage.coverage()