C++ Code Coverage

26 Aug 2022

[ development  ci  cd  cmake  ]

Steps

CMakeLists.txt

WORKING_DIRECTORY ${CMAKE_BINARY_DIR}

# Code coverage results with an optimised (non-Debug) build may be misleading
CMAKE_CXX_FLAGS "-g -O0 -Wall -fprofile-arcs -ftest-coverage"
CMAKE_C_FLAGS "-g -O0 -Wall -W -fprofile-arcs -ftest-coverage")

LINK_LIBRARIES(gcov)

Compile_options

-fprofile-arcs
-ftest-coverage
--coverage

Notes

lcov –directory . –capture –output-file name.info lcov –remove name.info ‘tests/’ ‘/usr/’ –output-file name.info.cleaned

* Generate the HTML report

genhtml name.info genhtml -o out name.info –ignore-errors source

genhtml -o name name.info.cleaned cmake -E remove name.info name.info.cleaned ```