summaryrefslogtreecommitdiff
path: root/coverage/report.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2014-06-02 22:28:55 -0400
committerNed Batchelder <ned@nedbatchelder.com>2014-06-02 22:28:55 -0400
commitad022ede25c3a9e995282528e97b91309fa7d279 (patch)
tree7811c752ebb09ac119b42ebbe37c08bfd4693e33 /coverage/report.py
parent49b53affa534521982c05c2c039e0abb98e03cda (diff)
downloadpython-coveragepy-ad022ede25c3a9e995282528e97b91309fa7d279.tar.gz
Avoid filling the fnmatch cache
Diffstat (limited to 'coverage/report.py')
-rw-r--r--coverage/report.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/coverage/report.py b/coverage/report.py
index 34f4442..03e9122 100644
--- a/coverage/report.py
+++ b/coverage/report.py
@@ -1,8 +1,8 @@
"""Reporter foundation for Coverage."""
-import fnmatch, os
+import os
from coverage.codeunit import code_unit_factory
-from coverage.files import prep_patterns
+from coverage.files import prep_patterns, FnmatchMatcher
from coverage.misc import CoverageException, NoSource, NotPython
class Reporter(object):
@@ -37,22 +37,19 @@ class Reporter(object):
if self.config.include:
patterns = prep_patterns(self.config.include)
+ matcher = FnmatchMatcher(patterns)
filtered = []
for cu in self.code_units:
- for pattern in patterns:
- if fnmatch.fnmatch(cu.filename, pattern):
- filtered.append(cu)
- break
+ if matcher.match(cu.filename):
+ filtered.append(cu)
self.code_units = filtered
if self.config.omit:
patterns = prep_patterns(self.config.omit)
+ matcher = FnmatchMatcher(patterns)
filtered = []
for cu in self.code_units:
- for pattern in patterns:
- if fnmatch.fnmatch(cu.filename, pattern):
- break
- else:
+ if not matcher.match(cu.filename):
filtered.append(cu)
self.code_units = filtered