summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2011-02-12 23:07:31 -0500
committerNed Batchelder <ned@nedbatchelder.com>2011-02-12 23:07:31 -0500
commitc10db096fe1d02d29d1cedb6a35decb049a87052 (patch)
tree0106fcdf346f2414ae34b3e900c982cd8a16a0dd /coverage
parent6ec3302004a2293535e5c3814c1c19e2f141e972 (diff)
downloadpython-coveragepy-c10db096fe1d02d29d1cedb6a35decb049a87052.tar.gz
A different (better) way to avoid warnings when no code has been run.
Diffstat (limited to 'coverage')
-rw-r--r--coverage/cmdline.py9
-rw-r--r--coverage/control.py21
2 files changed, 10 insertions, 20 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index b739afa..1ce5e0f 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -511,7 +511,7 @@ class CoverageScript(object):
if 'execute' in options.actions:
# Run the script.
self.coverage.start()
- never_run = False
+ code_ran = True
try:
try:
if options.module:
@@ -519,11 +519,12 @@ class CoverageScript(object):
else:
self.run_python_file(args[0], args)
except NoSource:
- never_run = True
+ code_ran = False
raise
finally:
- self.coverage.stop(never_run)
- self.coverage.save()
+ if code_ran:
+ self.coverage.stop()
+ self.coverage.save()
if 'combine' in options.actions:
self.coverage.combine()
diff --git a/coverage/control.py b/coverage/control.py
index 6fc1b98..514f23d 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -172,10 +172,6 @@ class coverage(object):
# Only _harvest_data once per measurement cycle.
self._harvested = False
-
- # When stop() is called, we can tell it that in fact no product code
- # was run, to make the warnings more reasonable.
- self._never_run = False
# Set the reporting precision.
Numbers.set_precision(self.config.precision)
@@ -365,14 +361,8 @@ class coverage(object):
self._harvested = False
self.collector.start()
- def stop(self, never_run=False):
- """Stop measuring code coverage.
-
- Set `never_run` to True to indicate that no product code was run, so
- we don't warn unnecessarily.
-
- """
- self._never_run = never_run
+ def stop(self):
+ """Stop measuring code coverage."""
self.collector.stop()
self._harvest_data()
@@ -454,10 +444,9 @@ class coverage(object):
self._warn("Module %s was never imported." % pkg)
# Find out if we got any data.
- if not self._never_run:
- summary = self.data.summary()
- if not summary:
- self._warn("No data was collected.")
+ summary = self.data.summary()
+ if not summary:
+ self._warn("No data was collected.")
# Find files that were never executed at all.
for src in self.source: