diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-29 07:18:07 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-29 07:18:07 -0500 |
commit | fac7f3e1011df358f19e3f3ba25a695d1fb95669 (patch) | |
tree | b8a8af1aefa4bb5a5ad817b80690a092ebbeee2f /coverage | |
parent | 6347e6880a93191dcb41749af6d099063dfad864 (diff) | |
download | python-coveragepy-fac7f3e1011df358f19e3f3ba25a695d1fb95669.tar.gz |
Fix some self-measurement problems. Now coverage_coverage.py works again (had to be sure to stop coverage if check_coverage threw an exception).
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/collector.py | 5 | ||||
-rw-r--r-- | coverage/control.py | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/coverage/collector.py b/coverage/collector.py index 5bbd02e..6ea419e 100644 --- a/coverage/collector.py +++ b/coverage/collector.py @@ -148,6 +148,9 @@ class Collector(object): # trace function. self._trace_class = Tracer or PyTracer + def __repr__(self): + return "<Collector at 0x%x>" % id(self) + def tracer_name(self): """Return the class name of the tracer we're using.""" return self._trace_class.__name__ @@ -196,6 +199,7 @@ class Collector(object): if self._collectors: self._collectors[-1].pause() self._collectors.append(self) + #print >>sys.stderr, "Started: %r" % self._collectors # Install the tracer on this thread. self._start_tracer() # Install our installation tracer in threading, to jump start other @@ -204,6 +208,7 @@ class Collector(object): def stop(self): """Stop collecting trace information.""" + #print >>sys.stderr, "Stopping: %r" % self._collectors assert self._collectors assert self._collectors[-1] is self diff --git a/coverage/control.py b/coverage/control.py index 674bb15..7efc349 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -1,6 +1,6 @@ """Core control stuff for Coverage.""" -import os, socket +import atexit, os, socket from coverage.annotate import AnnotateReporter from coverage.backward import string_class # pylint: disable-msg=W0622 @@ -56,7 +56,8 @@ class coverage(object): self.cover_pylib = cover_pylib self.auto_data = auto_data - + self.atexit_registered = False + self.exclude_re = "" self.exclude_list = [] @@ -168,8 +169,9 @@ class coverage(object): if self.auto_data: self.load() # Save coverage data when Python exits. - import atexit - atexit.register(self.save) + if not self.atexit_registered: + atexit.register(self.save) + self.atexit_registered = True self.collector.start() def stop(self): |