nvramtool: 64bit safe CBFS handling
[coreboot.git] / util / romcc / do_tests.sh
1 #!/bin/sh
2 type="simple"
3 if [ -n "$1" ] ; then
4         type=$1
5 fi
6 if [ "$type" = "simple" ] ; then
7 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"
8 LIST="82 83 $LIST"
9 BASE="simple_test"
10 #REG_SKIP="34 73 5   33 45 47 25 27 26 20 "
11 #SKIP="$REG_SKIP"
12 EXPECTED_BAD="34 73 5 4"
13 fi
14 if [ "$type" = "linux" ] ; then
15 LIST="1 2 3 4 5 6 7 8 9 10 11 12"
16 BASE="linux_test"
17 #SKIP="5"
18 EXPECTED_BAD=""
19 fi
20 if [ "$type" = "raminit" ] ; then
21 LIST="1 2 3 4 5 6"
22 BASE="raminit_test"
23 #SKIP="6"
24 EXPECTED_BAD=""
25 fi
26 if [ "$type" = "hello" ] ; then
27 LIST="1 2"
28 BASE="hello_world"
29 EXPECTED_BAD=""
30 fi
31
32
33 SKIPPED=""
34 GOOD=""
35 BAD=""
36 OLD_BAD=""
37 NEW_BAD=""
38 NEW_GOOD=""
39 for i in $LIST ; do
40         DO_SKIP=""
41         for j in $SKIP ; do
42                 if [ "$j" = "$i" ] ; then
43                         DO_SKIP="yes"
44                         break;
45                 fi
46         done
47         if [ ! -z "$DO_SKIP" ] ; then
48                 SKIPPED="$SKIPPED$i "
49                 continue;
50         fi
51         PROBLEM=""
52         for j in $EXPECTED_BAD ; do
53                 if [ "$j" = "$i" ] ; then
54                         PROBLEM=":("
55                         break;
56                 fi
57         done
58         echo -e -n "$i $PROBLEM\t"
59         if ./tests.sh $BASE $i > /dev/null 2> /dev/null ; then
60                 echo OK
61                 if [ ! -z "$PROBLEM" ] ; then
62                         NEW_GOOD="$NEW_GOOD$i "
63                 fi
64                 GOOD="$GOOD$i "
65         else
66                 echo -n "FAILED: "
67                 tail -n 1 tests/$BASE$i.debug2 | tr -d '\r\n'
68                 echo
69                 if [ -z "$PROBLEM" ] ; then
70                         NEW_BAD="$NEW_BAD$i "
71                 else
72                         OLD_BAD="$OLD_BAD$i "
73                 fi
74                 BAD="$BAD$i "
75         fi
76 done
77 echo -e "SKIPPED\t\t$SKIPPED"
78 echo -e "FAILED\t\t$BAD"
79 if [ ! -z "$NEW_BAD" ]; then
80         echo -e "NEW FAILED\t$NEW_BAD"
81 fi
82 echo -e "OK\t\t$GOOD"
83 if [ ! -z "$NEW_GOOD" ]; then
84         echo -e "NEW OK\t\t$NEW_GOOD"
85 fi
86
87 for i in $NEW_BAD ; do
88         printf "%2d: " $i
89         tail -n 1 tests/$BASE$i.debug2 | tr -d '\n\r'
90         echo
91 done
92 echo "-----"
93 for i in $OLD_BAD ; do
94         printf "%2d: " $i
95         tail -n 1 tests/$BASE$i.debug2
96 done