summaryrefslogtreecommitdiff
path: root/test/test_coverage.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-10-25 09:38:58 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-10-25 09:38:58 -0400
commita7f4c6c633a1ff02412f4f3e6695c12e2ba87808 (patch)
treed8e0beb3bd7d7a9bb4d50e698314246fcfeb4f08 /test/test_coverage.py
parentffb82b1d4ce8553ac230d3ecabbf094c4c20d140 (diff)
downloadpython-coveragepy-git-a7f4c6c633a1ff02412f4f3e6695c12e2ba87808.tar.gz
Treat missing source files nicer.
Diffstat (limited to 'test/test_coverage.py')
-rw-r--r--test/test_coverage.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test_coverage.py b/test/test_coverage.py
index b4d57527..92aef086 100644
--- a/test/test_coverage.py
+++ b/test/test_coverage.py
@@ -1725,6 +1725,28 @@ class ProcessTest(CoverageTest):
data.read_file(".coverage")
self.assertEqual(data.summary()['b_or_c.py'], 7)
+ def test_missing_source_file(self):
+ # Check what happens if the source is missing when reporting happens.
+ self.make_file("fleeting.py", """\
+ s = 'goodbye, cruel world!'
+ """)
+
+ self.run_command("coverage run fleeting.py")
+ os.remove("fleeting.py")
+ out = self.run_command("coverage html -d htmlcov")
+ self.assert_matches(out, "No source for code: '.*fleeting.py'")
+ self.assert_("Traceback" not in out)
+
+ # It happens that the code paths are different for *.py and other files.
+ self.make_file("fleeting", """\
+ s = 'goodbye, cruel world!'
+ """)
+
+ self.run_command("coverage run fleeting")
+ os.remove("fleeting")
+ out = self.run_command("coverage html -d htmlcov")
+ self.assert_matches(out, "No source for code: '.*fleeting'")
+ self.assert_("Traceback" not in out)
class RecursionTest(CoverageTest):
"""Check what happens when recursive code gets near limits."""