| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/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 don't have CPython3.
- #
- RM="rm -f"
- MP_PY=micropython
- numtests=0
- numtestcases=0
- numpassed=0
- numskipped=0
- numfailed=0
- nameskipped=
- namefailed=
- if [ $# -eq 0 ]
- then
- tests="basics/*.py micropython/*.py float/*.py import/*.py io/*.py misc/*.py unicode/*.py extmod/*.py unix/*.py"
- else
- tests="$@"
- fi
- for infile in $tests
- do
- basename=`basename $infile .py`
- outfile=${basename}.py.out
- expfile=$infile.exp
- $MP_PY $infile > $outfile
- numtestcases=$(expr $numtestcases + $(cat $expfile | wc -l))
- if grep -q "SKIP\|SyntaxError: invalid micropython decorator" $outfile
- then
- # we don't count tests that explicitly ask to be skipped
- # we don't count tests that fail due to unsupported decorator
- echo "skip $infile"
- $RM $outfile
- numskipped=$(expr $numskipped + 1)
- nameskipped="$nameskipped $basename"
- else
- 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
- fi
- numtests=$(expr $numtests + 1)
- done
- echo "$numtests tests performed ($numtestcases individual testcases)"
- echo "$numpassed tests passed"
- if [ $numskipped != 0 ]
- then
- echo "$numskipped tests skipped -$nameskipped"
- fi
- if [ $numfailed != 0 ]
- then
- echo "$numfailed tests failed -$namefailed"
- exit 1
- else
- exit 0
- fi
|