diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2020-03-15 18:48:38 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2020-03-15 18:48:38 -0400 |
commit | f668d6f32e2d0864ee84e5f556860a085bc6ecfb (patch) | |
tree | 16e256dae636b1fab94475151b42f716cb5cc1ab /coverage/xmlreport.py | |
parent | fa2e0e49fea9f6cbaab9e2dc3a203dc59b8fb2c2 (diff) | |
download | python-coveragepy-git-f668d6f32e2d0864ee84e5f556860a085bc6ecfb.tar.gz |
relative_files makes XML store relative paths. #948.
Diffstat (limited to 'coverage/xmlreport.py')
-rw-r--r-- | coverage/xmlreport.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/coverage/xmlreport.py b/coverage/xmlreport.py index 265bf02c..ad44775f 100644 --- a/coverage/xmlreport.py +++ b/coverage/xmlreport.py @@ -41,7 +41,9 @@ class XmlReporter(object): if self.config.source: for src in self.config.source: if os.path.exists(src): - self.source_paths.add(files.canonical_filename(src)) + if not self.config.relative_files: + src = files.canonical_filename(src) + self.source_paths.add(src) self.packages = {} self.xml_out = None @@ -144,18 +146,18 @@ class XmlReporter(object): # are populated later. Note that a package == a directory. filename = fr.filename.replace("\\", "/") for source_path in self.source_paths: + source_path = files.canonical_filename(source_path) if filename.startswith(source_path.replace("\\", "/") + "/"): rel_name = filename[len(source_path)+1:] break else: rel_name = fr.relative_filename() + self.source_paths.add(fr.filename[:-len(rel_name)].rstrip(r"\/")) dirname = os.path.dirname(rel_name) or u"." dirname = "/".join(dirname.split("/")[:self.config.xml_package_depth]) package_name = dirname.replace("/", ".") - if rel_name != fr.filename: - self.source_paths.add(fr.filename[:-len(rel_name)].rstrip(r"\/")) package = self.packages.setdefault(package_name, [{}, 0, 0, 0, 0]) xclass = self.xml_out.createElement("class") |