diff options
author | blmorris <bryan.morrissey@gmail.com> | 2014-07-15 12:28:49 -0400 |
---|---|---|
committer | blmorris <bryan.morrissey@gmail.com> | 2014-07-15 12:28:49 -0400 |
commit | 0429d35f37532d2a981e704f014a248da9b157d8 (patch) | |
tree | 89b46c4453ba89072ac6926b930acf1276a79b7b /tests/run-tests-exp.sh | |
parent | 847a6b30b17493853322532a40f48afb1d975d2e (diff) | |
parent | dce8876dbe272d34d8d28aac21b4a4c3bdea0317 (diff) | |
download | micropython-0429d35f37532d2a981e704f014a248da9b157d8.tar.gz micropython-0429d35f37532d2a981e704f014a248da9b157d8.zip |
Merge https://github.com/micropython/micropython
Diffstat (limited to 'tests/run-tests-exp.sh')
-rwxr-xr-x | tests/run-tests-exp.sh | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/run-tests-exp.sh b/tests/run-tests-exp.sh new file mode 100755 index 0000000000..032c42dd3b --- /dev/null +++ b/tests/run-tests-exp.sh @@ -0,0 +1,57 @@ +#!/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 |