circuitpython/tests/run-tests

56 lines
1023 B
Bash
Executable File

#!/usr/bin/env bash
RM="/bin/rm -f"
CPYTHON3=python3.3
MP_PY=../unix/micropython
numtests=0
numtestcases=0
numpassed=0
numfailed=0
namefailed=
if [ $# -eq 0 ]
then
tests="basics/*.py io/*.py"
else
tests="$@"
fi
for infile in $tests
do
basename=`basename $infile .py`
outfile=${basename}.out
expfile=${basename}.exp
$CPYTHON3 -B $infile > $expfile
$MP_PY $infile > $outfile
((numtestcases = numtestcases + $(cat $expfile | wc -l)))
diff --brief $expfile $outfile > /dev/null
if [ $? -eq 0 ]
then
echo "pass $infile"
$RM $outfile
$RM $expfile
((numpassed=numpassed + 1))
else
echo "FAIL $infile"
((numfailed=numfailed + 1))
namefailed="$namefailed $basename"
fi
((numtests=numtests + 1))
done
echo "$numtests tests performed ($numtestcases individual testcases)"
echo "$numpassed tests passed"
if [[ $numfailed != 0 ]]
then
echo "$numfailed tests failed -$namefailed"
exit 1
else
exit 0
fi