58 lines
1.2 KiB
Bash
58 lines
1.2 KiB
Bash
|
#!/bin/sh
|
||
|
#
|
||
|
# This is plain shell variant of run-tests script, which uses .exp files
|
||
|
# as generated by run-tests --write-exp. It is useful to run testsuite
|
||
|
# on embedded systems which doesn't have CPython3.
|
||
|
#
|
||
|
|
||
|
RM="rm -f"
|
||
|
MP_PY=micropython
|
||
|
|
||
|
numtests=0
|
||
|
numtestcases=0
|
||
|
numpassed=0
|
||
|
numfailed=0
|
||
|
namefailed=
|
||
|
|
||
|
if [ $# -eq 0 ]
|
||
|
then
|
||
|
tests="basics/*.py micropython/*.py float/*.py import/*.py io/*.py misc/*.py"
|
||
|
else
|
||
|
tests="$@"
|
||
|
fi
|
||
|
|
||
|
for infile in $tests
|
||
|
do
|
||
|
basename=`basename $infile .py`
|
||
|
outfile=${basename}.out
|
||
|
expfile=$infile.exp
|
||
|
|
||
|
$MP_PY $infile > $outfile
|
||
|
numtestcases=$(expr $numtestcases + $(cat $expfile | wc -l))
|
||
|
|
||
|
diff --brief $expfile $outfile > /dev/null
|
||
|
|
||
|
if [ $? -eq 0 ]
|
||
|
then
|
||
|
echo "pass $infile"
|
||
|
$RM $outfile
|
||
|
numpassed=$(expr $numpassed + 1)
|
||
|
else
|
||
|
echo "FAIL $infile"
|
||
|
numfailed=$(expr $numfailed + 1)
|
||
|
namefailed="$namefailed $basename"
|
||
|
fi
|
||
|
|
||
|
numtests=$(expr $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
|