summaryrefslogtreecommitdiff
path: root/coverage/pytracer.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/pytracer.py')
-rw-r--r--coverage/pytracer.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/coverage/pytracer.py b/coverage/pytracer.py
index 3f03aaf7..cdb3ae70 100644
--- a/coverage/pytracer.py
+++ b/coverage/pytracer.py
@@ -1,4 +1,7 @@
-"""Raw data collector for Coverage."""
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+
+"""Raw data collector for coverage.py."""
import dis
import sys
@@ -33,7 +36,7 @@ class PyTracer(object):
def __init__(self):
# Attributes set from the collector:
self.data = None
- self.arcs = False
+ self.trace_arcs = False
self.should_trace = None
self.should_trace_cache = None
self.warn = None
@@ -65,7 +68,7 @@ class PyTracer(object):
if self.last_exc_back:
if frame == self.last_exc_back:
# Someone forgot a return event.
- if self.arcs and self.cur_file_dict:
+ if self.trace_arcs and self.cur_file_dict:
pair = (self.last_line, -self.last_exc_firstlineno)
self.cur_file_dict[pair] = None
self.cur_file_dict, self.last_line = self.data_stack.pop()
@@ -96,13 +99,13 @@ class PyTracer(object):
# Record an executed line.
if self.cur_file_dict is not None:
lineno = frame.f_lineno
- if self.arcs:
+ if self.trace_arcs:
self.cur_file_dict[(self.last_line, lineno)] = None
else:
self.cur_file_dict[lineno] = None
self.last_line = lineno
elif event == 'return':
- if self.arcs and self.cur_file_dict:
+ if self.trace_arcs and self.cur_file_dict:
# Record an arc leaving the function, but beware that a
# "return" event might just mean yielding from a generator.
bytecode = frame.f_code.co_code[frame.f_lasti]
@@ -125,6 +128,7 @@ class PyTracer(object):
if self.threading:
self.thread = self.threading.currentThread()
sys.settrace(self._trace)
+ self.stopped = False
return self._trace
def stop(self):