Magellan Linux

Diff of /tags/grubby-8_40_20170627/test.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2057 by niro, Wed Feb 20 14:05:36 2013 UTC revision 3023 by niro, Tue Jun 27 14:40:47 2017 UTC
# Line 48  oneTest() { Line 48  oneTest() {
48      typeset mode=$1 cfg=test/$2 correct=test/results/$3      typeset mode=$1 cfg=test/$2 correct=test/results/$3
49      shift 3      shift 3
50    
51        local ENV_FILE=""
52        if [ "$mode" == "--grub2" ]; then
53            ENV_FILE="test/grub2-support_files/env_temp"
54            if [ "$1" == "--env" ]; then
55                cp "test/grub2-support_files/$2" "$ENV_FILE"
56                shift 2
57            else
58                cp "test/grub2-support_files/grubenv.0" "$ENV_FILE"
59            fi
60            ENV_FILE="--env=$ENV_FILE"
61        fi
62    
63    
64      echo "$testing ... $mode $cfg $correct"      echo "$testing ... $mode $cfg $correct"
65      runme=( ./grubby "$mode" --bad-image-okay -c "$cfg" -o - "$@" )      runme=( ./grubby "$mode" --bad-image-okay $ENV_FILE -c "$cfg" -o - "$@" )
66      if "${runme[@]}" | cmp "$correct" > /dev/null; then      if "${runme[@]}" | cmp "$correct" > /dev/null; then
67   (( pass++ ))   (( pass++ ))
68   if $opt_verbose; then   if $opt_verbose; then
# Line 74  oneTest() { Line 87  oneTest() {
87  oneDisplayTest() {  oneDisplayTest() {
88      typeset mode=$1 cfg=test/$2 correct=test/results/$3      typeset mode=$1 cfg=test/$2 correct=test/results/$3
89      shift 3      shift 3
90    
91        local ENV_FILE=""
92        if [ "$mode" == "--grub2" ]; then
93            ENV_FILE="test/grub2-support_files/env_temp"
94            if [ "$1" == "--env" ]; then
95                cp "test/grub2-support_files/$2" "$ENV_FILE"
96                shift 2
97            else
98                cp "test/grub2-support_files/grubenv.0" "$ENV_FILE"
99            fi
100            ENV_FILE="--env=$ENV_FILE"
101        fi
102    
103      local BIO="--bad-image-okay"      local BIO="--bad-image-okay"
104      if [ "$1" == "--bad-image-bad" ]; then      if [ "$1" == "--bad-image-bad" ]; then
105          BIO=""          BIO=""
# Line 81  oneDisplayTest() { Line 107  oneDisplayTest() {
107      fi      fi
108    
109      echo "$testing ... $mode $cfg $correct"      echo "$testing ... $mode $cfg $correct"
110      runme=( ./grubby "$mode" $BIO -c "$cfg" "$@" )      runme=( ./grubby "$mode" $BIO $ENV_FILE -c "$cfg" "$@" )
111      if "${runme[@]}" 2>&1 | cmp "$correct" > /dev/null; then      if "${runme[@]}" 2>&1 | cmp "$correct" > /dev/null; then
112   (( pass++ ))   (( pass++ ))
113   if $opt_verbose; then   if $opt_verbose; then
# Line 101  oneDisplayTest() { Line 127  oneDisplayTest() {
127      fi      fi
128  }  }
129    
130    commandTest() {
131        description=$1
132        cmd0=$2
133        text1=$3
134        shift 3
135        echo "$description"
136        output0=$(mktemp)
137    
138        $cmd0 > $output0
139    
140        if echo $text1 | cmp $output0 - >/dev/null; then
141     (( pass++))
142     if $opt_verbose; then
143        echo -------------------------------------------------------------
144        echo -n "PASS: "
145        printf "%q " "\"$cmd0\""; echo
146        echo $text1 | diff -U30 $output0 -
147        echo
148     fi
149        else
150     (( fail++ ))
151     echo -------------------------------------------------------------
152     echo -n "FAIL: "
153     printf "%q " "\"$cmd0\""; echo
154     echo $text1 | diff -U30 $output0 -
155     echo
156        fi
157    }
158    
159  # generate convenience functions  # generate convenience functions
160  for b in $(./grubby --help | \  for b in $(./grubby --help | \
161   sed -n 's/^.*--\([^ ]*\) *configure \1 bootloader$/\1/p'); do   sed -n 's/^.*--\([^ ]*\) *configure \1 bootloader.*/\1/p'); do
162      eval "${b}Test() { [[ \"$b\" == \$opt_bootloader ]] && oneTest --$b \"\$@\"; }"      eval "${b}Test() { [[ \"$b\" == \$opt_bootloader ]] && oneTest --$b \"\$@\"; }"
163      eval "${b}DisplayTest() { [[ \"$b\" == \$opt_bootloader ]] && oneDisplayTest --$b \"\$@\"; }"      eval "${b}DisplayTest() { [[ \"$b\" == \$opt_bootloader ]] && oneDisplayTest --$b \"\$@\"; }"
164  done  done
# Line 208  grubTest grub.3 default/g3.2 --boot-file Line 263  grubTest grub.3 default/g3.2 --boot-file
263  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  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
264  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  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
265  grubTest grub.6 default/g6.1 --remove-kernel=/boot/vmlinuz-2.4.7-2.9 --boot-filesystem=/  grubTest grub.6 default/g6.1 --remove-kernel=/boot/vmlinuz-2.4.7-2.9 --boot-filesystem=/
 grubTest grub.14 add/g1.7 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title  
