Posts

Showing posts from 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…

Introducing gl-adventure

Image
This month (February 2018), I'm freeing gl-adventure (as I've already done for biology and librlgl). A little dungeon crawl game written in C.

This project doesn't intend to create a beautiful game, so it's ugly. It is about learning C/opengl the hard way.

Headers-date switches to revision 14

Image
This little ruby project, introduced earlier in this post, used to test the GNU headers' dates for a complete project, just switched to revision 14. This project, and in the near future all of my public projects, uses an online coverage tool provided by coveralls.io.

This online coverage tool is used to measure which source code is executed when a particular test suite runs. So you can know which part of a project isn't yet tested and improve software quality.