runtest.sh (721B)
1 #!/bin/sh 2 3 if ./a32 $1 $1.txt ; then 4 echo OKAY: ASSEMBLED $1 5 else 6 echo FAIL: ERROR ASSEMBLING $1 7 exit 1 8 fi 9 10 if vvp testbench +ROM=$1.txt > $1.out ; then 11 echo OKAY: EXECUTED $1 12 else 13 echo FAIL: ERROR EXECUTING $1 14 exit 1 15 fi 16 17 grep '^PC> ' $1.out | grep -v HAZARD > $1.trace 18 19 if [ ! -f $1.gold ] ; then 20 cp $1.trace $1.gold 21 echo "---- ---- ---- ---- ---- ---- ---- ---- ----" 22 cat $1.txt 23 echo "---- ---- ---- ---- ---- ---- ---- ---- ----" 24 cat $1.gold 25 echo "---- ---- ---- ---- ---- ---- ---- ---- ----" 26 echo FAIL: MISSING GOLDEN MASTER $1.gold 27 echo FAIL: PLEASE INSPECT THE TRACE ABOVE 28 exit 1 29 fi 30 31 if diff $1.trace $1.gold ; then 32 echo OKAY: VERIFIED $1 33 else 34 echo FAIL: VERIFICATION FAILED $1 35 exit 1 36 fi 37 38 exit 0