266    
267  testing="GRUB default index directive"  testing="GRUB default index directive"
268  grubTest grub.13 setdefaultindex/g.13.0 --set-default-index=0  grubTest grub.13 setdefaultindex/g.13.0 --set-default-index=0
269  grubTest grub.13 setdefaultindex/g.13.1 --set-default-index=1  grubTest grub.13 setdefaultindex/g.13.1 --set-default-index=1
270  grubTest grub.13 setdefaultindex/g.13.9 --set-default-index=9  grubTest grub.13 setdefaultindex/g.13.9 --set-default-index=9
271    
272    testing="GRUB add initrd"
273    grubTest grub.14 add/g1.7 --boot-filesystem=/ --update-kernel=/vmlinuz-4.0.0-0.rc4.git1.4.fc23.x86_64 --initrd /initramfs-4.0.0-0.rc4.git1.4.fc23.x86_64.img '--args= LANG=en_US.UTF-8' '--title=Fedora (4.0.0-0.rc4.git1.4.fc23.x86_64) 23 (Rawhide)'
274    
275  testing="GRUB display default index"  testing="GRUB display default index"
276  grubDisplayTest grub.1 defaultindex/0 --default-index  grubDisplayTest grub.1 defaultindex/0 --default-index
277  grubDisplayTest grub.2 defaultindex/0 --default-index  grubDisplayTest grub.2 defaultindex/0 --default-index
# Line 241  grubDisplayTest grub.9 defaulttitle/g.9 Line 298  grubDisplayTest grub.9 defaulttitle/g.9
298  grubDisplayTest grub.10 defaulttitle/g.10 --default-title  grubDisplayTest grub.10 defaulttitle/g.10 --default-title
299  grubDisplayTest grub.11 defaulttitle/g.11 --default-title  grubDisplayTest grub.11 defaulttitle/g.11 --default-title
300    
301    testing="GRUB display default kernel"
302    grubDisplayTest grub.1 defaultkernel/g.1 --boot-filesystem=/boot --default-kernel
303    grubDisplayTest grub.1 defaultkernel/g.2 --boot-filesystem=/ --default-kernel
304    
305  testing="LILO default directive"  testing="LILO default directive"
306  liloTest lilo.1 default/l1.1 --set-default=/boot/vmlinuz-2.4.18-4  liloTest lilo.1 default/l1.1 --set-default=/boot/vmlinuz-2.4.18-4
307  liloTest lilo.1 default/l1.2 --remove-kernel=/boot/vmlinuz-2.4.18-4smp  liloTest lilo.1 default/l1.2 --remove-kernel=/boot/vmlinuz-2.4.18-4smp
# Line 248  liloTest lilo.1 default/l1.3 --add-kerne Line 309  liloTest lilo.1 default/l1.3 --add-kerne
309      --copy-default      --copy-default
310  liloTest lilo.1 default/l1.4 --add-kernel /boot/kernel --title label \  liloTest lilo.1 default/l1.4 --add-kernel /boot/kernel --title label \
311      --copy-default --make-default      --copy-default --make-default
312    liloDisplayTest lilo.1 defaultkernel/l1.1 --default-kernel
313    
314  testing="Z/IPL default directive"  testing="Z/IPL default directive"
315  ziplTest zipl.1 default/z1.1 --add-kernel /boot/new-kernel --title test  ziplTest zipl.1 default/z1.1 --add-kernel /boot/new-kernel --title test
316  ziplTest zipl.1 default/z1.2 --add-kernel /boot/new-kernel --title test --make-default  ziplTest zipl.1 default/z1.2 --add-kernel /boot/new-kernel --title test --make-default
317    testing="Z/IPL display default index"
318    ziplDisplayTest zipl.1 defaultindex/0 --default-index
319    testing="Z/IPL display default title"
320    ziplDisplayTest zipl.1 defaulttitle/z.1 --default-title
321    testing="Z/IPL display default kernel"
322    ziplDisplayTest zipl.1 defaultkernel/z.1 --default-kernel
323    
324  testing="GRUB fallback directive"  testing="GRUB fallback directive"
325  grubTest grub.5 fallback/g5.1 --remove-kernel=/boot/vmlinuz-2.4.7-ac3 \  grubTest grub.5 fallback/g5.1 --remove-kernel=/boot/vmlinuz-2.4.7-ac3 \
# Line 262  grubTest grub.5 fallback/g5.3 --remove-k Line 330  grubTest grub.5 fallback/g5.3 --remove-k
330      --boot-filesystem=/ --copy-default --add-kernel=/boot/new-kernel \      --boot-filesystem=/ --copy-default --add-kernel=/boot/new-kernel \
331      --title="Some_Title"      --title="Some_Title"
332    
333    testing="Extlinux default directive"
334    extlinuxTest extlinux.1 default/extlinux1.1 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title
335    extlinuxTest extlinux.1 default/extlinux1.2 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title --make-default
336    extlinuxTest extlinux.3 default/extlinux3.1 --boot-filesystem=/boot --set-default=/boot/vmlinuz-3.12.0-2.fc21.i686
337    extlinuxTest extlinux.3 default/extlinux3.2 --boot-filesystem=/boot --set-default=/boot/vmlinuz-3.12.0-2.fc21.i686+PAE
338    
339  testing="GRUB new kernel argument handling"  testing="GRUB new kernel argument handling"
340  grubTest grub.1 args/g1.1 --boot-filesystem=/boot \  grubTest grub.1 args/g1.1 --boot-filesystem=/boot \
341      --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default      --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default
342  grubTest grub.1 args/g1.2 --boot-filesystem=/boot \  grubTest grub.1 args/g1.2 --boot-filesystem=/boot \
343      --add-kernel=/boot/foo --title=some_title --args="1234"      --add-kernel=/boot/foo --title=some_title --args="1234"
344    
345    testing="Extlinux new kernel argument handling"
346    extlinuxTest extlinux.1 args/extlinux1.1 --boot-filesystem=/boot \
347        --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default
348    extlinuxTest extlinux.1 args/extlinux1.2 --boot-filesystem=/boot \
349        --add-kernel=/boot/foo --title=some_title --args="1234"
350    
351  testing="GRUB remove kernel"  testing="GRUB remove kernel"
352  grubTest grub.7 remove/g7.1 --boot-filesystem=/ \  grubTest grub.7 remove/g7.1 --boot-filesystem=/ \
353      --remove-kernel=/boot/vmlinuz-2.4.7-2.5      --remove-kernel=/boot/vmlinuz-2.4.7-2.5
# Line 285  testing="Z/IPL remove kernel" Line 365  testing="Z/IPL remove kernel"
365  ziplTest zipl.1 remove/z1.1 --remove-kernel=/boot/vmlinuz-2.4.9-38  ziplTest zipl.1 remove/z1.1 --remove-kernel=/boot/vmlinuz-2.4.9-38
366  ziplTest zipl.1 remove/z1.2 --remove-kernel=DEFAULT  ziplTest zipl.1 remove/z1.2 --remove-kernel=DEFAULT
367    
368    testing="Extlinux remove kernel"
369    extlinuxTest extlinux.4 remove/extlinux4.1 --boot-filesystem=/ \
370        --remove-kernel=/boot/vmlinuz-3.11.7-301.fc20.i686
371    extlinuxTest extlinux.3 remove/extlinux3.1 --boot-filesystem=/ \
372        --remove-kernel=DEFAULT
373    
374  testing="GRUB update kernel argument handling"  testing="GRUB update kernel argument handling"
375  grubTest grub.1 updargs/g1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"  grubTest grub.1 updargs/g1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
376  grubTest grub.1 updargs/g1.2 --update-kernel=DEFAULT \  grubTest grub.1 updargs/g1.2 --update-kernel=DEFAULT \
# Line 301  grubTest grub.3 updargs/g3.7 --update-ke Line 387  grubTest grub.3 updargs/g3.7 --update-ke
387      --remove-args="hdd root ro"      --remove-args="hdd root ro"
388  grubTest grub.7 updargs/g7.2 --boot-filesystem=/    \  grubTest grub.7 updargs/g7.2 --boot-filesystem=/    \
389      --update-kernel=ALL --args "hde=ide-scsi"      --update-kernel=ALL --args "hde=ide-scsi"
 grubTest grub.7 updargs/g7.2 --boot-filesystem=/    \  
     --update-kernel=ALL --args "hde=ide-scsi"  
