find a gnu md5sum
[nestedvm.git] / src / tests / check.sh
1 #!/bin/sh -e
2
3 [ -z "$JAVA" ] && JAVA=java
4
5 MD5SUM=`whic md5sum`
6 [ -z "$MD5SUM" ] && MD5SUM=`which gmd5sum`
7 if [ -z "$MD5SUM" ]; then
8     echo "could not find an md5sum command"
9     exit 1
10 fi
11
12 CLASSPATH="$(pwd)/build"; export CLASSPATH
13 if [ "$1" != "running_from_make" ]; then
14         echo "Please don't run this scipt directly. Use make check" >&2
15         exit 1
16 fi
17
18 INT="$2"
19
20 cd tmp
21
22 if [ ! -e .skipmspack ]; then
23
24 mkdir -p mspack
25 cd mspack
26 rm -f *.TTT *.inf FONTINST.EXE *.DLL *.TXT;
27 for f in \
28     andale32.exe arial32.exe arialb32.exe comic32.exe courie32.exe georgi32.exe \
29     impact32.exe times32.exe trebuc32.exe verdan32.exe webdin32.exe; \
30 do
31         [ -e "$f" ] || wget "http://dist.xwt.org/corefonts/$f" || rm -f "$f"
32         [ -e "$f" ] ||  exit 1
33 done
34
35 echo "Extracting MS Core Fonts using MSPackBench..."
36 $JAVA tests.MSPackBench *32.exe
37
38 cat <<EOF | $MD5SUM -c
39 663974c9fe3ba55b228724fd4d4e445f  AndaleMo.TTF
40 3e7043e8125f1c8998347310f2c315bc  AriBlk.TTF
41 f11c0317db527bdd80fa0afa04703441  Arial.TTF
42 34cd8fd9e4fae9f075d4c9a2c971d065  Arialbd.TTF
43 a2b3bcdb39097b6aed17a766652b92b2  Arialbi.TTF
44 25633f73d92a0646e733e50cf2cc3b07  Ariali.TTF
45 a50f9c96a76356e3d01013e0b042989f  Comic.TTF
46 81d64ec3675c4adc14e9ad2c5c8103a7  Comicbd.TTF
47 f4b306eed95aa7d274840533be635532  Georgia.TTF
48 c61b355a5811e56ed3d7cea5d67c900e  Georgiab.TTF
49 1e4e5d1975bdf4a5c648afbf8872fa13  Georgiai.TTF
50 e5d52bbfff45e1044381bacb7fc8e300  Georgiaz.TTF
51 8fc622c3a2e2d992ec059cca61e3dfc0  Impact.TTF
52 4f97f4d6ba74767259ccfb242ce0e3f7  Times.TTF
53 ed6e29caf3843142d739232aa8642158  Timesbd.TTF
54 6d2bd425ff00a79dd02e4c95f689861b  Timesbi.TTF
55 957dd4f17296522dead302ab4fcdfa8d  Timesi.TTF
56 055460df9ab3c8aadd3330bd30805f11  Trebucbd.ttf
57 3ba52ab1fa0cd726e7868e9c6673902c  Verdana.TTF
58 a2b4dc9afc18e76cfcaa0071fa7cd0da  Verdanab.TTF
59 24b3a293c865a2c265280f017fb24ba5  Verdanai.TTF
60 f7310c29df0070530c48a47f2dca9014  Verdanaz.TTF
61 1a56b45a66b07b4c576d5ead048ed992  Webdings.TTF
62 20f23317e90516cbb7d38bd53b3d1c5b  cour.ttf
63 7d94f95bf383769b51379d095139f2d7  courbd.ttf
64 da414c01f951b020bb09a4165d3fb5fa  courbi.ttf
65 167e27add66e9e8eb0d28a1235dd3bda  couri.ttf
66 70e7be8567bc05f771b59abd9d696407  trebuc.ttf
67 fb5d68cb58c6ad7e88249d65f6900740  trebucbi.ttf
68 8f308fe77b584e20b246aa1f8403d2e9  trebucit.ttf
69 663974c9fe3ba55b228724fd4d4e445f  AndaleMo.TTF
70 3e7043e8125f1c8998347310f2c315bc  AriBlk.TTF
71 f11c0317db527bdd80fa0afa04703441  Arial.TTF
72 34cd8fd9e4fae9f075d4c9a2c971d065  Arialbd.TTF
73 a2b3bcdb39097b6aed17a766652b92b2  Arialbi.TTF
74 25633f73d92a0646e733e50cf2cc3b07  Ariali.TTF
75 a50f9c96a76356e3d01013e0b042989f  Comic.TTF
76 81d64ec3675c4adc14e9ad2c5c8103a7  Comicbd.TTF
77 f4b306eed95aa7d274840533be635532  Georgia.TTF
78 c61b355a5811e56ed3d7cea5d67c900e  Georgiab.TTF
79 1e4e5d1975bdf4a5c648afbf8872fa13  Georgiai.TTF
80 e5d52bbfff45e1044381bacb7fc8e300  Georgiaz.TTF
81 8fc622c3a2e2d992ec059cca61e3dfc0  Impact.TTF
82 4f97f4d6ba74767259ccfb242ce0e3f7  Times.TTF
83 ed6e29caf3843142d739232aa8642158  Timesbd.TTF
84 6d2bd425ff00a79dd02e4c95f689861b  Timesbi.TTF
85 957dd4f17296522dead302ab4fcdfa8d  Timesi.TTF
86 055460df9ab3c8aadd3330bd30805f11  Trebucbd.ttf
87 3ba52ab1fa0cd726e7868e9c6673902c  Verdana.TTF
88 a2b4dc9afc18e76cfcaa0071fa7cd0da  Verdanab.TTF
89 24b3a293c865a2c265280f017fb24ba5  Verdanai.TTF
90 f7310c29df0070530c48a47f2dca9014  Verdanaz.TTF
91 1a56b45a66b07b4c576d5ead048ed992  Webdings.TTF
92 20f23317e90516cbb7d38bd53b3d1c5b  cour.ttf
93 7d94f95bf383769b51379d095139f2d7  courbd.ttf
94 da414c01f951b020bb09a4165d3fb5fa  courbi.ttf
95 167e27add66e9e8eb0d28a1235dd3bda  couri.ttf
96 70e7be8567bc05f771b59abd9d696407  trebuc.ttf
97 fb5d68cb58c6ad7e88249d65f6900740  trebucbi.ttf
98 8f308fe77b584e20b246aa1f8403d2e9  trebucit.ttf
99 EOF
100
101 echo "Core Fonts extracted successfully!"
102
103 cd ..
104
105 fi
106
107 if [ ! -e .skipdjpeg ]; then
108 echo "Decoding some jpegs with DJpeg..."
109
110 rm -f *.tga
111
112 [ -e banner.jpg ] || wget http://www.xwt.org/image/banner.jpg
113 [ -e banner.jpg ] || exit 1
114
115 $JAVA tests.DJpeg -targa -outfile thebride_1280.tga thebride_1280.jpg 
116 echo "e90f6b915aee2fc0d2eb9fc60ace6203  thebride_1280.tga" | $MD5SUM -c
117
118 $JAVA tests.DJpeg -targa -outfile banner.tga banner.jpg
119 echo "4c7cc29ae2094191a9b0308cf9a04fbd  banner.tga" | $MD5SUM -c
120
121 echo "JPEGs decoded successfully!"
122
123 fi
124
125 if [ ! -e .skipfreetype ]; then
126
127 cd mspack
128
129 echo "Rendering some fonts with FTBench..."
130 if ! [ -e Verdana.TTF -a -e Arial.TTF -a -e Comic.TTF ]; then
131         echo "Can't find the corefonts - did the mspack test complete?"
132         exit 1
133 fi
134
135 rm -f *.render
136
137 for f in Verdana.TTF Arial.TTF Comic.TTF; do
138         $JAVA tests.FTBench "$f" "$f".render
139 done
140
141 cat <<EOF|$MD5SUM -c
142 e33b9db5a413af214b2524265af18026  Arial.TTF.render
143 61dee4f697a61ebc1b47decbed04b2da  Comic.TTF.render
144 d5a6d39a63e49c597ed860913e27d2bb  Verdana.TTF.render
145 EOF
146
147 echo "Fonts rendered successfully"
148 cd ..
149
150 fi
151
152 if [ ! -e .skipgc ]; then
153
154 echo "Running gctest from the boehm-gc library..."
155 $JAVA tests.GCTest
156
157 fi
158
159 if [ ! -e .busybox -a -e ../build/tests/BusyBox.class ]; then
160         echo "Running busybox's md5sum command on some ttfs"
161         $JAVA tests.BusyBox ash -c "md5sum mspack/*.ttf > md5.1"
162         md5sum mspack/*.ttf > md5.2
163         cmp md5.1 md5.2 && echo "The BusyBox md5sum command and sh work properly!"
164 fi
165
166 cat <<EOF
167 * * * * * * * * * * * * * * * * * * * * * 
168 * All tests completed with no failures  *
169 * * * * * * * * * * * * * * * * * * * * * 
170
171 EOF