summaryrefslogtreecommitdiff
path: root/coverage/report.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2022-10-23 14:03:17 -0400
committerNed Batchelder <ned@nedbatchelder.com>2022-10-30 15:45:47 -0400
commitec6205a8de972af6a09453235d02a7ebea6aea8e (patch)
tree2e55057dff55197a0466d8189c2bac6b2d03239c /coverage/report.py
parentb3a1d979f8625e4974eaa7211cdecb211ba90b50 (diff)
downloadpython-coveragepy-git-ec6205a8de972af6a09453235d02a7ebea6aea8e.tar.gz
fix: use glob matching instead of fnmatch. #1407
I didn't understand that fnmatch considers the entire string to be a filename, even if it has slashes in it. This led to incorrect matching. Now we use our own implementation of glob matching to get the correct behavior.
Diffstat (limited to 'coverage/report.py')
-rw-r--r--coverage/report.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/coverage/report.py b/coverage/report.py
index 6382eb51..0c05b044 100644
--- a/coverage/report.py
+++ b/coverage/report.py
@@ -6,7 +6,7 @@
import sys
from coverage.exceptions import CoverageException, NoDataError, NotPython
-from coverage.files import prep_patterns, FnmatchMatcher
+from coverage.files import prep_patterns, GlobMatcher
from coverage.misc import ensure_dir_for_file, file_be_gone
@@ -57,11 +57,11 @@ def get_analysis_to_report(coverage, morfs):
config = coverage.config
if config.report_include:
- matcher = FnmatchMatcher(prep_patterns(config.report_include), "report_include")
+ matcher = GlobMatcher(prep_patterns(config.report_include), "report_include")
file_reporters = [fr for fr in file_reporters if matcher.match(fr.filename)]
if config.report_omit:
- matcher = FnmatchMatcher(prep_patterns(config.report_omit), "report_omit")
+ matcher = GlobMatcher(prep_patterns(config.report_omit), "report_omit")
file_reporters = [fr for fr in file_reporters if not matcher.match(fr.filename)]
if not file_reporters: