summaryrefslogtreecommitdiff
path: root/coverage/pytracer.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2014-11-28 18:02:57 -0500
committerNed Batchelder <ned@nedbatchelder.com>2014-11-28 18:02:57 -0500
commit8daa8515ccd83355669b0a70ffa74201ec69f6de (patch)
tree14cb71eb03c6d6086508752b02f9b3f2d13e1da5 /coverage/pytracer.py
parent1f1133bd842b61d5e28ddb29ae68cea8ab3a6a7c (diff)
downloadpython-coveragepy-8daa8515ccd83355669b0a70ffa74201ec69f6de.tar.gz
Make sure check_include isn't called more than once per file.
Diffstat (limited to 'coverage/pytracer.py')
-rw-r--r--coverage/pytracer.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/coverage/pytracer.py b/coverage/pytracer.py
index 98b5202..16a51c2 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