gcov to Clover Reports in Bamboo

I am using gcov to generate coverate reports against our legacy C code base. Then I use gcov_to_clover.py to convert the gcov reports to Clover XML reports.

In Bamboo, on the "Plan Summary" page, there is a Clover tab, and it looks like it's supposed to (I think... there's a % summary, and charts for coverage history and lines of code history).

There is also a Clover tab on the "Job Summary" page, but this one does not show any reports. Given our gcov to Clover method, is it possible to have coverage statistics displayed on the "Job Summary" -> Clover page?

This page:

https://confluence.atlassian.com/display/BAMBOO/Getting+gcov+results+in+Clover+coverage+summary

says "it is possible to display C/C++ coverage statistics on "Clover" tab on "Job Summary" and "Plan Summary" pages," but I do not understand how to get it going. I have the Clover Report (System) artifact definition pointing to the root directory of the build, with file pattern **/clover.xml. I suspect this is not right. I believe this would normally point to the html artifacts produced by Clover, and I am not sure what it should point to in my case, since gcov does not produce the same type of html reporting.

If it's not possible, that's fine (having coverage summaries at all is more than I expected), but I just want to be sure before I stop digging. Any help is appreciated!

2 answers

1 accepted

1 votes

Hello Aaron,

The "Clover Report (System)" artifact is required for HTML report, so it's not applicable in your case; you can remove it.

Due to fact that gcov_to_clover.py creates XML report you have to enter it's location in the Clover XML Location field on the "Job configuration > Miscellaneous" page.

See:

Cheers
Marek

PS: you shall see just basic statistics like these:

Viewing+the+Clover+code-coverage+for+a+build

Thanks -- I am exploring the use of lcov to generate the HTML reports, and then just pointing the Clover Reporting (System) artifact to them. Seems like I would be able to get very near the Clover HTML reports this way.

Hey Aaron, did you ever get this working?

Actually, we also got lcov working for html reports. Simply

a) instrument your code with --coverage and run the gcov_to_clover.py as described to create clover.xml

b) execute your tests to create gcda files

c) add the following two tasks to your job:

lcov --capture --base-directory . --directory . --output-file coverage.info --no-external

genhtml coverage.info --output-directory target/site/clover

The first command will create the LCOV report, the second command will create the html output in the target/site/clover subdirectory, which is where bamboo expects it. Note that the lines of code coverage history that you can see under "Show history" is taken from the clover.xml file and not from the html report.

Suggest an answer

Log in or Join to answer
Community showcase
Teodora [Botron]
Published Thursday in Marketplace Apps

Jira Inferno: The Nine Circles of Jira Administration Hell

If you spend enough time as a Jira admin - whether you are managing a single, mid-sized instance, a large enterprise one or juggling multiple instances at once - you will eventually find yourself in ...

396 views 1 13
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot