summaryrefslogtreecommitdiff
path: root/coverage/collector.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/collector.py')
-rw-r--r--coverage/collector.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/coverage/collector.py b/coverage/collector.py
index 494ad2ce..a09556bd 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -232,6 +232,15 @@ class Collector(object):
if self._collectors:
self._collectors[-1].pause()
+ # Check to see whether we had a fullcoverage tracer installed. If so,
+ # get the stack frames it stashed away for us.
+ traces0 = []
+ fn0 = sys.gettrace()
+ if fn0:
+ tracer0 = getattr(fn0, '__self__', None)
+ if tracer0:
+ traces0 = getattr(tracer0, 'traces', [])
+
try:
# Install the tracer on this thread.
fn = self._start_tracer()
@@ -244,14 +253,6 @@ class Collector(object):
# stack of collectors.
self._collectors.append(self)
- # Check to see whether we had a fullcoverage tracer installed.
- traces0 = []
- fn0 = sys.gettrace()
- if fn0:
- tracer0 = getattr(fn0, '__self__', None)
- if tracer0:
- traces0 = getattr(tracer0, 'traces', [])
-
# Replay all the events from fullcoverage into the new trace function.
for args in traces0:
(frame, event, arg), lineno = args