diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2023-01-02 11:33:52 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2023-01-02 12:31:49 -0500 |
commit | d08e6d08cb01d07209bcc5a96807e48eeb593ed9 (patch) | |
tree | 35a5658e4441cde4d32e09cda15a0de42cada672 /coverage/files.py | |
parent | 3f0bce2f5f4658bfa1d9cd6ddb2f6d7e520897e8 (diff) | |
download | python-coveragepy-git-d08e6d08cb01d07209bcc5a96807e48eeb593ed9.tar.gz |
fix: relative_files should keep relative path maps. #1519
Diffstat (limited to 'coverage/files.py')
-rw-r--r-- | coverage/files.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/coverage/files.py b/coverage/files.py index ed37067f..11dbdaa3 100644 --- a/coverage/files.py +++ b/coverage/files.py @@ -395,7 +395,11 @@ class PathAliases: map a path through those aliases to produce a unified path. """ - def __init__(self, debugfn:Optional[Callable[[str], None]]=None, relative:bool=False) -> None: + def __init__( + self, + debugfn: Optional[Callable[[str], None]]=None, + relative: bool=False, + ) -> None: # A list of (original_pattern, regex, result) self.aliases: List[Tuple[str, Regex, str]] = [] self.debugfn = debugfn or (lambda msg: 0) @@ -431,10 +435,11 @@ class PathAliases: if pattern.endswith("*"): raise ConfigError("Pattern must not end with wildcards.") - # The pattern is meant to match a filepath. Let's make it absolute + # The pattern is meant to match a file path. Let's make it absolute # unless it already is, or is meant to match any prefix. - if not pattern.startswith('*') and not isabs_anywhere(pattern + pattern_sep): - pattern = abs_file(pattern) + if not self.relative: + if not pattern.startswith('*') and not isabs_anywhere(pattern + pattern_sep): + pattern = abs_file(pattern) if not pattern.endswith(pattern_sep): pattern += pattern_sep |