diff options
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/control.py | 2 | ||||
-rw-r--r-- | coverage/pytracer.py | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/coverage/control.py b/coverage/control.py index cb614d56..7e338625 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -936,6 +936,8 @@ class FileDisposition(object): """Produce a debugging message explaining the outcome.""" if self.trace: msg = "Tracing %r" % (self.original_filename,) + if self.file_tracer: + msg += ": will be traced by %r" % self.file_tracer else: msg = "Not tracing %r: %s" % (self.original_filename, self.reason) return msg diff --git a/coverage/pytracer.py b/coverage/pytracer.py index 98b52028..16a51c2b 100644 --- a/coverage/pytracer.py +++ b/coverage/pytracer.py @@ -87,7 +87,11 @@ class PyTracer(object): if disp.file_tracer and disp.has_dynamic_filename: tracename = disp.file_tracer.dynamic_source_filename(tracename, frame) if tracename: - if not self.check_include(tracename, frame): + included = self.should_trace_cache.get(tracename) + if included is None: + included = self.check_include(tracename, frame) + self.should_trace_cache[tracename] = included + if not included: tracename = None else: tracename = None |