#!/usr/bin/bash tests=$(find . -type f -name "*_test") ret=0 for test in $tests do printf 'Running %s\n' $(basename $test) $test ret+=$? done if (( $ret == 0 )) then if grep 'enable-coverage:BOOL=YES' "$1/CMakeCache.txt" > /dev/null then echo "Generating coverage reports" rm -rf "$1/coverage" mkdir "$1/coverage" lcov --directory "$1" \ --capture \ --output-file "$1/coverage/lcov.info" > /dev/null lcov --remove "$1/coverage/lcov.info" 'test/*' '/usr/*' \ --output-file "$1/coverage/lcov.info.clean" > /dev/null genhtml -o "$1/coverage/" "$1/coverage/lcov.info.clean" fi fi exit $ret