#***************************************************************************
# runtests.sh
# --------------------------------------
# Date : Sun Sep 16 12:21:00 AKDT 2007
# Copyright : (C) 2007 by Gary E. Sherman
# Email : sherman at mrcc dot com
#***************************************************************************
#* *
#* This program is free software; you can redistribute it and/or modify *
#* it under the terms of the GNU General Public License as published by *
#* the Free Software Foundation; either version 2 of the License, or *
#* (at your option) any later version. *
#* *
#***************************************************************************/
#!/bin/bash
#set -x
DIRS=`ls -1F | grep '/$'`
OUTFILE=/tmp/qgistest.`date +%d%h%Y_%H%M`.html
TOTALDIRS=0
TOTALEXES=0
TOTALFAILED=0
TOTALPASSED=0
TOTALSKIPPED=0
echo "" > ${OUTFILE}
echo "
" >> ${OUTFILE}
echo "" >> ${OUTFILE}
echo "" >> ${OUTFILE}
echo "" >> ${OUTFILE}
echo "" >> ${OUTFILE}
echo "
QGIS Unit Tests
" >> ${OUTFILE}
echo "
`date +'%d %h %Y : %H h %M'`
" >> ${OUTFILE}
for DIR in $DIRS
do
echo "
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
#print col headers
echo "
" >> ${OUTFILE}
echo "
#
" >> ${OUTFILE}
echo "
P
" >> ${OUTFILE}
echo "
F
" >> ${OUTFILE}
echo "
S
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
TOTALDIREXES=0
TOTALDIRFAILED=0
TOTALDIRPASSED=0
TOTALDIRSKIPPED=0
LIST=`find $DIR -maxdepth 1 -type f -perm +111 | egrep -v '(\.sh$|\.pl$)'`
for FILE in $LIST
do
RESULT=`${FILE} | grep '^Totals:'`
PASSED=`echo ${RESULT} | awk '{print $2}'`
FAILED=`echo ${RESULT} | awk '{print $4}'`
SKIPPED=`echo ${RESULT} | awk '{print $6}'`
TOTALDIRFAILED=`expr $TOTALDIRFAILED + $FAILED`
TOTALDIRPASSED=`expr $TOTALDIRPASSED + $PASSED`
TOTALDIRSKIPPED=`expr $TOTALDIRSKIPPED + $SKIPPED`
TOTALDIREXES=`expr $TOTALDIREXES + 1`
TOTALFAILED=`expr $TOTALFAILED + $FAILED`
TOTALPASSED=`expr $TOTALPASSED + $PASSED`
TOTALSKIPPED=`expr $TOTALSKIPPED + $SKIPPED`
TOTALEXES=`expr $TOTALEXES + 1`
if (( $FAILED ))
then
echo "
" >> ${OUTFILE}
else
echo "
" >> ${OUTFILE}
fi
echo "
$FILE
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
echo "
$PASSED
" >> ${OUTFILE}
echo "
$FAILED
" >> ${OUTFILE}
echo "
$SKIPPED
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
done
TOTALDIRS=`expr $TOTALDIRS + 1`
echo "-------------------------------"
echo "MODULE : $DIR"
echo "-------------------------------"
echo "MODULE TESTS : ${TOTALDIREXES}"
echo "MODULE TEST CASES PASSED : ${TOTALDIRPASSED}"
echo "MODULE TEST CASES FAILED : ${TOTALDIRFAILED}"
echo "MODULE TEST CASES SKIPPED : ${TOTALDIRSKIPPED}"
if (( $DIRFAILED ))
then
echo "
" >> ${OUTFILE}
else
echo "
" >> ${OUTFILE}
fi
echo "
Totals:
" >> ${OUTFILE}
echo "
$TOTALDIREXES
" >> ${OUTFILE}
echo "
$TOTALDIRPASSED
" >> ${OUTFILE}
echo "
$TOTALDIRFAILED
" >> ${OUTFILE}
echo "
$TOTALDIRSKIPPED
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
done
echo "-------------------------------"
echo " TOTALS :"
echo "-------------------------------"
echo "TOTAL TESTS : ${TOTALEXES}"
echo "TOTAL TEST CASES PASSED : ${TOTALPASSED}"
echo "TOTAL TEST CASES FAILED : ${TOTALFAILED}"
echo "TOTAL TEST CASES SKIPPED : ${TOTALSKIPPED}"
echo "
" >> ${OUTFILE}
if (( $TOTALFAILED ))
then
echo "
" >> ${OUTFILE}
else
echo "
" >> ${OUTFILE}
fi
echo "
Totals:
" >> ${OUTFILE}
echo "
$TOTALEXES
" >> ${OUTFILE}
echo "
$TOTALPASSED
" >> ${OUTFILE}
echo "
$TOTALFAILED
" >> ${OUTFILE}
echo "
$TOTALSKIPPED
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
echo "
" >> ${OUTFILE}
echo "" >> ${OUTFILE}
echo "" >> ${OUTFILE}
firefox ${OUTFILE}