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
commit41fa1065c69f55def87e3fcecad602076d7cd790 (patch)
tree9a611faa25823d0bd638b71d8ebe0819b72ab74e /test/test_coverage.py
parent915d749f363b4753dc7f6857cf75d69d8b2ac674 (diff)
downloadpython-coveragepy-41fa1065c69f55def87e3fcecad602076d7cd790.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 b4d5752..92aef08 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."""