Magellan Linux

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

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

revision 2255 by niro, Mon Oct 21 14:00:38 2013 UTC revision 3003 by niro, Tue Jun 27 14:14:00 2017 UTC
# Line 158  commandTest() { Line 158  commandTest() {
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 269  grubTest grub.13 setdefaultindex/g.13.0 Line 269  grubTest grub.13 setdefaultindex/g.13.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 295  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 302  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 316  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 339  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 355  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 391  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 443  if [ "$testgrub2" == "y" ]; then Line 497  if [ "$testgrub2" == "y" ]; then
497      grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img \      grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img \
498          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
499          --copy-default          --copy-default
500      grub2Test grub2.1 add/g2-1.6 --add-kernel=/boot/new-kernel.img \      case $ARCH in
501          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \          aarch64)
502          --copy-default --efi              grub2Test grub2.1 add/g2-1.1 --add-kernel=/boot/new-kernel.img \
503                    --title='title' \
504                    --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
505                    --copy-default --efi
506                ;;
507            *)
508                grub2Test grub2.1 add/g2-1.6 --add-kernel=/boot/new-kernel.img \
509                    --title='title' \
510                    --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
511                    --copy-default --efi
512                ;;
513        esac
514      grub2Test grub2.6 add/g2-1.7 --add-kernel=/boot/new-kernel.img \      grub2Test grub2.6 add/g2-1.7 --add-kernel=/boot/new-kernel.img \
515          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
516          --copy-default --efi          --copy-default --efi
# Line 460  if [ "$testgrub2" == "y" ]; then Line 525  if [ "$testgrub2" == "y" ]; then
525      grub2Test grub2.5 add/g2-1.5 --add-kernel=/boot/new-kernel.img \      grub2Test grub2.5 add/g2-1.5 --add-kernel=/boot/new-kernel.img \
526          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \          --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
527          --copy-default          --copy-default
528        grub2Test grub2.12 add/g2-1.12 \
529            --add-kernel=/boot/vmlinuz-2.6.38.8-32.fc15.x86_64 \
530            --title='Linux, with Fedora 2.6.38.8-32.fc15.x86_64' \
531            --devtree='/boot/dtb-2.6.38.8-32.fc15.x86_64/foobarbaz.dtb' \
532            --initrd=/boot/initramfs-2.6.38.8-32.fc15.x86_64.img \
533            --boot-filesystem=/boot/ --copy-default --efi
534        grub2Test grub2.13 add/g2-1.13 \
535            --add-kernel=/boot/vmlinuz-2.6.38.8-32.fc15.x86_64 \
536            --title='Linux, with Fedora 2.6.38.8-32.fc15.x86_64' \
537            --devtree='/boot/dtb-2.6.38.8-32.fc15.x86_64/foobarbaz.dtb' \
538            --initrd=/boot/initramfs-2.6.38.8-32.fc15.x86_64.img \
539            --boot-filesystem=/boot/ --copy-default --efi
540        grub2Test grub2.15 add/g2-1.15 \
541            --add-kernel=/boot/vmlinuz-0-rescue-5a94251776a14678911d4ae0949500f5 \
542            --initrd /boot/initramfs-0-rescue-5a94251776a14678911d4ae0949500f5.img \
543            --copy-default --title "Fedora 21 Rescue" --args=root=/fooooo \
544            --remove-kernel=wtf --boot-filesystem=/boot/ --efi
545    
546        # a grub2 add with a "set" of the form: set foo="bar=1,2".  bz#1152550
547        # has this being emitted as: set foo="bar=1,2"=1,2"
548        # which is wrong.
549        grub2Test grub2.16 add/g2-1.16 \
550            --add-kernel=/boot/vmlinuz-foo \
551            --copy-default --title 'Red Hat Enterprise Linux Server' \
552            --args=root=/dev/mapper/foo--
553    
554      testing="GRUB2 add initrd"      testing="GRUB2 add initrd"
555      grub2Test grub2.2 add/g2-1.4 --update-kernel=/boot/new-kernel.img \      grub2Test grub2.2 add/g2-1.4 --update-kernel=/boot/new-kernel.img \
# Line 506  if [ "$testgrub2" == "y" ]; then Line 596  if [ "$testgrub2" == "y" ]; then
596          "grub2-editenv test/grub2-support_files/env_temp list" \          "grub2-editenv test/grub2-support_files/env_temp list" \
597          "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"          "saved_entry=Linux, with Fedora 2.6.38.8-32.fc15.x86_64"
598    
599        testing="GRUB2 add kernel with default=saved_entry and a terrible title"
600        grub2Test grub2.7 add/g2-1.9 --env grubenv.1 \
601            --add-kernel=/boot/new-kernel.img \
602            --title='Fedora (3.10.3-300.fc19.x86_64) 19 (Schrödinger’s Cat)' \
603            --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
604            --copy-default
605    
606        testing="GRUB2 set default with default=saved_entry and a terrible name"
607        grub2Test grub2.9 add/g2-1.9 --env grubenv.1 --set-default-index=0
608        commandTest "saved_default output" \
609            "grub2-editenv test/grub2-support_files/env_temp list" \
610            'saved_entry=Fedora (3.10.3-300.fc19.x86_64) 19 (Schrödinger’s Cat)'
611    
612      testing="GRUB2 set default with default=saved_entry"      testing="GRUB2 set default with default=saved_entry"
613      grub2Test grub2.8 add/g2-1.8 --env grubenv.1 --set-default-index=0      grub2Test grub2.8 add/g2-1.8 --env grubenv.1 --set-default-index=0
614      commandTest "saved_default output" \      commandTest "saved_default output" \
# Line 523  if [ "$testgrub2" == "y" ]; then Line 626  if [ "$testgrub2" == "y" ]; then
626    
627      testing="GRUB2 --default-index with default=saved_entry and empty grubenv"      testing="GRUB2 --default-index with default=saved_entry and empty grubenv"
628      grub2DisplayTest grub2.8 defaultindex/0 --env grubenv.0 --default-index      grub2DisplayTest grub2.8 defaultindex/0 --env grubenv.0 --default-index
629    
630        testlinux16=n
631        case $ARCH in
632            ia32|x86_64) testlinux16=y ;;
633        esac
634    
635        if [ "$testlinux16" == "y" ]; then
636            testing="GRUB2 add kernel with linux16"
637            grub2Test grub2.10 add/g2-1.10 --add-kernel=/boot/new-kernel.img \
638                --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot/ \
639                --copy-default
640    
641            testing="GRUB2 add initrd with linux16"
642            grub2Test grub2.11 add/g2-1.11 --update-kernel=/boot/new-kernel.img \
643                --initrd=/boot/new-initrd --boot-filesystem=/boot/
644    
645            testing="GRUB2 add rescue with linux16"
646            grub2Test grub2.14 add/g2-1.14 \
647                --add-kernel=/boot/vmlinuz-0-rescue-5a94251776a14678911d4ae0949500f5 \
648                --initrd /boot/initramfs-0-rescue-5a94251776a14678911d4ae0949500f5.img \
649                --copy-default --title "Fedora 21 Rescue" --args=root=/fooooo \
650                --remove-kernel=wtf --boot-filesystem=/boot/
651        fi
652  fi  fi
653    
654  testing="YABOOT add kernel"  testing="YABOOT add kernel"
# Line 537  testing="Z/IPL add kernel" Line 663  testing="Z/IPL add kernel"
663  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
664  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
665    
666    testing="Extlinux add kernel"
667    extlinuxTest extlinux.1 add/extlinux1.1 --add-kernel=/boot/new-kernel.img \
668        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/
669    extlinuxTest extlinux.1 add/extlinux1.2 --add-kernel=/boot/new-kernel.img \
670        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot
671    extlinuxTest extlinux.1 add/extlinux1.3 --add-kernel=/boot/new-kernel.img \
672        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/ \
673        --copy-default
674    extlinuxTest extlinux.1 add/extlinux1.4 --add-kernel=/boot/new-kernel.img \
675        --title='title' --initrd=/boot/new-initrd --boot-filesystem=/boot \
676        --copy-default
677    extlinuxTest extlinux.2 add/extlinux2.1 \
678        --add-kernel=/boot/vmlinuz-3.12.0-2.fc21.i686 \
679        --initrd=/boot/initrd-3.12.0-2.fc21.i686-new.img \
680        --boot-filesystem=/boot --copy-default \
681        --title="Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)" \
682        --remove-kernel="TITLE=Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)"
683    extlinuxTest extlinux.5 add/extlinux5.1 \
684        --add-kernel=/boot/vmlinuz-3.15.0-0.rc1.git4.1.fc21.armv7hl \
685        --devtree='/boot/dtb-3.15.0-0.rc1.git4.1.fc21.armv7hl/imx6q-cubox-i.dtb' \
686        --initrd=/boot/initramfs-3.15.0-0.rc1.git4.1.fc21.armv7hl.img \
687        --boot-filesystem=/boot --copy-default \
688        --title="Fedora (3.15.0-0.rc1.git4.1.fc21.armv7hl) 21 (Rawhide)" \
689        --remove-kernel="TITLE=Fedora (3.12.0-0.fc21.armv7hl) 21 (Rawhide)"
690    extlinuxTest extlinux.6 add/extlinux6.1 \
691        --add-kernel=/boot/vmlinuz-3.15.0-0.rc1.git4.1.fc21.armv7hl \
692        --devtreedir='/boot/dtb-3.15.0-0.rc1.git4.1.fc21.armv7hl/' \
693        --initrd=/boot/initramfs-3.15.0-0.rc1.git4.1.fc21.armv7hl.img \
694        --boot-filesystem=/boot --copy-default \
695        --title="Fedora (3.15.0-0.rc1.git4.1.fc21.armv7hl) 21 (Rawhide)" \
696        --remove-kernel="TITLE=Fedora (3.12.0-0.fc21.armv7hl) 21 (Rawhide)"
697    
698  testing="LILO long titles"  testing="LILO long titles"
699  liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \  liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \
700      --title="linux-longtitle" --copy-default --boot-filesystem=/boot      --title="linux-longtitle" --copy-default --boot-filesystem=/boot

Legend:
Removed from v.2255  
changed lines
  Added in v.3003