summaryrefslogtreecommitdiff
path: root/tests/test_process.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-12-26 14:24:59 -0500
committerNed Batchelder <ned@nedbatchelder.com>2016-12-26 14:24:59 -0500
commit3decb32c9270a0afeae333980fb7b5a944fbaaa7 (patch)
treedf43b162c2cdcbfebafb9eafc4c35cf827f4ec63 /tests/test_process.py
parent2d9af3a6826d32f2bbc5c0734dfa947e7dcb16ae (diff)
downloadpython-coveragepy-git-3decb32c9270a0afeae333980fb7b5a944fbaaa7.tar.gz
Make sure the excepthook is measured.
Diffstat (limited to 'tests/test_process.py')
-rw-r--r--tests/test_process.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/test_process.py b/tests/test_process.py
index 3b88e0fc..93347830 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -798,9 +798,12 @@ class ExcepthookTest(CoverageTest):
def excepthook(*args):
print('in excepthook')
+ if maybe == 2:
+ print('definitely')
sys.excepthook = excepthook
+ maybe = 1
raise RuntimeError('Error Outside')
""")
cov_st, cov_out = self.run_command_status("coverage run excepthook.py")
@@ -811,6 +814,12 @@ class ExcepthookTest(CoverageTest):
self.assertIn("in excepthook", py_out)
self.assertEqual(cov_out, py_out)
+ # Read the coverage file and see that excepthook.py has 7 lines
+ # executed.
+ data = coverage.CoverageData()
+ data.read_file(".coverage")
+ self.assertEqual(data.line_counts()['excepthook.py'], 7)
+
def test_excepthook_exit(self):
if env.PYPY:
self.skipTest("PyPy handles excepthook exits differently, punt for now.")