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
commit2ecef504147871585ea05b6003bd56794af90ddc (patch)
treecdbe9756af2187229e22370f234ec73e4a698719 /coverage/report.py
parent43fa1eef17b4e8dd3fd0976110ef287970d2d7da (diff)
downloadpython-coveragepy-git-2ecef504147871585ea05b6003bd56794af90ddc.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 34f44422..03e9122c 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