390  grubTest grub.7 updargs/g7.3 --boot-filesystem=/    \  grubTest grub.7 updargs/g7.3 --boot-filesystem=/    \
391      --update-kernel=DEFAULT --args "hde=ide-scsi"      --update-kernel=DEFAULT --args "hde=ide-scsi"
392  grubTest grub.7 updargs/g7.4 --boot-filesystem=/    \  grubTest grub.7 updargs/g7.4 --boot-filesystem=/    \
# Line 337  liloTest lilo.3 updargs/l3.1 --update-ke Line 421  liloTest lilo.3 updargs/l3.1 --update-ke
421  liloTest lilo.3 updargs/l3.2 --update-kernel=ALL \  liloTest lilo.3 updargs/l3.2 --update-kernel=ALL \
422      --remove-args="single" --args "root=/dev/hda2"      --remove-args="single" --args "root=/dev/hda2"
423    
424    testing="Extlinux update kernel argument handling"
425    extlinuxTest extlinux.1 updargs/extlinux1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
426    extlinuxTest extlinux.1 updargs/extlinux1.2 --update-kernel=DEFAULT \
427        --args="root=/dev/hda1 hda=ide-scsi root=/dev/hda2"
428    extlinuxTest extlinux.3 updargs/extlinux3.1 --update-kernel=DEFAULT --args "hdd=notide-scsi"
429    extlinuxTest extlinux.3 updargs/extlinux3.2 --update-kernel=DEFAULT \
430        --args "hdd=notide-scsi root=/dev/hdd1"
431    extlinuxTest extlinux.3 updargs/extlinux3.2 --update-kernel=DEFAULT \
432        --args "root=/dev/hdd1 hdd=notide-scsi"
433    extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd"
434    extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd=ide-scsi"
435    extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd=foobar"
436    extlinuxTest extlinux.3 updargs/extlinux3.7 --update-kernel=ALL \
437        --remove-args="hdd root ro"
438    extlinuxTest extlinux.4 updargs/extlinux4.2 --boot-filesystem=/    \
439        --update-kernel=ALL --args "hde=ide-scsi"
440    extlinuxTest extlinux.4 updargs/extlinux4.3 --boot-filesystem=/    \
441        --update-kernel=DEFAULT --args "hde=ide-scsi"
442    extlinuxTest extlinux.4 updargs/extlinux4.4 --boot-filesystem=/    \
443        --update-kernel=/vmlinuz-3.12.0-2.fc21.i686 \
444        --args "ro root=LABEL=/ console=tty0 console=ttyS1,9600n81 single"
445    extlinuxTest extlinux.4 updargs/extlinux4.5 --boot-filesystem=/    \
446        --update-kernel=ALL --args "root=/dev/hda2"
447    
448  testing="LILO add kernel"  testing="LILO add kernel"
449  liloTest lilo.4 add/l4.1 --add-kernel=/boot/new-kernel.img --title="title" \  liloTest lilo.4 add/l4.1 --add-kernel=/boot/new-kernel.img --title="title" \
450      --copy-default --boot-filesystem=/boot      --copy-default --boot-filesystem=/boot
# Line 377  grubTest grub.8 add/g8.2 --add-kernel=/b Line 485  grubTest grub.8 add/g8.2 --add-kernel=/b
485  grubTest grub.11 add/g11.1 --add-kernel=/boot/new-kernel.img --title='title' \  grubTest grub.11 add/g11.1 --add-kernel=/boot/new-kernel.img --title='title' \
486      --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default \      --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default \
487      --args='console=tty0 console=ttyS1,9600n81 single'      --args='console=tty0 console=ttyS1,9600n81 single'
488    grubTest grub.1 add/g1.1 --add-kernel=/boot/new-kernel.img --title='title' \
489        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 0
490    grubTest grub.1 add/g1.17 --add-kernel=/boot/new-kernel.img --title='title' \
491        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 1
492    grubTest grub.1 add/g1.17 --add-kernel=/boot/new-kernel.img --title='title' \
493        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 2
494    grubTest grub.15 add/g1.10 --add-kernel=/boot/new-kernel.img --title='title' \
495        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 0
496    grubTest grub.15 add/g1.8 --add-kernel=/boot/new-kernel.img --title='title' \
497        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 1
498    grubTest grub.15 add/g1.9 --add-kernel=/boot/new-kernel.img --title='title' \
499        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 2
500    grubTest grub.15 add/g1.9 --add-kernel=/boot/new-kernel.img --title='title' \
501        --initrd=/boot/new-initrd --boot-filesystem=/ --set-index 5
502    
503    testgrub2=n
504    ARCH=$(uname -m | sed s,i[3456789]86,ia32,)
505    case $ARCH in
506        aarch64|ppc|ppc64|ia32|x86_64) testgrub2=y ;;
507    esac
508    
509    if [ "$testgrub2" == "y" ]; then
510        testing="GRUB2 add kernel"
511        grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img \
512            --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
513            --copy-default
514        case $ARCH in
515            aarch64)
516                grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img \
517                    --title='title' \
518                    --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
519                    --copy-default --efi
520                ;;
521            *)
522                grub2Test grub2.1 add/g2-1.6 --add-kernel=/boot/new-kernel.img \
523                    --title='title' \
524                    --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
525                    --copy-default --efi
526                ;;
527        esac
528        grub2Test grub2.6 add/g2-1.7 --add-kernel=/boot/new-kernel.img \
529            --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
530            --copy-default --efi
531        grub2Test grub2.1 add/g2-1.2 --add-kernel=/boot/new-kernel.img \
532            --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
533            --copy-default --make-default
534        grub2Test grub2.1 add/g2-1.3 --add-kernel=/boot/new-kernel.img \
535            --title='title' --boot-filesystem=/boot/ --copy-default --make-default
536        grub2Test grub2.1 remove/g2-1.4 \
537            --remove-kernel=/boot/vmlinuz-2.6.38.2-9.fc15.x86_64 \
538            --boot-filesystem=/boot/
539        grub2Test grub2.5 add/g2-1.5 --add-kernel=/boot/new-kernel.img \
540            --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
541            --copy-default
542        grub2Test grub2.12 add/g2-1.12 \
543            --add-kernel=/boot/vmlinuz-2.6.38.8-32.fc15.x86_64 \
544            --title='Linux, with Fedora 2.6.38.8-32.fc15.x86_64' \
545            --devtree='/boot/dtb-2.6.38.8-32.fc15.x86_64/foobarbaz.dtb' \
546            --initrd=/boot/initramfs-2.6.38.8-32.fc15.x86_64.img \
547            --boot-filesystem=/boot/ --copy-default --efi
548        grub2Test grub2.13 add/g2-1.13 \
549            --add-kernel=/boot/vmlinuz-2.6.38.8-32.fc15.x86_64 \
550            --title='Linux, with Fedora 2.6.38.8-32.fc15.x86_64' \
551            --devtree='/boot/dtb-2.6.38.8-32.fc15.x86_64/foobarbaz.dtb' \
552            --initrd=/boot/initramfs-2.6.38.8-32.fc15.x86_64.img \
553            --boot-filesystem=/boot/ --copy-default --efi
554        grub2Test grub2.15 add/g2-1.15 \
555            --add-kernel=/boot/vmlinuz-0-rescue-5a94251776a14678911d4ae0949500f5 \
556            --initrd /boot/initramfs-0-rescue-5a94251776a14678911d4ae0949500f5.img \
557            --copy-default --title "Fedora 21 Rescue" --args=root=/fooooo \
558            --remove-kernel=wtf --boot-filesystem=/boot/ --efi
559    
560        # a grub2 add with a "set" of the form: set foo="bar=1,2".  bz#1152550
561        # has this being emitted as: set foo="bar=1,2"=1,2"
562        # which is wrong.
563        grub2Test grub2.16 add/g2-1.16 \
564            --add-kernel=/boot/vmlinuz-foo \
565            --copy-default --title 'Red Hat Enterprise Linux Server' \
566            --args=root=/dev/mapper/foo--
567    
568        grub2Test grub2.19 remove/g2.19 --env grubenv.4 \
569            --remove-kernel=/boot/vmlinuz-2.6.38.2-9.fc15.x86_64 \
570            --boot-filesystem=/boot/
571        commandTest "saved_default output" \
572            "grub2-editenv test/grub2-support_files/env_temp list" \
573            "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
574    
575        # copy a stanza and add arguments as well, while using --set-index=
576        testing="GRUB2 add stanza and new args with --set-index="
577        grub2Test grub2.18 add/g2-1.18  --env grubenv.3 \
578            --add-kernel=/boot/vmlinuz-3.10.0-327.22.2.el7.x86_64.debug \
579            --boot-filesystem=/boot --copy-default \
580            --title "Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo) with debugging" \
581            --args="root=/dev/mapper/rhel_team--area--222-root systemd.log_level=debug systemd.log_target=kmsg" \
582            --set-index=1
583    
584        testing="GRUB2 add initrd"
585        grub2Test grub2.2 add/g2-1.4 --update-kernel=/boot/new-kernel.img \
586            --initrd=/boot/new-initrd --boot-filesystem=/boot/
587    
588        testing="GRUB2 display default index"
589        grub2DisplayTest grub2.1 defaultindex/0 --default-index
590        grub2DisplayTest grub2.2 defaultindex/0 --default-index
591    
592        testing="GRUB2 display default title"
593        grub2DisplayTest grub2.1 defaulttitle/g2.1 --default-title
594        grub2DisplayTest grub2.2 defaulttitle/g2.2 --default-title
595    
596        testing="GRUB2 display debug failure"
597        grub2DisplayTest grub2.1 debug/g2.1 --bad-image-bad \
598            --boot-filesystem=/boot --default-kernel --debug
599        testing="GRUB2 display debug success"
600        grub2DisplayTest grub2.1 debug/g2.1.2 --boot-filesystem=/boot \
601            --default-kernel --debug
602    
603        testing="GRUB2 remove kernel via index"
604        grub2Test grub2.3 remove/g2-1.1 --remove-kernel=1
605    
606        testing="GRUB2 remove kernel via title"
607        grub2Test grub2.3 remove/g2-1.1 --remove-kernel="TITLE=title2"
608    
609        testing="GRUB2 (submenu) remove kernel via index"
610        grub2Test grub2.4 remove/g2-1.2 --remove-kernel=2
611    
612        testing="GRUB2 (submenu) remove kernel via title"
613        grub2Test grub2.4 remove/g2-1.2 --remove-kernel="TITLE=title2"
614    
615        testing="GRUB2 default index directive"
616        grub2Test grub2.1 setdefaultindex/g2.1.0 --set-default-index=0
617        grub2Test grub2.1 setdefaultindex/g2.1.1 --set-default-index=1
618        grub2Test grub2.1 setdefaultindex/g2.1.9 --set-default-index=9
619    
620        testing="GRUB2 add kernel with default=saved_entry"
621        grub2Test grub2.7 add/g2-1.8 --env grubenv.1 \
622            --add-kernel=/boot/new-kernel.img \
623            --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
624            --copy-default
625        commandTest "saved_default output" \
626            "grub2-editenv test/grub2-support_files/env_temp list" \
627            "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
628    
629        testing="GRUB2 add kernel with default=saved_entry and a terrible title"
630        grub2Test grub2.7 add/g2-1.9 --env grubenv.1 \
631            --add-kernel=/boot/new-kernel.img \
632            --title='Fedora (3.10.3-300.fc19.x86_64) 19 (Schrödinger’s Cat)' \
633            --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
634            --copy-default
635    
636        testing="GRUB2 set default with default=saved_entry and a terrible name"
637        grub2Test grub2.9 add/g2-1.9 --env grubenv.1 --set-default-index=0
638        commandTest "saved_default output" \
639            "grub2-editenv test/grub2-support_files/env_temp list" \
640            'saved_entry=Fedora (3.10.3-300.fc19.x86_64) 19 (Schrödinger’s Cat)'
641    
642        testing="GRUB2 set default with default=saved_entry"
643        grub2Test grub2.8 add/g2-1.8 --env grubenv.1 --set-default-index=0
644        commandTest "saved_default output" \
645            "grub2-editenv test/grub2-support_files/env_temp list" \
646            "saved_entry=title"
647    
648        testing="GRUB2 --default-index with default=saved_entry"
649        grub2DisplayTest grub2.8 defaultindex/1 --env grubenv.1 --default-index
650    
651        testing="GRUB2 --default-index with default=saved_entry"
652        grub2DisplayTest grub2.8 defaultindex/0 --env grubenv.2 --default-index
653    
654        testing="GRUB2 --default-title with default=saved_entry"
655        grub2DisplayTest grub2.8 defaulttitle/g2.1 --env grubenv.1 --default-title
656    
657        testing="GRUB2 --default-index with default=saved_entry and empty grubenv"
658        grub2DisplayTest grub2.8 defaultindex/0 --env grubenv.0 --default-index
659    
660        testlinux16=n
661        case $ARCH in
662            ia32|x86_64) testlinux16=y ;;
663        esac
664    
665  testing="GRUB2 add kernel"      if [ "$testlinux16" == "y" ]; then
666  grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img --title='title' \          testing="GRUB2 add kernel with linux16"
667      --initrd=/boot/new-initrd --boot-filesystem=/boot/ --copy-default          grub2Test grub2.10 add/g2-1.10 --add-kernel=/boot/new-kernel.img \
668  grub2Test grub2.1 add/g2-1.6 --add-kernel=/boot/new-kernel.img --title='title' \              --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
669      --initrd=/boot/new-initrd --boot-filesystem=/boot/ --copy-default --efi              --copy-default
670  grub2Test grub2.6 add/g2-1.7 --add-kernel=/boot/new-kernel.img --title='title' \  
671      --initrd=/boot/new-initrd --boot-filesystem=/boot/ --copy-default --efi          testing="GRUB2 add initrd with linux16"
672  grub2Test grub2.1 add/g2-1.2 --add-kernel=/boot/new-kernel.img --title='title' \          grub2Test grub2.11 add/g2-1.11 --update-kernel=/boot/new-kernel.img \
673      --initrd=/boot/new-initrd --boot-filesystem=/boot/ \              --initrd=/boot/new-initrd --boot-filesystem=/boot/
674      --copy-default --make-default  
675  grub2Test grub2.1 add/g2-1.3 --add-kernel=/boot/new-kernel.img --title='title' \          testing="GRUB2 add rescue with linux16"
676      --boot-filesystem=/boot/ --copy-default --make-default          grub2Test grub2.14 add/g2-1.14 \
677  grub2Test grub2.1 remove/g2-1.4 --remove-kernel=/boot/vmlinuz-2.6.38.2-9.fc15.x86_64 \              --add-kernel=/boot/vmlinuz-0-rescue-5a94251776a14678911d4ae0949500f5 \
678      --boot-filesystem=/boot/              --initrd /boot/initramfs-0-rescue-5a94251776a14678911d4ae0949500f5.img \
679  grub2Test grub2.5 add/g2-1.5 --add-kernel=/boot/new-kernel.img --title='title' \              --copy-default --title "Fedora 21 Rescue" --args=root=/fooooo \
680      --initrd=/boot/new-initrd --boot-filesystem=/boot/ --copy-default              --remove-kernel=wtf --boot-filesystem=/boot/
681        fi
682  testing="GRUB2 add initrd"  fi
 grub2Test grub2.2 add/g2-1.4 --update-kernel=/boot/new-kernel.img \  
     --initrd=/boot/new-initrd --boot-filesystem=/boot/  
   
 testing="GRUB2 display default index"  
 grub2DisplayTest grub2.1 defaultindex/0 --default-index  
 grub2DisplayTest grub2.2 defaultindex/0 --default-index  
   
 testing="GRUB2 display default title"  
 grub2DisplayTest grub2.1 defaulttitle/g2.1 --default-title  
 grub2DisplayTest grub2.2 defaulttitle/g2.2 --default-title  
   
 testing="GRUB2 display debug failure"  
 grub2DisplayTest grub2.1 debug/g2.1 --bad-image-bad --boot-filesystem=/boot --default-kernel --debug  
 testing="GRUB2 display debug success"  
 grub2DisplayTest grub2.1 debug/g2.1.2 --boot-filesystem=/boot --default-kernel --debug  
   
 testing="GRUB2 remove kernel via index"  
 grub2Test grub2.3 remove/g2-1.1 --remove-kernel=1  
   
 testing="GRUB2 remove kernel via title"  
 grub2Test grub2.3 remove/g2-1.1 --remove-kernel="TITLE=title2"  
   
 testing="GRUB2 (submenu) remove kernel via index"  
 grub2Test grub2.4 remove/g2-1.2 --remove-kernel=2  
   
 testing="GRUB2 (submenu) remove kernel via title"  
 grub2Test grub2.4 remove/g2-1.2 --remove-kernel="TITLE=title2"  
   
 testing="GRUB2 default index directive"  
 grub2Test grub2.1 setdefaultindex/g2.1.0 --set-default-index=0  
 grub2Test grub2.1 setdefaultindex/g2.1.1 --set-default-index=1  
 grub2Test grub2.1 setdefaultindex/g2.1.9 --set-default-index=9  
