blob: 5cc353c9ca4b45abf514400c7071525da6d70020 [file] [log] [blame]
Brian Silverman86497922018-02-10 19:28:39 -05001#! /bin/bash
2
3if [ "x$1" = "x-v" ]; then
4 verbose=yes
5else
6 verbose=no
7fi
8
9cd ..
10
11for d in lib libasm libdw libdwfl libebl libelf backends src; do
12 tmp=$d-data
13 cd $d
14 unused=0
15 unused_files=
16 for f in *.gcno; do
17 base="$(basename $f .gcno)"
18 fc="$base.c"
19 gcda="$base.gcda"
20 if [ -f "$gcda" ]; then
21 gcov -n -a "$fc" |
22 gawk "/$d.$fc/ { getline; co=gensub(/.*:(.*)% .*/, \"\\\\1\", \"g\"); co=co+0.0; li=\$4+0; printf \"%-35s %6.2f %5d\n\", \"$d/$fc\", co, li } " >> $tmp
23 else
24 unused=$(($unused + 1))
25 unused_files="$unused_files $fc"
26 fi
27 done
28 if [ -f $tmp ]; then
29 gawk "{ copct=\$2; co=(\$3*copct)/100; toco+=(co+0); toli += (\$3+0); } END { printf \"%-12s %6.2f%% covered unused files: %3d\n\", \"$d\", (toco*100)/toli, \"$unused\" }" $tmp
30 rm -f $tmp
31 else
32 printf "%-12s 0.00%% covered unused files: %3d\n" "$d" $unused
33 fi
34 if [ $verbose = yes ]; then
35 for f in $unused_files; do
36 printf '%-42s%s\n' '' $f
37 done
38 fi
39 cd ..
40done