diff options
Diffstat (limited to 'coverage/pytracer.py')
-rw-r--r-- | coverage/pytracer.py | 14 |
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): |