bench.sh zaehlt nur dann die Instruktionen, wenn eine Referenzdatei existiert.
[testub10.git] / scripts / bench.sh
index 02738d644ec9594e4ffda1ea7807e4dade34ebca..009a0f14669a70ae3951ece9e0ab4cba6c999bde 100755 (executable)
@@ -74,14 +74,30 @@ for i in $TEST/*.0; do
        if [ -f $TEST/${bi}.instr ]; then
                ti=`cat $TEST/$bi.instr`
        else
-               echo "err: fuer den testfall \"$bi\" existiert noch keine referenzdatei"
+               echo "err: fuer den testfall \"$bi\" existiert noch keine referenzdatei. instruktionen werden verworfen."
                ti=0
        fi
-    echo "$bi: $ni (referenz: $ti)"
+
+       if [ $ni -gt $ti ]; then
+               #red
+               bcolor="\033[01;31m"
+       else
+               if [ $ni -eq $ti ]; then
+                       #gray
+                       bcolor="\033[01;30m"
+               else
+                       #green
+                       bcolor="\033[01;32m"
+               fi
+       fi
+
+    echo -e "$bcolor $bi: $ni (referenz: $ti) \033[0m"
     echo "$bi $ni" >> $RESULT
 
-       let gni=gni+$ni
-       let gti=gti+$ti
+       if [ -f $TEST/${bi}.instr ]; then
+               let gni=gni+$ni
+               let gti=gti+$ti
+       fi
 
     # remove waste
     rm -f $TMPNAME $TMPNAME.s $TMPNAME.trace