diff options
author | Stan Hu <stan.hu@aclimalabs.com> | 2014-02-03 23:33:26 -0800 |
---|---|---|
committer | Stan Hu <stan.hu@aclimalabs.com> | 2014-02-03 23:33:26 -0800 |
commit | 5f113bc7a9272c9917d3c701eb63a6b98005254f (patch) | |
tree | 0c32039f7378eab6b35e13fc49d3d04232599fbf | |
parent | 442a0ba30c5c803e649331d8c6e1e449fcc1a161 (diff) | |
download | python-coveragepy-git-5f113bc7a9272c9917d3c701eb63a6b98005254f.tar.gz |
Issue #94: Include the sources element
-rw-r--r-- | coverage/xmlreport.py | 18 | ||||
-rw-r--r-- | tests/farm/html/gold_x_xml/coverage.xml | 3 | ||||
-rw-r--r-- | tests/farm/html/gold_y_xml_branch/coverage.xml | 3 | ||||
-rw-r--r-- | tests/farm/html/run_a_xml_1.py | 1 | ||||
-rw-r--r-- | tests/farm/html/run_a_xml_2.py | 1 | ||||
-rw-r--r-- | tests/farm/html/run_y_xml_branch.py | 1 | ||||
-rw-r--r-- | tests/farm/html/src/coverage.xml | 3 |
7 files changed, 28 insertions, 2 deletions
diff --git a/coverage/xmlreport.py b/coverage/xmlreport.py index f5a4c1ba..2fb51007 100644 --- a/coverage/xmlreport.py +++ b/coverage/xmlreport.py @@ -17,6 +17,7 @@ class XmlReporter(Reporter): def __init__(self, coverage, config): super(XmlReporter, self).__init__(coverage, config) + self.source_paths = None self.packages = None self.xml_out = None self.arcs = coverage.data.has_arcs() @@ -47,16 +48,28 @@ class XmlReporter(Reporter): xcoverage.appendChild(self.xml_out.createComment( " Generated by coverage.py: %s " % __url__ )) - xpackages = self.xml_out.createElement("packages") - xcoverage.appendChild(xpackages) # Call xml_file for each file in the data. + self.source_paths = set() self.packages = {} self.report_files(self.xml_file, morfs) + xsources = self.xml_out.createElement("sources") + xcoverage.appendChild(xsources) + + # Populate the XML DOM with the source info. + for path in sorted(self.source_paths): + xsource = self.xml_out.createElement("source") + xsources.appendChild(xsource) + txt = self.xml_out.createTextNode(path) + xsource.appendChild(txt) + lnum_tot, lhits_tot = 0, 0 bnum_tot, bhits_tot = 0, 0 + xpackages = self.xml_out.createElement("packages") + xcoverage.appendChild(xpackages) + # Populate the XML DOM with the package info. for pkg_name in sorted(self.packages.keys()): pkg_data = self.packages[pkg_name] @@ -99,6 +112,7 @@ class XmlReporter(Reporter): package_name = cu.name.rpartition(".")[0] className = cu.name + path = self.source_paths.add(cu.file_locator.relative_dir.rstrip('/')) package = self.packages.setdefault(package_name, [{}, 0, 0, 0, 0]) xclass = self.xml_out.createElement("class") diff --git a/tests/farm/html/gold_x_xml/coverage.xml b/tests/farm/html/gold_x_xml/coverage.xml index 912112f2..d5a8c442 100644 --- a/tests/farm/html/gold_x_xml/coverage.xml +++ b/tests/farm/html/gold_x_xml/coverage.xml @@ -3,6 +3,9 @@ SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0" line-rate="0.6667" timestamp="1253972570431" version="3.1b1">
<!-- Generated by coverage.py: http://nedbatchelder.com/code/coverage/VER -->
+ <sources>
+ <source></source>
+ </sources>
<packages>
<package branch-rate="0" complexity="0" line-rate="0.6667" name="">
<classes>
diff --git a/tests/farm/html/gold_y_xml_branch/coverage.xml b/tests/farm/html/gold_y_xml_branch/coverage.xml index ecbe0073..86e9e73c 100644 --- a/tests/farm/html/gold_y_xml_branch/coverage.xml +++ b/tests/farm/html/gold_y_xml_branch/coverage.xml @@ -3,6 +3,9 @@ SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0.5" line-rate="0.8" timestamp="1259288252325" version="3.2b4">
<!-- Generated by coverage.py: http://nedbatchelder.com/code/coverage/VER -->
+ <sources>
+ <source></source>
+ </sources>
<packages>
<package branch-rate="0.5" complexity="0" line-rate="0.8" name="">
<classes>
diff --git a/tests/farm/html/run_a_xml_1.py b/tests/farm/html/run_a_xml_1.py index 3d187023..21d83d55 100644 --- a/tests/farm/html/run_a_xml_1.py +++ b/tests/farm/html/run_a_xml_1.py @@ -16,6 +16,7 @@ runfunc(html_it, rundir="src") compare("gold_x_xml", "xml_1", scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), + (r'<source>(.*)</source>', '<source></source>'), (r'/code/coverage/?[-.\w]*', '/code/coverage/VER'), ]) clean("xml_1") diff --git a/tests/farm/html/run_a_xml_2.py b/tests/farm/html/run_a_xml_2.py index 53691ead..e63e7ead 100644 --- a/tests/farm/html/run_a_xml_2.py +++ b/tests/farm/html/run_a_xml_2.py @@ -16,6 +16,7 @@ runfunc(html_it, rundir="src") compare("gold_x_xml", "xml_2", scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), + (r'<source>(.*)</source>', '<source></source>'), (r'/code/coverage/?[-.\w]*', '/code/coverage/VER'), ]) clean("xml_2") diff --git a/tests/farm/html/run_y_xml_branch.py b/tests/farm/html/run_y_xml_branch.py index 88a2e44e..ab8deef4 100644 --- a/tests/farm/html/run_y_xml_branch.py +++ b/tests/farm/html/run_y_xml_branch.py @@ -16,6 +16,7 @@ runfunc(xml_it, rundir="src") compare("gold_y_xml_branch", "xml_branch", scrubs=[ (r' timestamp="\d+"', ' timestamp="TIMESTAMP"'), (r' version="[-.\w]+"', ' version="VERSION"'), + (r'<source>(.*)</source>', '<source></source>'), (r'/code/coverage/?[-.\w]*', '/code/coverage/VER'), ]) clean("xml_branch") diff --git a/tests/farm/html/src/coverage.xml b/tests/farm/html/src/coverage.xml index 128cf750..e20cdaec 100644 --- a/tests/farm/html/src/coverage.xml +++ b/tests/farm/html/src/coverage.xml @@ -3,6 +3,9 @@ SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0.0" line-rate="0.666666666667" timestamp="1263087779313" version="3.3a1">
<!-- Generated by coverage.py: http://nedbatchelder.com/code/coverage -->
+ <sources>
+ <source></source>
+ </sources>
<packages>
<package branch-rate="0.0" complexity="0.0" line-rate="0.666666666667" name="">
<classes>
|