diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-23 13:26:23 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-23 13:26:23 -0400 |
commit | d3a77dc571658353a23385651fd8569fee7b5e22 (patch) | |
tree | c424060909bb8eda186b8ac686a8c0a439cf4b14 /coverage/collector.py | |
parent | 4aaca3a49a51cb710d18b7ac7c3c2e52a7dc73c1 (diff) | |
download | python-coveragepy-git-d3a77dc571658353a23385651fd8569fee7b5e22.tar.gz |
Make metacov run without errors.
Diffstat (limited to 'coverage/collector.py')
-rw-r--r-- | coverage/collector.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/coverage/collector.py b/coverage/collector.py index 6e2112c0..494ad2ce 100644 --- a/coverage/collector.py +++ b/coverage/collector.py @@ -231,6 +231,17 @@ class Collector(object): """Start collecting trace information.""" if self._collectors: self._collectors[-1].pause() + + try: + # Install the tracer on this thread. + fn = self._start_tracer() + except: + if self._collectors: + self._collectors[-1].resume() + raise + + # If _start_tracer succeeded, then we add ourselves to the global + # stack of collectors. self._collectors.append(self) # Check to see whether we had a fullcoverage tracer installed. @@ -241,9 +252,6 @@ class Collector(object): if tracer0: traces0 = getattr(tracer0, 'traces', []) - # Install the tracer on this thread. - fn = self._start_tracer() - # Replay all the events from fullcoverage into the new trace function. for args in traces0: (frame, event, arg), lineno = args |