diff options
Diffstat (limited to 'coverage/report.py')
-rw-r--r-- | coverage/report.py | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/coverage/report.py b/coverage/report.py index 33a46070..df34e43f 100644 --- a/coverage/report.py +++ b/coverage/report.py @@ -1,9 +1,14 @@ -"""Reporter foundation for Coverage.""" +# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 +# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt + +"""Reporter foundation for coverage.py.""" import os from coverage.files import prep_patterns, FnmatchMatcher -from coverage.misc import CoverageException, NoSource, NotPython +from coverage.misc import CoverageException, NoSource, NotPython, isolate_module + +os = isolate_module(os) class Reporter(object): @@ -29,30 +34,20 @@ class Reporter(object): def find_file_reporters(self, morfs): """Find the FileReporters we'll report on. - `morfs` is a list of modules or filenames. + `morfs` is a list of modules or file names. """ - self.file_reporters = self.coverage._get_file_reporters(morfs) + reporters = self.coverage._get_file_reporters(morfs) if self.config.include: - patterns = prep_patterns(self.config.include) - matcher = FnmatchMatcher(patterns) - filtered = [] - for fr in self.file_reporters: - if matcher.match(fr.filename): - filtered.append(fr) - self.file_reporters = filtered + matcher = FnmatchMatcher(prep_patterns(self.config.include)) + reporters = [fr for fr in reporters if matcher.match(fr.filename)] if self.config.omit: - patterns = prep_patterns(self.config.omit) - matcher = FnmatchMatcher(patterns) - filtered = [] - for fr in self.file_reporters: - if not matcher.match(fr.filename): - filtered.append(fr) - self.file_reporters = filtered + matcher = FnmatchMatcher(prep_patterns(self.config.omit)) + reporters = [fr for fr in reporters if not matcher.match(fr.filename)] - self.file_reporters.sort() + self.file_reporters = sorted(reporters) def report_files(self, report_fn, morfs, directory=None): """Run a reporting function on a number of morfs. @@ -84,5 +79,7 @@ class Reporter(object): except NotPython: # Only report errors for .py files, and only if we didn't # explicitly suppress those errors. + # NotPython is only raised by PythonFileReporter, which has a + # should_be_python() method. if fr.should_be_python() and not self.config.ignore_errors: raise |