From c066468236019c1d7b437e73e376d4bb58e39f37 Mon Sep 17 00:00:00 2001 From: James Fraser Date: Mon, 18 Feb 2019 23:26:56 +1100 Subject: [PATCH] Init coverage script --- script.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 script.sh diff --git a/script.sh b/script.sh new file mode 100755 index 0000000..d4e828e --- /dev/null +++ b/script.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +fff_len=`cat fff.h | wc -l` +# test/fff_test_c.c +gcc -E test/fff_test_c.c > out +comm -13 <(sort < fff.h | uniq) <(sort < out | uniq) > unique_to_out # strip out fff.h include +awk 'FNR==NR{a[$1];next}($1 in a){print}' unique_to_out fff.h > matched # find unique matches +grep -Fxf <(sort < matched | uniq) <(sort < fff.h | uniq) > coverage # find coverage of matches in fff.h +cov_len=`cat coverage | wc -l` +echo "test/fff_test_c.c coverage:" +echo "$cov_len / $fff_len" | bc -l + +# test/fff_test_cpp.cpp +gcc -E test/fff_test_cpp.cpp -I . > out +comm -13 <(sort < fff.h | uniq) <(sort < out | uniq) > unique_to_out +awk 'FNR==NR{a[$1];next}($1 in a){print}' unique_to_out fff.h > matched +grep -Fxf <(sort < matched | uniq) <(sort < fff.h | uniq) > coverage +cov_len_2=`cat coverage | wc -l` +echo "test/fff_test_cpp.cpp coverage:" +echo "$cov_len_2 / $fff_len" | bc -l + +# total coverage +echo "TOTAL COVERAGE:" +echo "($cov_len + $cov_len_2) / ($fff_len * 2)" | bc -l