summaryrefslogtreecommitdiff
path: root/coverage/files.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/files.py')
-rw-r--r--coverage/files.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/coverage/files.py b/coverage/files.py
index 72c0bf92..40c126e9 100644
--- a/coverage/files.py
+++ b/coverage/files.py
@@ -177,7 +177,12 @@ class FnmatchMatcher(object):
"""A matcher for files by filename pattern."""
def __init__(self, pats):
self.pats = pats[:]
- self.re = re.compile(join_regex([fnmatch.translate(p) for p in pats]))
+ # fnmatch is platform-specific. On Windows, it does the Windows thing
+ # of treating / and \ as equivalent. But on other platforms, we need to
+ # take care of that ourselves.
+ fnpats = [fnmatch.translate(p) for p in pats]
+ fnpats = [p.replace(r"\/", r"[\\/]") for p in fnpats]
+ self.re = re.compile(join_regex(fnpats))
def __repr__(self):
return "<FnmatchMatcher %r>" % self.pats