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
commit676ef3ce150102b24c1301b4e28edf0702936871 (patch)
tree4743f5f358c139299bb888717237dc900d8bcc22 /tests/test_process.py
parent75a9c9988812558b319cc71733d91d31ce3c70a9 (diff)
downloadpython-coveragepy-676ef3ce150102b24c1301b4e28edf0702936871.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 3b88e0f..9334783 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.")