From fb6e6e13ccd059a6bfe7998e43a56fbeb3d5864f Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 24 Jun 2009 22:29:21 -0400 Subject: Don't measure the coverage package itself. Inspired by, but does not fix, issue #8. --- coverage/control.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index a0a633f3..6f60add5 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -65,7 +65,8 @@ class coverage: self.data = CoverageData( basename=data_file, suffix=data_suffix, - collector="coverage v%s" % __version__) + collector="coverage v%s" % __version__ + ) # The default exclude pattern. self.exclude('# *pragma[: ]*[nN][oO] *[cC][oO][vV][eE][rR]') @@ -75,6 +76,9 @@ class coverage: os_file = self.file_locator.canonical_filename(os.__file__) self.pylib_prefix = os.path.split(os_file)[0] + here = self.file_locator.canonical_filename(__file__) + self.cover_prefix = os.path.split(here)[0] + def _should_trace(self, filename, frame): """Decide whether to trace execution in `filename` @@ -107,7 +111,12 @@ class coverage: if not self.cover_pylib: if canonical.startswith(self.pylib_prefix): return False - + + # We exclude the coverage code itself, since a little of it will be + # measured otherwise. + if canonical.startswith(self.cover_prefix): + return False + return canonical def use_cache(self, usecache): -- cgit v1.2.1