From 7cd0901a6082aae0d39f2faa675533325e95a537 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 29 Apr 2009 21:50:23 -0400 Subject: Python stdlib is now not measured by default. If needed, turn it on with the -L switch. --- coverage/control.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index d03c69b3..6d3187d6 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -1,6 +1,6 @@ """Core control stuff for coverage.py""" -import os, socket +import os, socket, sys from coverage.annotate import AnnotateReporter from coverage.codeunit import code_unit_factory @@ -17,11 +17,13 @@ class coverage: self.parallel_mode = False self.exclude_re = '' + self.cover_stdlib = False self.nesting = 0 + self.file_locator = FileLocator() + self.sysprefix = self.file_locator.abs_file(sys.prefix) self.collector = Collector(self.should_trace) - self.data = CoverageData(collector="coverage.py v%s" % __version__) # The default exclude pattern. @@ -36,14 +38,20 @@ class coverage: Returns a canonicalized filename if it should be traced, False if it should not. + """ if filename == '': # There's no point in ever tracing string executions, we can't do # anything with the data later anyway. return False - # TODO: flag: ignore std lib? + + canonical = self.file_locator.canonical_filename(filename) + if not self.cover_stdlib: + if canonical.startswith(self.sysprefix): + return False + # TODO: ignore by module as well as file? - return self.file_locator.canonical_filename(filename) + return canonical def use_cache(self, usecache): """Control the use of a data file (incorrectly called a cache). -- cgit v1.2.1