Home | History | Annotate | Download | only in tests
      1 #! /bin/bash
      2 
      3 if [ "x$1" = "x-v" ]; then
      4   verbose=yes
      5 else
      6   verbose=no
      7 fi
      8 
      9 cd ..
     10 
     11 for 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 ..
     40 done
     41