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 | 976c7bf435b11de8f392a967ce20fcafa104319e (patch) | |
tree | 72497c790bbbe04cfdff47de6a8ebddbeff0d5ff /coverage/collector.py | |
parent | dff827f46c1e24dc6f56b758a74874297d3f4d7c (diff) | |
download | python-coveragepy-976c7bf435b11de8f392a967ce20fcafa104319e.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 6e2112c..494ad2c 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 |