a1760a56ff
This script uses expected test results as generated by run-tests --write-exp, and requires only standard unix shell funtionality (no bash). It is useful to run testsuite on embedded systems, where there's no CPython and Bash.
58 lines
1.2 KiB
Bash
Executable File
58 lines
1.2 KiB
Bash
Executable File
#!/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
|