diff options
author | Russell Keith-Magee <russell@keith-magee.com> | 2023-02-03 20:42:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-03 04:42:18 -0800 |
commit | 96af3eae92a7b5dc1053be194820adf47c17777a (patch) | |
tree | d0eccc5235c1f04947abd1463565243c12f7d088 /coverage/pytracer.py | |
parent | b0566a785d4d62db379f4e9707b7cd8c648f9df6 (diff) | |
download | python-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>
Diffstat (limited to 'coverage/pytracer.py')
-rw-r--r-- | coverage/pytracer.py | 14 |
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: |