46 lines
1016 B
Bash
46 lines
1016 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
black='\E[30m'
|
||
|
red='\E[31m'
|
||
|
green='\E[32m'
|
||
|
yellow='\E[33m'
|
||
|
blue='\E[34m'
|
||
|
magenta='\E[35m'
|
||
|
cyan='\E[36m'
|
||
|
white='\E[37m'
|
||
|
|
||
|
if [ -f $2 ]; then
|
||
|
data=$2
|
||
|
if [ -f $1.summ ]; then rm $1.summ; fi
|
||
|
if [ -f $1.snap ]; then rm $1.snap; fi
|
||
|
else
|
||
|
data=$1
|
||
|
fi
|
||
|
|
||
|
if ! ./$1 < $data > /dev/null 2> .runtest.log ; then
|
||
|
echo -e $red Test $1 failed: $black
|
||
|
echo -e $blue
|
||
|
cat .runtest.log
|
||
|
echo -e $black
|
||
|
exit 1
|
||
|
else
|
||
|
if [ -f $1.summ ]; then
|
||
|
if [ `grep "FATAL ERROR" $1.summ | wc -l` -gt 0 ]; then
|
||
|
echo -e $red "Test $1 failed (FATAL ERROR, read the file $1.summ for details)" $black
|
||
|
echo -e $blue
|
||
|
cat .runtest.log
|
||
|
echo -e $black
|
||
|
exit 1;
|
||
|
fi
|
||
|
|
||
|
if [ `grep "FAILED THE TESTS OF ERROR-EXITS" $1.summ | wc -l` -gt 0 ]; then
|
||
|
echo -e $red "Test $1 failed (FAILED THE TESTS OF ERROR-EXITS, read the file $1.summ for details)" $black
|
||
|
echo -e $blue
|
||
|
cat .runtest.log
|
||
|
echo -e $black
|
||
|
exit 1;
|
||
|
fi
|
||
|
fi
|
||
|
echo -e $green Test $1 passed$black
|
||
|
fi
|