Posts

Showing posts from May, 2018

How to use codecov.io in a C/C++ project

Image
If you need a good code coverage web reporting tool for a github-hosted project, codecov.io may be your next best friend. I'm already using it on biology and rainbrurpg).

The present article is usable on a C/C++ project using cmake as build system and travis-ci as CI platform.


Handling coverage in cmake You first need to install some package (at least on Debian GNU/Linux) :
sudo apt install gcov lcov gcovr
Then, copy the CodeCoverage.cmake in a cmake/ directory inside your project's repository and add this line to your CMakeLists.txt file:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) Generate coverage reports and send them Now, you need to modify your .travis.yml file and add this : after_success: # Creating report - cd ${TRAVIS_BUILD_DIR} - lcov --version - lcov --directory . --capture --output-file coverage.info - lcov --remove coverage.info '/usr/*' --output-file coverage.info - lcov --list coverage.info #debug info # Uplo…