Cobertura XML Output
The default output format for gcovr
is to generate a tabular
summary in plain text. The gcovr
command can also generate a
Cobertura XML output using the --cobertura
and --cobertura-pretty
options:
gcovr --cobertura-pretty
This generates an XML summary of the lines executed:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="0.8571428571428571" branch-rate="0.5" lines-covered="6" lines-valid="7" branches-covered="1" branches-valid="2" complexity="0.0" timestamp="1706214941" version="gcovr 7.0">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="0.8571428571428571" branch-rate="0.5" complexity="0.0">
<classes>
<class name="example_cpp" filename="example.cpp" line-rate="0.8571428571428571" branch-rate="0.5" complexity="0.0">
<methods/>
<lines>
<line number="3" hits="1" branch="false"/>
<line number="5" hits="1" branch="true" condition-coverage="50% (1/2)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
<line number="7" hits="0" branch="false"/>
<line number="11" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="17" hits="1" branch="false"/>
<line number="19" hits="1" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>
This XML format is described in the Cobertura XML DTD suitable for import and display within the Jenkins and Hudson continuous integration servers using the Cobertura Plugin. Gcovr also supports a SonarQube XML Output.
The --cobertura
option generates a denser XML output, and the
--cobertura-pretty
option generates an indented
XML output that is easier to read. Note that the XML output contains more
information than the tabular summary. The tabular summary shows the percentage
of covered lines, while the XML output includes branch statistics and the number
of times that each line was covered. Consequently, XML output can be
used to support performance optimization in the same manner that
gcov
does.
Added in version 5.1: The --cobertura
and --cobertura-pretty
options
were added as an alias for -x
/--xml
and --xml-pretty
, respectively.
This avoids confusion with other XML output formats
like SonarQube XML Output.
The old options remain available for backwards compatibility.