From ad022ede25c3a9e995282528e97b91309fa7d279 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 2 Jun 2014 22:28:55 -0400 Subject: Avoid filling the fnmatch cache --- coverage/report.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'coverage/report.py') 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 -- cgit v1.2.1