summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2023-02-03 20:42:18 +0800
committerGitHub <noreply@github.com>2023-02-03 04:42:18 -0800
commit96af3eae92a7b5dc1053be194820adf47c17777a (patch)
treed0eccc5235c1f04947abd1463565243c12f7d088
parentb0566a785d4d62db379f4e9707b7cd8c648f9df6 (diff)
downloadpython-coveragepy-git-96af3eae92a7b5dc1053be194820adf47c17777a.tar.gz
fix: add safety for empty stack on shutdown. (#1543)
* Add safety for empty stack on shutdown. * Correct line length linting issue. --------- Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
-rw-r--r--coverage/pytracer.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/coverage/pytracer.py b/coverage/pytracer.py
index 326c50ba..6723c2a1 100644
--- a/coverage/pytracer.py
+++ b/coverage/pytracer.py
@@ -137,9 +137,17 @@ class PyTracer(TTracer):
self.log(">", f.f_code.co_filename, f.f_lineno, f.f_code.co_name, f.f_trace)
f = f.f_back
sys.settrace(None)
- self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = (
- self.data_stack.pop()
- )
+ try:
+ self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = (
+ self.data_stack.pop()
+ )
+ except IndexError:
+ self.log(
+ "Empty stack!",
+ frame.f_code.co_filename,
+ frame.f_lineno,
+ frame.f_code.co_name
+ )
return None
# if event != 'call' and frame.f_code.co_filename != self.cur_file_name: