#*************************************************************************** # 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 "
Module : ${DIR}

" >> ${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 "
Global Summary:

" >> ${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}