120 lines
3.5 KiB
Bash
Executable File
120 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
if [ "$1" != "" ]; then
|
|
BIN_BASE=$1
|
|
else
|
|
BIN_BASE="."
|
|
fi
|
|
|
|
|
|
if [ "$2" != "" ]; then
|
|
LIBRARY_PATH=$2:$LD_LIBRARY_PATH
|
|
else
|
|
LIBRARY_PATH=../lib:$LD_LIBRARY_PATH
|
|
fi
|
|
|
|
|
|
|
|
SUCCESS_COUNT=0
|
|
FAILURE_COUNT=0
|
|
TOTAL_COUNT=0
|
|
|
|
exec_test() {
|
|
TIMELIMIT="$1"
|
|
BINARY="$2"
|
|
|
|
PROLOG="Running $BINARY"
|
|
echo ""
|
|
echo -n -e "$PROLOG"
|
|
|
|
let TOTAL_COUNT=$TOTAL_COUNT+1
|
|
#echo LD_LIBRARY_PATH=$LIBRARY_PATH timeout $TIMELIMIT ./$BINARY
|
|
OUTPUT=$(LD_LIBRARY_PATH=$LIBRARY_PATH timeout $TIMELIMIT ./$BINARY 1>/dev/null 2>&1)
|
|
CODE=$?
|
|
RESULT=""
|
|
REASON=""
|
|
|
|
if [ $CODE -eq 0 ]; then
|
|
RESULT="\e[1m\e[32mOk"
|
|
let SUCCESS_COUNT=$SUCCESS_COUNT+1
|
|
elif [ $CODE -eq 124 ]; then
|
|
RESULT="\e[1m\e[31mFailure"
|
|
REASON="Timeout"
|
|
let FAILURE_COUNT=$FAILURE_COUNT+1
|
|
elif [ $CODE -eq 134 ]; then
|
|
RESULT="\e[1m\e[31mFailure"
|
|
REASON="Exception"
|
|
let FAILURE_COUNT=$FAILURE_COUNT+1
|
|
else
|
|
RESULT="\e[1m\e[31mFailure"
|
|
REASON="Unknown"
|
|
let FAILURE_COUNT=$FAILURE_COUNT+1
|
|
fi
|
|
|
|
STATUSMSG=$RESULT
|
|
if [ -n "$REASON" ]; then
|
|
STATUSMSG="$STATUSMSG ($REASON)"
|
|
fi
|
|
STATUSMSG="$STATUSMSG\e[0m"
|
|
blanks=" "
|
|
echo -e "${blanks:0:${#width}-${#PROLOG}}$STATUSMSG"
|
|
|
|
if [ -n "$OUTPUT" ]; then
|
|
echo -e "$OUTPUT"
|
|
fi
|
|
}
|
|
|
|
|
|
# Run unit tests
|
|
exec_test 10 "$BIN_BASE/for1/for1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/for1/for1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/foreach1/foreach1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/foreach1/foreach1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/pfor1/pfor1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/pfor1/pfor1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/pforeach1/pforeach1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/pforeach1/pforeach1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/while1/while1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/while1/while1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation --if1 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation --if1 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation --if2 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation --if2 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation --if3 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation --if3 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation --if4 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation --if4 false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --early-evaluation --ifall false"
|
|
exec_test 10 "$BIN_BASE/if1/if1.bin --late-evaluation --ifall false"
|
|
exec_test 10 "$BIN_BASE/if2/if2.bin --early-evaluation"
|
|
exec_test 10 "$BIN_BASE/if2/if2.bin --late-evaluation"
|
|
#exec_test 30 "$BIN_BASE/wavefront/wavefront.bin --early-evaluation"
|
|
#exec_test 30 "$BIN_BASE/wavefront/wavefront.bin --late-evaluation"
|
|
#exec_test 260 "$BIN_BASE/sparselu/sparselu-wfr.bin -c --early-evaluation"
|
|
#exec_test 260 "$BIN_BASE/sparselu/sparselu-wfr.bin -c --late-evaluation"
|
|
#exec_test 260 "$BIN_BASE/sparselu-wfr/sparselu-wfr.bin --early-evaluation"
|
|
#exec_test 260 "$BIN_BASE/sparselu-wfr/sparselu-wfr.bin --late-evaluation"
|
|
|
|
# Clean up
|
|
rm -rf *.dot default.sqlite*
|
|
|
|
# Display summary
|
|
|
|
echo ""
|
|
echo -e "\e[1mTotal number of tests: $TOTAL_COUNT\e[0m"
|
|
echo -e "\e[1mNumber of successful tests: $SUCCESS_COUNT\e[0m"
|
|
echo -e "\e[1mNumber of failed tests: $FAILURE_COUNT\e[0m"
|
|
echo ""
|
|
|
|
# Return value
|
|
|
|
RETVAL=0
|
|
if [ $FAILURE_COUNT -ne 0 ]; then
|
|
RETVAL=1
|
|
fi
|
|
|
|
exit $RETVAL
|