diff --git a/scripts/lcov.sh b/scripts/lcov.sh index 2d2f42bcbc..79c5c9fd28 100755 --- a/scripts/lcov.sh +++ b/scripts/lcov.sh @@ -51,8 +51,8 @@ lcov_library_report () { # Ubuntu 16.04 is affected, 18.04 and above are not. # https://github.com/linux-test-project/lcov/commit/632c25a0d1f5e4d2f4fd5b28ce7c8b86d388c91f COVTMP=$PWD/Coverage/tmp - lcov --capture --initial --directory $library_dir -o "$COVTMP/files.info" - lcov --rc lcov_branch_coverage=1 --capture --directory $library_dir -o "$COVTMP/tests.info" + lcov --capture --initial ${lcov_dirs} -o "$COVTMP/files.info" + lcov --rc lcov_branch_coverage=1 --capture ${lcov_dirs} -o "$COVTMP/tests.info" lcov --rc lcov_branch_coverage=1 --add-tracefile "$COVTMP/files.info" --add-tracefile "$COVTMP/tests.info" -o "$COVTMP/all.info" lcov --rc lcov_branch_coverage=1 --remove "$COVTMP/all.info" -o "$COVTMP/final.info" '*.h' gendesc tests/Descriptions.txt -o "$COVTMP/descriptions" @@ -64,9 +64,13 @@ lcov_library_report () { # Reset the traces to 0. lcov_reset_traces () { # Location with plain make - rm -f $library_dir/*.gcda + for dir in ${library_dirs}; do + rm -f ${dir}/*.gcda + done # Location with CMake - rm -f $library_dir/CMakeFiles/*.dir/*.gcda + for dir in ${library_dirs}; do + rm -f ${dir}/CMakeFiles/*.dir/*.gcda + done } if [ $# -gt 0 ] && [ "$1" = "--help" ]; then @@ -75,13 +79,18 @@ if [ $# -gt 0 ] && [ "$1" = "--help" ]; then fi if in_mbedtls_repo; then - library_dir='library' + library_dirs='library tf-psa-crypto/core tf-psa-crypto/drivers/builtin' title='Mbed TLS' else - library_dir='core' + library_dirs='core drivers/builtin' title='TF-PSA-Crypto' fi +lcov_dirs="" +for dir in ${library_dirs}; do + lcov_dirs="${lcov_dirs} --directory ${dir}" +done + main=lcov_library_report while getopts r OPTLET; do case $OPTLET in