#!/bin/bash TEST_PRO_IN=test.pro.in TEST_PRO=test.pro MAKEFILE=Makefile.test TEST_APP=test_app # Make sure that pracro.cc gets compiled again with the TESTING flags set. rm -f pracro.o if [ -z $1 ] then TESTFILES=test/test*.cc else TESTFILES=$1 fi rm -f test.log for TEST in $TESTFILES do OUTPUT=$TEST.log echo -e "\033[0;2mTesting $TEST:" echo Testing $TEST: > $OUTPUT echo -n "* Compiling $TEST test" echo Compiling $TEST test: >> $OUTPUT echo ${COMPILE} >> $OUTPUT cpp -P -E -DTESTFILE=\"$TEST\" $TEST_PRO_IN -o $TEST_PRO qmake -makefile $TEST_PRO -o $MAKEFILE if make -f $MAKEFILE >> ${OUTPUT} 2>&1 ; then echo -e "\r\t\t\t\t\t\t[\033[1;32mSuccess\033[0;2m]" echo "[Success]" >> $OUTPUT echo -n "* Running $TEST test" echo Running $TEST test: >> $OUTPUT cp -f $TEST_APP $TEST.bin if ./$TEST_APP >> $OUTPUT 2>&1 ; then echo -e "\r\t\t\t\t\t\t[\033[1;32mSuccess\033[0;2m]" echo "[Success]" >> $OUTPUT else echo -e "\r\t\t\t\t\t\t[\033[1;31mFailure\033[0;2m]" echo "[Failure]" >> $OUTPUT fi else echo -e "\r\t\t\t\t\t\t[\033[1;31mFailure\033[0;2m]" echo "[Failure]" >> $OUTPUT fi rm -f $MAKEFILE $TEST_PRO $TEST_APP done # Make sure that a 'normal' compile will compile pracro.cc # without the TESTING flag set rm -f pracro.o