Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add methods to cobertura report #655

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Breaking changes:

New features and notable changes:
- Accept `NAN %` which is used in GCOV 7.5.0 instead of an invalid value. (:issue:`651`)
- Add methods to cobertura XML report. (:issue:`655`)

Bug fixes and small improvements:
- Fix :option:`--html-tab-size` feature. (:issue:`650`)
Expand Down
28 changes: 24 additions & 4 deletions doc/examples/example_xml.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,34 @@
<?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" function-rate="1.0" functions-covered="2" functions-valid="2" complexity="0.0" timestamp="1573053861" version="gcovr 5.2">
<coverage line-rate="0.85714" function-rate="1.0" branch-rate="0.5" lines-covered="6" lines-valid="7" functions-covered="2" functions-valid="2" branches-covered="1" branches-valid="2" complexity="0.0" timestamp="1573053861" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="0.8571428571428571" branch-rate="0.5" function-rate="1.0" complexity="0.0">
<package name="" line-rate="0.85714" function-rate="1.0" 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/>
<class name="example_cpp" filename="example.cpp" line-rate="0.85714" branch-rate="0.5" complexity="0.0">
<methods>
<method name="foo" signature="(int)" line-rate="0.75" branch-rate="0.5" complexity="0.0">
<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"/>
</lines>
</method>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="15" hits="1" branch="false"/>
<line number="17" hits="1" branch="false"/>
<line number="19" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="3" hits="1" branch="false"/>
<line number="5" hits="1" branch="true" condition-coverage="50% (1/2)">
Expand Down
35 changes: 31 additions & 4 deletions gcovr/tests/add_coverages/reference/clang-10/coverage.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.0" lines-covered="12" lines-valid="12" functions-covered="3" functions-valid="3" branches-covered="0" branches-valid="0" complexity="0.0" timestamp="1649531559" version="gcovr 5.1">
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.0" lines-covered="12" lines-valid="12" functions-covered="3" functions-valid="3" branches-covered="0" branches-valid="0" complexity="0.0" timestamp="1660076691" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="1.0" function-rate="1.0" branch-rate="0.0" complexity="0.0">
<classes>
<class name="bar_cpp" filename="bar.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="_Z3barv" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -17,7 +26,16 @@
</lines>
</class>
<class name="foo_cpp" filename="foo.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="_Z3foov" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -26,7 +44,16 @@
</lines>
</class>
<class name="main_cpp" filename="main.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="18" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
Expand Down
67 changes: 67 additions & 0 deletions gcovr/tests/add_coverages/reference/clang-13/coverage.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.0" lines-covered="12" lines-valid="12" functions-covered="3" functions-valid="3" branches-covered="0" branches-valid="0" complexity="0.0" timestamp="1660076792" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="1.0" function-rate="1.0" branch-rate="0.0" complexity="0.0">
<classes>
<class name="bar_cpp" filename="bar.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods>
<method name="bar" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</class>
<class name="foo_cpp" filename="foo.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods>
<method name="foo" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</class>
<class name="main_cpp" filename="main.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="18" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="18" hits="2" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>
40 changes: 36 additions & 4 deletions gcovr/tests/add_coverages/reference/gcc-5/coverage.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.5" lines-covered="13" lines-valid="13" functions-covered="3" functions-valid="3" branches-covered="2" branches-valid="4" complexity="0.0" timestamp="1649529308" version="gcovr 5.1">
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.5" lines-covered="13" lines-valid="13" functions-covered="3" functions-valid="3" branches-covered="2" branches-valid="4" complexity="0.0" timestamp="1660076044" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="1.0" function-rate="1.0" branch-rate="0.5" complexity="0.0">
<classes>
<class name="bar_cpp" filename="bar.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="bar" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -17,7 +26,16 @@
</lines>
</class>
<class name="foo_cpp" filename="foo.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="foo" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -26,7 +44,21 @@
</lines>
</class>
<class name="main_cpp" filename="main.cpp" line-rate="1.0" branch-rate="0.5" complexity="0.0">
<methods/>
<methods>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.5" complexity="0.0">
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="18" hits="2" branch="false"/>
<line number="19" hits="6" branch="true" condition-coverage="50% (2/4)">
<conditions>
<condition number="0" type="jump" coverage="50%"/>
</conditions>
</line>
</lines>
</method>
</methods>
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
Expand Down
35 changes: 31 additions & 4 deletions gcovr/tests/add_coverages/reference/gcc-8/coverage.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.0" lines-covered="12" lines-valid="12" functions-covered="3" functions-valid="3" branches-covered="0" branches-valid="0" complexity="0.0" timestamp="1649529904" version="gcovr 5.1">
<coverage line-rate="1.0" function-rate="1.0" branch-rate="0.0" lines-covered="12" lines-valid="12" functions-covered="3" functions-valid="3" branches-covered="0" branches-valid="0" complexity="0.0" timestamp="1660076289" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="1.0" function-rate="1.0" branch-rate="0.0" complexity="0.0">
<classes>
<class name="bar_cpp" filename="bar.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="bar" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -17,7 +26,16 @@
</lines>
</class>
<class name="foo_cpp" filename="foo.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="foo" signature="()" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="1" hits="1" branch="false"/>
<line number="3" hits="1" branch="false"/>
Expand All @@ -26,7 +44,16 @@
</lines>
</class>
<class name="main_cpp" filename="main.cpp" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<methods/>
<methods>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
<line number="15" hits="1" branch="false"/>
<line number="18" hits="2" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="10" hits="2" branch="false"/>
<line number="12" hits="1" branch="false"/>
Expand Down
25 changes: 23 additions & 2 deletions gcovr/tests/bad++char/reference/clang-10/coverage.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,35 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="0.875" function-rate="1.0" branch-rate="0.5" lines-covered="7" lines-valid="8" functions-covered="2" functions-valid="2" branches-covered="1" branches-valid="2" complexity="0.0" timestamp="1649531561" version="gcovr 5.1">
<coverage line-rate="0.875" function-rate="1.0" branch-rate="0.5" lines-covered="7" lines-valid="8" functions-covered="2" functions-valid="2" branches-covered="1" branches-valid="2" complexity="0.0" timestamp="1660076692" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="0.875" function-rate="1.0" branch-rate="0.5" complexity="0.0">
<classes>
<class name="main_cpp" filename="main.cpp" line-rate="0.875" branch-rate="0.5" complexity="0.0">
<methods/>
<methods>
<method name="_Z3fooi" signature="-" line-rate="0.8" branch-rate="0.5" complexity="0.0">
<lines>
<line number="4" 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="6" hits="0" branch="false"/>
<line number="8" hits="1" branch="false"/>
<line number="10" hits="1" branch="false"/>
</lines>
</method>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="13" hits="1" branch="false"/>
<line number="14" hits="1" branch="false"/>
<line number="16" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="4" hits="1" branch="false"/>
<line number="5" hits="1" branch="true" condition-coverage="50% (1/2)">
Expand Down
51 changes: 51 additions & 0 deletions gcovr/tests/bad++char/reference/clang-13/coverage.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'>
<coverage line-rate="0.875" function-rate="1.0" branch-rate="0.5" lines-covered="7" lines-valid="8" functions-covered="2" functions-valid="2" branches-covered="1" branches-valid="2" complexity="0.0" timestamp="1660076793" version="gcovr 5.2">
<sources>
<source>.</source>
</sources>
<packages>
<package name="" line-rate="0.875" function-rate="1.0" branch-rate="0.5" complexity="0.0">
<classes>
<class name="main_cpp" filename="main.cpp" line-rate="0.875" branch-rate="0.5" complexity="0.0">
<methods>
<method name="foo" signature="(int)" line-rate="0.8" branch-rate="0.5" complexity="0.0">
<lines>
<line number="4" 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="6" hits="0" branch="false"/>
<line number="8" hits="1" branch="false"/>
<line number="10" hits="1" branch="false"/>
</lines>
</method>
<method name="main" signature="-" line-rate="1.0" branch-rate="0.0" complexity="0.0">
<lines>
<line number="13" hits="1" branch="false"/>
<line number="14" hits="1" branch="false"/>
<line number="16" hits="1" branch="false"/>
</lines>
</method>
</methods>
<lines>
<line number="4" 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="6" hits="0" branch="false"/>
<line number="8" hits="1" branch="false"/>
<line number="10" hits="1" branch="false"/>
<line number="13" hits="1" branch="false"/>
<line number="14" hits="1" branch="false"/>
<line number="16" hits="1" branch="false"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>