Magellan Linux

Annotation of /tags/grubby-8_40/test.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (hide annotations) (download) (as text)
Sat Sep 1 22:45:15 2007 UTC (16 years, 8 months ago) by niro
Original Path: trunk/mkinitrd-magellan/grubby/test.sh
File MIME type: application/x-sh
File size: 13264 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd

1 niro 532 #!/bin/bash
2    
3     ARCH=$(uname -m)
4    
5     elilotest=""
6     lilotest=""
7     grubtest=""
8     zipltest=""
9     yaboottest=""
10    
11     case "$ARCH" in
12     i?86)
13     lilotest="yes"
14     grubtest="yes"
15     ;;
16     x86_64)
17     lilotest="yes"
18     grubtest="yes"
19     ;;
20     ppc*)
21     yaboottest="yes"
22     ;;
23     s390*)
24     zipltest="yes"
25     ;;
26     *)
27     echo "Not running any tests for $ARCH"
28     exit 0
29     esac
30    
31     export MALLOC_CHECK_=2
32    
33     RESULT=0
34    
35     oneTest () {
36     mode=$1
37     cfg=test/$2
38     correct=test/results/$3
39     shift; shift; shift
40     ./grubby $mode --bad-image-okay -c $cfg -o - "$@" | cmp $correct > /dev/null
41    
42     if [ $? != 0 ]; then
43     echo -------------------------------------------------------------
44     echo FAILURE: $cfg $correct "$@"
45     echo -n ./grubby $mode --bad-image-okay -c $cfg -o -
46     for arg in "$@"; do
47     echo -n " \"$arg\""
48     done
49     echo ""
50     ./grubby $mode --bad-image-okay -c $cfg -o - "$@" | diff -u $correct -;
51     RESULT=1
52     fi
53     }
54    
55     liloTest() {
56     if [ -z "$lilotest" ]; then echo "skipping LILO test" ; return; fi
57     oneTest --lilo "$@"
58     }
59    
60     eliloTest() {
61     if [ -z "$elilotest" ]; then echo "skipping ELILO test" ; return; fi
62     oneTest --elilo "$@"
63     }
64    
65     grubTest() {
66     if [ -z "$grubtest" ]; then echo "skipping GRUB test" ; return; fi
67     oneTest --grub "$@"
68     }
69    
70     yabootTest() {
71     if [ -z "$yaboottest" ]; then echo "skipping YABOOT test" ; return; fi
72     oneTest --yaboot "$@"
73     }
74    
75     ziplTest() {
76     if [ -z "$zipltest" ]; then echo "skipping Z/IPL test" ; return; fi
77     oneTest --zipl "$@"
78     }
79    
80     echo "Parse/write comparison..."
81     for n in $(cd test; echo grub.[0-9]*); do
82     grubTest $n ../$n --remove-kernel 1234
83     done
84    
85     for n in $(cd test; echo lilo.[0-9]*); do
86     liloTest $n ../$n --remove-kernel 1234
87     done
88    
89     echo "Permission preservation..."
90     cp test/grub.1 grub-test
91     chmod 0614 grub-test
92     touch -t 200301010101.00 grub-test
93     time=$(ls -l grub-test | awk '{ print $6 " " $7 " "$8}')
94     perm=$(ls -l grub-test | awk '{print $1}')
95     ./grubby --grub --add-kernel bar --title title -c grub-test
96     newtime=$(ls -l grub-test | awk '{ print $6 " " $7 " "$8}')
97     newperm=$(ls -l grub-test | awk '{print $1}')
98     if [ "$time" == "$newtime" -o "$perm" != "$newperm" ]; then
99     echo " failed ($perm $newperm)";
100     fi
101     rm -f grub-test
102    
103     cp test/lilo.1 lilo-test
104     chmod 0614 lilo-test
105     touch -t 200301010101.00 lilo-test
106     time=$(ls -l lilo-test | awk '{ print $6 " " $7 " "$8}')
107     perm=$(ls -l lilo-test | awk '{print $1}')
108     ./grubby --lilo --add-kernel bar --title title -c lilo-test
109     newtime=$(ls -l lilo-test | awk '{ print $6 " " $7 " "$8}')
110     newperm=$(ls -l lilo-test | awk '{print $1}')
111     if [ "$time" == "$newtime" -o "$perm" != "$newperm" ]; then
112     echo " failed ($perm $newperm)";
113     fi
114     rm -f lilo-test
115    
116     echo "Following symlinks..."
117     cp test/grub.1 grub-test
118     ln -s grub-test mytest
119     ./grubby --grub --add-kernel bar --title title -c mytest
120     if [ ! -L mytest ]; then
121     echo " failed (not a symlink)"
122     fi
123     target=$(ls -l mytest | awk '{ print $11 }')
124     if [ "$target" != grub-test ]; then
125     echo " failed (wrong target)"
126     fi
127     rm -f grub-test mytest
128    
129     echo "GRUB default directive..."
130     grubTest grub.1 default/g1.1 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title
131     grubTest grub.1 default/g1.2 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title --make-default
132     grubTest grub.3 default/g3.1 --boot-filesystem=/boot --set-default=/boot/vmlinuz-2.4.7-2
133     grubTest grub.3 default/g3.2 --boot-filesystem=/boot --set-default=/boot/vmlinuz-2.4.7-2smp
134     grubTest grub.4 default/g4.1 --boot-filesystem=/ --set-default=/boot/vmlinuz-2.4.7-ac3 --remove-kernel /boot/vmlinuz-2.4.7-2.5
135     grubTest grub.4 default/g4.2 --boot-filesystem=/ --set-default=/boot/vmlinuz-2.4.7-ac3 --remove-kernel /boot/vmlinuz-2.4.7-2.5 --add-kernel=/boot/new-kernel --copy-default --title New_Title
136     grubTest grub.6 default/g6.1 --remove-kernel=/boot/vmlinuz-2.4.7-2.9 --boot-filesystem=/
137    
138     echo "LILO default directive..."
139     liloTest lilo.1 default/l1.1 --set-default=/boot/vmlinuz-2.4.18-4
140     liloTest lilo.1 default/l1.2 --remove-kernel=/boot/vmlinuz-2.4.18-4smp
141     liloTest lilo.1 default/l1.3 --add-kernel /boot/kernel --title label \
142     --copy-default
143     liloTest lilo.1 default/l1.4 --add-kernel /boot/kernel --title label \
144     --copy-default --make-default
145    
146     echo "Z/IPL default directive..."
147     ziplTest zipl.1 default/z1.1 --add-kernel /boot/new-kernel --title test
148     ziplTest zipl.1 default/z1.2 --add-kernel /boot/new-kernel --title test --make-default
149    
150     echo "GRUB fallback directive..."
151     grubTest grub.5 fallback/g5.1 --remove-kernel=/boot/vmlinuz-2.4.7-ac3 \
152     --boot-filesystem=/
153     grubTest grub.5 fallback/g5.2 --remove-kernel=/boot/vmlinuz-2.4.7-2.5 \
154     --boot-filesystem=/
155     grubTest grub.5 fallback/g5.3 --remove-kernel=/boot/vmlinuz-2.4.7-2.5 \
156     --boot-filesystem=/ --copy-default --add-kernel=/boot/new-kernel \
157     --title="Some_Title"
158    
159     echo "GRUB new kernel argument handling..."
160     grubTest grub.1 args/g1.1 --boot-filesystem=/boot \
161     --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default
162     grubTest grub.1 args/g1.2 --boot-filesystem=/boot \
163     --add-kernel=/boot/foo --title=some_title --args="1234"
164    
165     echo "GRUB remove kernel..."
166     grubTest grub.7 remove/g7.1 --boot-filesystem=/ \
167     --remove-kernel=/boot/vmlinuz-2.4.7-2.5
168     grubTest grub.3 remove/g3.1 --boot-filesystem=/ \
169     --remove-kernel=DEFAULT
170     grubTest grub.9 remove/g9.1 --boot-filesystem=/boot \
171     --remove-kernel=/boot/vmlinuz-2.4.7-2
172    
173     echo "YABOOT remove kernel..."
174     yabootTest yaboot.1 remove/y1.1 --boot-filesystem=/ --remove-kernel=DEFAULT
175     yabootTest yaboot.1 remove/y1.2 --boot-filesystem=/ --remove-kernel=/boot/vmlinuz-2.5.50-eepro
176     yabootTest yaboot.2 remove/y2.1 --boot-filesystem=/ --remove-kernel=/boot/vmlinux-2.5.50
177    
178     echo "Z/IPL remove kernel..."
179     ziplTest zipl.1 remove/z1.1 --remove-kernel=/boot/vmlinuz-2.4.9-38
180     ziplTest zipl.1 remove/z1.2 --remove-kernel=DEFAULT
181    
182     echo "GRUB update kernel argument handling..."
183     grubTest grub.1 updargs/g1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
184     grubTest grub.1 updargs/g1.2 --update-kernel=DEFAULT \
185     --args="root=/dev/hda1 hda=ide-scsi root=/dev/hda2"
186     grubTest grub.3 updargs/g3.1 --update-kernel=DEFAULT --args "hdd=notide-scsi"
187     grubTest grub.3 updargs/g3.2 --update-kernel=DEFAULT \
188     --args "hdd=notide-scsi root=/dev/hdd1"
189     grubTest grub.3 updargs/g3.2 --update-kernel=DEFAULT \
190     --args "root=/dev/hdd1 hdd=notide-scsi"
191     grubTest grub.3 updargs/g3.4 --update-kernel=ALL --remove-args="hdd"
192     grubTest grub.3 updargs/g3.4 --update-kernel=ALL --remove-args="hdd=ide-scsi"
193     grubTest grub.3 updargs/g3.4 --update-kernel=ALL --remove-args="hdd=foobar"
194     grubTest grub.3 updargs/g3.7 --update-kernel=ALL \
195     --remove-args="hdd root ro"
196     grubTest grub.7 updargs/g7.2 --boot-filesystem=/ \
197     --update-kernel=ALL --args "hde=ide-scsi"
198     grubTest grub.7 updargs/g7.2 --boot-filesystem=/ \
199     --update-kernel=ALL --args "hde=ide-scsi"
200     grubTest grub.7 updargs/g7.3 --boot-filesystem=/ \
201     --update-kernel=DEFAULT --args "hde=ide-scsi"
202     grubTest grub.7 updargs/g7.4 --boot-filesystem=/ \
203     --update-kernel=/vmlinuz-2.4.7-2 \
204     --args "ro root=LABEL=/ console=tty0 console=ttyS1,9600n81 single"
205     grubTest grub.11 updargs/g11.1 --boot-filesystem=/ \
206     --update-kernel=/vmlinuz-2.4.7-2smp \
207     --args "ro root=LABEL=/ console=tty0 console=ttyS1,9600n81 single"
208     grubTest grub.11 updargs/g11.2 --boot-filesystem=/ \
209     --update-kernel=/vmlinuz-2.4.7-2smp \
210     --args "ro root=LABEL=/ single"
211    
212     echo "LILO update kernel argument handling..."
213     liloTest lilo.1 updargs/l1.1 --update-kernel=/boot/vmlinuz-2.4.18-4 \
214     --args="root=/dev/md1"
215     liloTest lilo.1 updargs/l1.2 --update-kernel=/boot/vmlinuz-2.4.18-4smp \
216     --args="root=LABEL=foo"
217     liloTest lilo.1 updargs/l1.3 --update-kernel=DEFAULT --args="foo"
218     liloTest lilo.1 updargs/l1.4 --update-kernel=ALL --args="foo bar root=/dev/md1"
219     liloTest lilo.1 updargs/l1.4 --update-kernel=ALL --args="foo root=/dev/md1 bar"
220     liloTest lilo.1 updargs/l1.6 --update-kernel=ALL --args="foo root=LABEL=/ bar"
221     liloTest lilo.3 updargs/l3.1 --update-kernel=/boot/vmlinuz-2.4.18-4 \
222     --remove-args="hda"
223     liloTest lilo.3 updargs/l3.2 --update-kernel=ALL \
224     --remove-args="single" --args "root=/dev/hda2"
225    
226     echo "LILO add kernel..."
227     liloTest lilo.4 add/l4.1 --add-kernel=/boot/new-kernel.img --title="title" \
228     --copy-default --boot-filesystem=/boot
229     liloTest lilo.4 add/l4.2 --add-kernel=/boot/new-kernel.img --title="linux" \
230     --copy-default --boot-filesystem=/boot --remove-kernel "TITLE=linux"
231     liloTest lilo.5 add/l5.1 --add-kernel=/boot/new-kernel.img --title="title" \
232     --copy-default --boot-filesystem=/boot
233     liloTest lilo.5 add/l5.2 --add-kernel=/boot/new-kernel.img --title="linux" \
234     --copy-default --boot-filesystem=/boot --remove-kernel "TITLE=linux"
235     liloTest lilo.6 add/l6.1 --add-kernel=/boot/new-kernel.img --title="title" \
236     --initrd=/boot/new-initrd --copy-default --boot-filesystem=/boot
237     liloTest lilo.6 add/l6.2 --add-kernel=/boot/new-kernel.img --title="linux" \
238     --initrd=/boot/new-initrd --copy-default --boot-filesystem=/boot --remove-kernel "TITLE=linux"
239    
240    
241     echo "GRUB add kernel..."
242     grubTest grub.1 add/g1.1 --add-kernel=/boot/new-kernel.img --title='title' \
243     --initrd=/boot/new-initrd --boot-filesystem=/
244     grubTest grub.1 add/g1.2 --add-kernel=/boot/new-kernel.img --title='title' \
245     --initrd=/boot/new-initrd --boot-filesystem=/boot
246     grubTest grub.1 add/g1.3 --add-kernel=/boot/new-kernel.img --title='title' \
247     --initrd=/boot/new-initrd --boot-filesystem=/ --copy-default
248     grubTest grub.1 add/g1.4 --add-kernel=/boot/new-kernel.img --title='title' \
249     --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default
250     grubTest grub.2 add/g2.1 --add-kernel=/boot/vmlinuz-2.4.7-2 \
251     --initrd=/boot/initrd-2.4.7-new.img --boot-filesystem=/boot --copy-default \
252     --title="Red Hat Linux (2.4.7-2)" \
253     --remove-kernel="TITLE=Red Hat Linux (2.4.7-2)"
254     grubTest grub.8 add/g8.1 --add-kernel=/boot/new-kernel.img --title='title' \
255     --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default
256     grubTest grub.8 add/g8.2 --add-kernel=/boot/new-kernel.img --title='title' \
257     --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default \
258     --args='console=tty0 console=ttyS1,9600n81 single'
259     grubTest grub.11 add/g11.1 --add-kernel=/boot/new-kernel.img --title='title' \
260     --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default \
261     --args='console=tty0 console=ttyS1,9600n81 single'
262    
263     echo "YABOOT add kernel..."
264     yabootTest yaboot.1 add/y1.1 --copy-default --boot-filesystem=/ --add-kernel=/boot/new-kernel \
265     --title=newtitle
266     yabootTest yaboot.1 add/y1.2 --add-kernel=/boot/new-kernel --boot-filesystem=/ --title=newtitle
267    
268     echo "YABOOT empty label..."
269     yabootTest yaboot.3 add/y3.1 --add-kernel=/boot/new-kernel --boot-filesystem=/ --title=newtitle
270    
271     echo "Z/IPL add kernel..."
272     ziplTest zipl.1 add/z1.1 --add-kernel=/boot/new-kernel.img --title test
273     ziplTest zipl.1 add/z1.2 --add-kernel=/boot/new-kernel.img --title test --copy-default
274    
275     echo "LILO long titles..."
276     liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \
277     --title="linux-longtitle" --copy-default --boot-filesystem=/boot
278     liloTest lilo.1 longtitle/l1.2 --add-kernel=/boot/new-kernel.img \
279     --title="linux-toolongtitle" --copy-default --boot-filesystem=/boot
280     liloTest lilo.7 longtitle/l7.1 --add-kernel=/boot/new-kernel.img \
281     --title="linux-longtitle-fix" --copy-default --boot-filesystem=/boot
282    
283     echo "ELILO long titles..."
284     eliloTest lilo.7 longtitle/e7.1 --add-kernel=/boot/new-kernel.img \
285     --title="linux-longtitle-fix" --copy-default --boot-filesystem=/boot
286    
287     echo "GRUB add multiboot..."
288     grubTest grub.1 multiboot/g1.1 --add-multiboot=/boot/xen.gz \
289     --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 --boot-filesystem=/boot \
290     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
291     --mbargs="dom0_mem=130000"
292     grubTest grub.1 multiboot/g1.2 --add-multiboot=/boot/xen.gz \
293     --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 --boot-filesystem=/boot \
294     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
295     --mbargs="dom0_mem=130000" --copy-default
296     grubTest grub.10 multiboot/g10.1 --add-multiboot=/boot/xen.gz \
297     --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 --boot-filesystem=/boot \
298     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
299     --mbargs="dom0_mem=130000"
300     grubTest grub.10 multiboot/g10.2 --add-multiboot=/boot/xen.gz \
301     --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 --boot-filesystem=/boot \
302     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
303     --mbargs="dom0_mem=130000" --copy-default
304     grubTest grub.10 multiboot/g10.3 --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 \
305     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
306     --copy-default --boot-filesystem=/boot
307     grubTest grub.10 multiboot/g10.4 --add-kernel=/boot/vmlinuz-2.6.10-1.1088_FC4 \
308     --initrd=/boot/initrd-2.6.10-1.1088_FC4.img --title foo \
309     --boot-filesystem=/boot
310    
311     echo "GRUB remove multiboot..."
312     grubTest grub.10 multiboot/g10.5 --boot-filesystem=/boot \
313     --remove-kernel=/boot/vmlinuz-2.6.10-1.1076_FC4
314     grubTest grub.10 multiboot/g10.6 --boot-filesystem=/boot \
315     --remove-kernel=/boot/vmlinuz-2.6.10-1.1082_FC4
316     grubTest grub.10 multiboot/g10.7 --boot-filesystem=/boot \
317     --remove-multiboot=/boot/xen.gz
318    
319     exit $RESULT

Properties

Name Value
svn:executable *