Files
ispc/run_tests.sh
2011-06-24 17:05:24 -07:00

58 lines
1.1 KiB
Bash
Executable File

#!/bin/zsh
surprises=0
verbose=false
number=$(ls -1 tests/*.ispc|wc -l)
counter=1
while getopts ":v" opt;do
case $opt in
v) verbose=true
;;
esac
done
echo Running correctness tests
for i in tests/*.ispc; do
if $verbose; then
echo -en "Running test $counter of $number.\r"
fi
(( counter++ ))
bc=${i%%ispc}bc
ispc -O2 $i -woff -o $bc --emit-llvm --target=sse4
if [[ $? != 0 ]]; then
surprises=1
echo Test $i FAILED ispc compile
echo
else
ispc_test $bc
if [[ $? != 0 ]]; then
surprises=1
echo Test $i FAILED ispc_test
echo
fi
# cmp $bc tests_bitcode${bc##tests}
# if [[ $? == 0 ]]; then
# /bin/rm $bc
# fi
fi
/bin/rm $bc
done
echo Running failing tests
for i in failing_tests/*.ispc; do
(ispc -O2 $i -woff -o - --emit-llvm | ispc_test -) 2>/dev/null 1>/dev/null
if [[ $? == 0 ]]; then
surprises=1
echo Test $i UNEXPECTEDLY PASSED
echo
fi
done
if [[ $surprises == 0 ]]; then
echo No surprises.
fi
exit $surprises