summaryrefslogtreecommitdiff
path: root/util/romcc/do_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/romcc/do_tests.sh')
-rw-r--r--util/romcc/do_tests.sh96
1 files changed, 96 insertions, 0 deletions
diff --git a/util/romcc/do_tests.sh b/util/romcc/do_tests.sh
new file mode 100644
index 0000000000..fdbe2a6189
--- /dev/null
+++ b/util/romcc/do_tests.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+type="simple"
+if [ -n "$1" ] ; then
+ type=$1
+fi
+if [ "$type" = "simple" ] ; then
+LIST="18 57 21 79 77 40 62 52 65 78 63 81 80 64 12 8 9 7 53 58 37 35 48 11 75 51 49 41 71 23 70 16 13 24 31 55 19 69 67 66 17 28 68 61 32 33 43 60 45 47 36 10 46 15 3 29 50 56 76 34 74 25 26 27 20 1 14 73 5 4"
+LIST="82 83 $LIST"
+BASE="simple_test"
+#REG_SKIP="34 73 5 33 45 47 25 27 26 20 "
+#SKIP="$REG_SKIP"
+EXPECTED_BAD="34 73 5 4"
+fi
+if [ "$type" = "linux" ] ; then
+LIST="1 2 3 4 5 6 7 8 9 10 11 12"
+BASE="linux_test"
+#SKIP="5"
+EXPECTED_BAD=""
+fi
+if [ "$type" = "raminit" ] ; then
+LIST="1 2 3 4 5 6"
+BASE="raminit_test"
+#SKIP="6"
+EXPECTED_BAD=""
+fi
+if [ "$type" = "hello" ] ; then
+LIST="1 2"
+BASE="hello_world"
+EXPECTED_BAD=""
+fi
+
+
+SKIPPED=""
+GOOD=""
+BAD=""
+OLD_BAD=""
+NEW_BAD=""
+NEW_GOOD=""
+for i in $LIST ; do
+ DO_SKIP=""
+ for j in $SKIP ; do
+ if [ "$j" = "$i" ] ; then
+ DO_SKIP="yes"
+ break;
+ fi
+ done
+ if [ ! -z "$DO_SKIP" ] ; then
+ SKIPPED="$SKIPPED$i "
+ continue;
+ fi
+ PROBLEM=""
+ for j in $EXPECTED_BAD ; do
+ if [ "$j" = "$i" ] ; then
+ PROBLEM=":("
+ break;
+ fi
+ done
+ echo -e -n "$i $PROBLEM\t"
+ if ./tests.sh $BASE $i > /dev/null 2> /dev/null ; then
+ echo OK
+ if [ ! -z "$PROBLEM" ] ; then
+ NEW_GOOD="$NEW_GOOD$i "
+ fi
+ GOOD="$GOOD$i "
+ else
+ echo -n "FAILED: "
+ tail -n 1 tests/$BASE$i.debug2 | tr -d '\r\n'
+ echo
+ if [ -z "$PROBLEM" ] ; then
+ NEW_BAD="$NEW_BAD$i "
+ else
+ OLD_BAD="$OLD_BAD$i "
+ fi
+ BAD="$BAD$i "
+ fi
+done
+echo -e "SKIPPED\t\t$SKIPPED"
+echo -e "FAILED\t\t$BAD"
+if [ ! -z "$NEW_BAD" ]; then
+ echo -e "NEW FAILED\t$NEW_BAD"
+fi
+echo -e "OK\t\t$GOOD"
+if [ ! -z "$NEW_GOOD" ]; then
+ echo -e "NEW OK\t\t$NEW_GOOD"
+fi
+
+for i in $NEW_BAD ; do
+ printf "%2d: " $i
+ tail -n 1 tests/$BASE$i.debug2 | tr -d '\n\r'
+ echo
+done
+echo "-----"
+for i in $OLD_BAD ; do
+ printf "%2d: " $i
+ tail -n 1 tests/$BASE$i.debug2
+done