683    
684  testing="YABOOT add kernel"  testing="YABOOT add kernel"
685  yabootTest yaboot.1 add/y1.1 --copy-default --boot-filesystem=/ --add-kernel=/boot/new-kernel  \  yabootTest yaboot.1 add/y1.1 --copy-default --boot-filesystem=/ --add-kernel=/boot/new-kernel  \
# Line 441  testing="Z/IPL add kernel" Line 693  testing="Z/IPL add kernel"
693  ziplTest zipl.1 add/z1.1 --add-kernel=/boot/new-kernel.img --title test  ziplTest zipl.1 add/z1.1 --add-kernel=/boot/new-kernel.img --title test
694  ziplTest zipl.1 add/z1.2 --add-kernel=/boot/new-kernel.img --title test --copy-default  ziplTest zipl.1 add/z1.2 --add-kernel=/boot/new-kernel.img --title test --copy-default
695    
696    testing="Extlinux add kernel"
697    extlinuxTest extlinux.1 add/extlinux1.1 --add-kernel=/boot/new-kernel.img \
698        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/
699    extlinuxTest extlinux.1 add/extlinux1.2 --add-kernel=/boot/new-kernel.img \
700        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot
701    extlinuxTest extlinux.1 add/extlinux1.3 --add-kernel=/boot/new-kernel.img \
702        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/ \
703        --copy-default
704    extlinuxTest extlinux.1 add/extlinux1.4 --add-kernel=/boot/new-kernel.img \
705        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot \
706        --copy-default
707    extlinuxTest extlinux.2 add/extlinux2.1 \
708        --add-kernel=/boot/vmlinuz-3.12.0-2.fc21.i686 \
709        --initrd=/boot/initrd-3.12.0-2.fc21.i686-new.img \
710        --boot-filesystem=/boot --copy-default \
711        --title="Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)" \
712        --remove-kernel="TITLE=Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)"
713    extlinuxTest extlinux.5 add/extlinux5.1 \
714        --add-kernel=/boot/vmlinuz-3.15.0-0.rc1.git4.1.fc21.armv7hl \
715        --devtree='/boot/dtb-3.15.0-0.rc1.git4.1.fc21.armv7hl/imx6q-cubox-i.dtb' \
716        --initrd=/boot/initramfs-3.15.0-0.rc1.git4.1.fc21.armv7hl.img \
717        --boot-filesystem=/boot --copy-default \
718        --title="Fedora (3.15.0-0.rc1.git4.1.fc21.armv7hl) 21 (Rawhide)" \
719        --remove-kernel="TITLE=Fedora (3.12.0-0.fc21.armv7hl) 21 (Rawhide)"
720    extlinuxTest extlinux.6 add/extlinux6.1 \
721        --add-kernel=/boot/vmlinuz-3.15.0-0.rc1.git4.1.fc21.armv7hl \
722        --devtreedir='/boot/dtb-3.15.0-0.rc1.git4.1.fc21.armv7hl/' \
723        --initrd=/boot/initramfs-3.15.0-0.rc1.git4.1.fc21.armv7hl.img \
724        --boot-filesystem=/boot --copy-default \
725        --title="Fedora (3.15.0-0.rc1.git4.1.fc21.armv7hl) 21 (Rawhide)" \
726        --remove-kernel="TITLE=Fedora (3.12.0-0.fc21.armv7hl) 21 (Rawhide)"
727    
728  testing="LILO long titles"  testing="LILO long titles"
729  liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \  liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \
730      --title="linux-longtitle" --copy-default --boot-filesystem=/boot      --title="linux-longtitle" --copy-default --boot-filesystem=/boot

Legend:
Removed from v.2057  
changed lines
  Added in v.3023