2007-11-04 11:18:05 -08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
TOTAL_ACTUAL=0
|
|
|
|
TOTAL_COVERED=0
|
|
|
|
TOTAL_SOURCE=0
|
|
|
|
TOTAL_PERCENT=0
|
|
|
|
NOT_TESTED=""
|
|
|
|
|
|
|
|
MODULE=$1
|
|
|
|
shift
|
|
|
|
|
|
|
|
process ()
|
|
|
|
{
|
|
|
|
if [ -e ".libs/packagekitd" ]; then
|
|
|
|
gcov $1 &> /dev/null
|
2007-11-11 13:50:26 -08:00
|
|
|
elif [ -e "src/.libs/packagekitd" ]; then
|
|
|
|
gcov $1 &> /dev/null
|
2007-11-04 11:18:05 -08:00
|
|
|
elif [ -e ".libs/libpackagekit.la" ]; then
|
|
|
|
gcov $1 -o .libs &> /dev/null
|
2007-11-11 13:50:26 -08:00
|
|
|
elif [ -e "libpackagekit/.libs/libpackagekit.la" ]; then
|
|
|
|
gcov $1 -o .libs &> /dev/null
|
2007-11-04 11:18:05 -08:00
|
|
|
else
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
if [ ! -e $1.gcov ]; then
|
2007-11-04 14:05:13 -08:00
|
|
|
NOT_TESTED="$1,$NOT_TESTED"
|
2007-11-04 11:18:05 -08:00
|
|
|
return
|
|
|
|
fi
|
|
|
|
SOURCE=`cat $1 |wc -l`
|
|
|
|
ACTUAL=`grep -v " -:" $1.gcov |wc -l`
|
|
|
|
NOT_COVERED=`grep " #####:" $1.gcov |wc -l`
|
|
|
|
COVERED=$(($ACTUAL - $NOT_COVERED))
|
|
|
|
if [ $ACTUAL -ne 0 ]; then
|
|
|
|
PERCENT=$((100 * $COVERED / $ACTUAL))
|
|
|
|
else
|
|
|
|
PERCENT=0
|
|
|
|
fi
|
|
|
|
|
|
|
|
TOTAL_SOURCE=$(($TOTAL_SOURCE + $SOURCE))
|
|
|
|
TOTAL_ACTUAL=$(($TOTAL_ACTUAL + $ACTUAL))
|
|
|
|
TOTAL_COVERED=$(($TOTAL_COVERED + $COVERED))
|
|
|
|
|
|
|
|
echo -n "$1"
|
|
|
|
|
|
|
|
n=${#1}
|
|
|
|
while [ $n -lt 55 ] ; do
|
|
|
|
echo -n " "
|
|
|
|
n=$(($n + 1))
|
|
|
|
done
|
|
|
|
|
|
|
|
echo -n " : "
|
|
|
|
|
|
|
|
if [ $PERCENT -lt 10 ] ; then
|
|
|
|
echo -n " $PERCENT%"
|
|
|
|
elif [ $PERCENT -lt 100 ] ; then
|
|
|
|
echo -n " $PERCENT%"
|
|
|
|
else
|
|
|
|
echo -n "100%"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo " ($COVERED of $ACTUAL)"
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "=============================================================================="
|
|
|
|
echo "Test coverage for module $MODULE:"
|
|
|
|
echo "=============================================================================="
|
|
|
|
|
|
|
|
while [ $# -gt 0 ] ; do
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
"pk-main.c"|"pk-marshal.c"|"pk-security-dummy.c"|"pk-backend-python.c")
|
|
|
|
#ignore these
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
process $1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ $TOTAL_ACTUAL -ne 0 ]; then
|
|
|
|
TOTAL_PERCENT=$((100 * $TOTAL_COVERED / $TOTAL_ACTUAL))
|
|
|
|
fi
|
|
|
|
if [ -n "NOT_TESTED" ]; then
|
|
|
|
echo "NOT TESTED = $NOT_TESTED"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "Source lines : $TOTAL_SOURCE"
|
|
|
|
echo "Actual statements : $TOTAL_ACTUAL"
|
|
|
|
echo "Executed statements : $TOTAL_COVERED"
|
|
|
|
echo "Test coverage : $TOTAL_PERCENT%"
|
|
|
|
echo
|
|
|
|
|