387 lines
14 KiB
Diff
387 lines
14 KiB
Diff
|
From a23da4b29281ca07b06aab0bb772fedfe1f8ce35 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Jones <pjones@redhat.com>
|
||
|
Date: Fri, 24 Jun 2016 16:13:41 -0400
|
||
|
Subject: [PATCH 22/55] Add a test case for a failure rmarshall saw in
|
||
|
--set-index=
|
||
|
|
||
|
Related: rhbz#1285601
|
||
|
|
||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||
|
---
|
||
|
test.sh | 9 ++
|
||
|
test/grub2-support_files/grubenv.3 | 3 +
|
||
|
test/grub2.18 | 154 ++++++++++++++++++++++++++
|
||
|
test/results/add/g2-1.18 | 168 +++++++++++++++++++++++++++++
|
||
|
4 files changed, 334 insertions(+)
|
||
|
create mode 100644 test/grub2-support_files/grubenv.3
|
||
|
create mode 100644 test/grub2.18
|
||
|
create mode 100644 test/results/add/g2-1.18
|
||
|
|
||
|
diff --git a/test.sh b/test.sh
|
||
|
index 7d1794c83df..fb7cd2381d5 100755
|
||
|
--- a/test.sh
|
||
|
+++ b/test.sh
|
||
|
@@ -565,6 +565,15 @@ if [ "$testgrub2" == "y" ]; then
|
||
|
--copy-default --title 'Red Hat Enterprise Linux Server' \
|
||
|
--args=root=/dev/mapper/foo--
|
||
|
|
||
|
+ # copy a stanza and add arguments as well, while using --set-index=
|
||
|
+ testing="GRUB2 add stanza and new args with --set-index="
|
||
|
+ grub2Test grub2.18 add/g2-1.18 --env grubenv.3 \
|
||
|
+ --add-kernel=/boot/vmlinuz-3.10.0-327.22.2.el7.x86_64.debug \
|
||
|
+ --boot-filesystem=/boot --copy-default \
|
||
|
+ --title "Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo) with debugging" \
|
||
|
+ --args="root=/dev/mapper/rhel_team--area--222-root systemd.log_level=debug systemd.log_target=kmsg" \
|
||
|
+ --set-index=1
|
||
|
+
|
||
|
testing="GRUB2 add initrd"
|
||
|
grub2Test grub2.2 add/g2-1.4 --update-kernel=/boot/new-kernel.img \
|
||
|
--initrd=/boot/new-initrd --boot-filesystem=/boot/
|
||
|
diff --git a/test/grub2-support_files/grubenv.3 b/test/grub2-support_files/grubenv.3
|
||
|
new file mode 100644
|
||
|
index 00000000000..b9a8c798328
|
||
|
--- /dev/null
|
||
|
+++ b/test/grub2-support_files/grubenv.3
|
||
|
@@ -0,0 +1,3 @@
|
||
|
+# GRUB Environment Block
|
||
|
+saved_entry=Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo) with debugging
|
||
|
+#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
|
||
|
\ No newline at end of file
|
||
|
diff --git a/test/grub2.18 b/test/grub2.18
|
||
|
new file mode 100644
|
||
|
index 00000000000..529608da773
|
||
|
--- /dev/null
|
||
|
+++ b/test/grub2.18
|
||
|
@@ -0,0 +1,154 @@
|
||
|
+#
|
||
|
+# DO NOT EDIT THIS FILE
|
||
|
+#
|
||
|
+# It is automatically generated by grub2-mkconfig using templates
|
||
|
+# from /etc/grub.d and settings from /etc/default/grub
|
||
|
+#
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/00_header ###
|
||
|
+set pager=1
|
||
|
+
|
||
|
+if [ -s $prefix/grubenv ]; then
|
||
|
+ load_env
|
||
|
+fi
|
||
|
+if [ "${next_entry}" ] ; then
|
||
|
+ set default="${next_entry}"
|
||
|
+ set next_entry=
|
||
|
+ save_env next_entry
|
||
|
+ set boot_once=true
|
||
|
+else
|
||
|
+ set default="${saved_entry}"
|
||
|
+fi
|
||
|
+
|
||
|
+if [ x"${feature_menuentry_id}" = xy ]; then
|
||
|
+ menuentry_id_option="--id"
|
||
|
+else
|
||
|
+ menuentry_id_option=""
|
||
|
+fi
|
||
|
+
|
||
|
+export menuentry_id_option
|
||
|
+
|
||
|
+if [ "${prev_saved_entry}" ]; then
|
||
|
+ set saved_entry="${prev_saved_entry}"
|
||
|
+ save_env saved_entry
|
||
|
+ set prev_saved_entry=
|
||
|
+ save_env prev_saved_entry
|
||
|
+ set boot_once=true
|
||
|
+fi
|
||
|
+
|
||
|
+function savedefault {
|
||
|
+ if [ -z "${boot_once}" ]; then
|
||
|
+ saved_entry="${chosen}"
|
||
|
+ save_env saved_entry
|
||
|
+ fi
|
||
|
+}
|
||
|
+
|
||
|
+function load_video {
|
||
|
+ if [ x$feature_all_video_module = xy ]; then
|
||
|
+ insmod all_video
|
||
|
+ else
|
||
|
+ insmod efi_gop
|
||
|
+ insmod efi_uga
|
||
|
+ insmod ieee1275_fb
|
||
|
+ insmod vbe
|
||
|
+ insmod vga
|
||
|
+ insmod video_bochs
|
||
|
+ insmod video_cirrus
|
||
|
+ fi
|
||
|
+}
|
||
|
+
|
||
|
+terminal_output console
|
||
|
+if [ x$feature_timeout_style = xy ] ; then
|
||
|
+ set timeout_style=menu
|
||
|
+ set timeout=5
|
||
|
+# Fallback normal timeout code in case the timeout_style feature is
|
||
|
+# unavailable.
|
||
|
+else
|
||
|
+ set timeout=5
|
||
|
+fi
|
||
|
+### END /etc/grub.d/00_header ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/00_tuned ###
|
||
|
+set tuned_params=""
|
||
|
+### END /etc/grub.d/00_tuned ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/01_users ###
|
||
|
+if [ -f ${prefix}/user.cfg ]; then
|
||
|
+ source ${prefix}/user.cfg
|
||
|
+ if [ -n ${GRUB2_PASSWORD} ]; then
|
||
|
+ set superusers="root"
|
||
|
+ export superusers
|
||
|
+ password_pbkdf2 root ${GRUB2_PASSWORD}
|
||
|
+ fi
|
||
|
+fi
|
||
|
+### END /etc/grub.d/01_users ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/10_linux ###
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ set gfxpayload=keep
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-3.10.0-327.22.2.el7.x86_64.debug root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet LANG=en_US.UTF-8
|
||
|
+}
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.el7.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ set gfxpayload=keep
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet LANG=en_US.UTF-8
|
||
|
+ initrd16 /initramfs-3.10.0-327.el7.x86_64.img
|
||
|
+}
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (0-rescue-925cd320373b6a4a9a66a26371afccd2) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-925cd320373b6a4a9a66a26371afccd2-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-0-rescue-925cd320373b6a4a9a66a26371afccd2 root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet
|
||
|
+ initrd16 /initramfs-0-rescue-925cd320373b6a4a9a66a26371afccd2.img
|
||
|
+}
|
||
|
+
|
||
|
+### END /etc/grub.d/10_linux ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/20_linux_xen ###
|
||
|
+### END /etc/grub.d/20_linux_xen ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/20_ppc_terminfo ###
|
||
|
+### END /etc/grub.d/20_ppc_terminfo ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/30_os-prober ###
|
||
|
+### END /etc/grub.d/30_os-prober ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/40_custom ###
|
||
|
+# This file provides an easy way to add custom menu entries. Simply type the
|
||
|
+# menu entries you want to add after this comment. Be careful not to change
|
||
|
+# the 'exec tail' line above.
|
||
|
+### END /etc/grub.d/40_custom ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/41_custom ###
|
||
|
+if [ -f ${config_directory}/custom.cfg ]; then
|
||
|
+ source ${config_directory}/custom.cfg
|
||
|
+elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
|
||
|
+ source $prefix/custom.cfg;
|
||
|
+fi
|
||
|
+### END /etc/grub.d/41_custom ###
|
||
|
diff --git a/test/results/add/g2-1.18 b/test/results/add/g2-1.18
|
||
|
new file mode 100644
|
||
|
index 00000000000..ca5fe2393d5
|
||
|
--- /dev/null
|
||
|
+++ b/test/results/add/g2-1.18
|
||
|
@@ -0,0 +1,168 @@
|
||
|
+#
|
||
|
+# DO NOT EDIT THIS FILE
|
||
|
+#
|
||
|
+# It is automatically generated by grub2-mkconfig using templates
|
||
|
+# from /etc/grub.d and settings from /etc/default/grub
|
||
|
+#
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/00_header ###
|
||
|
+set pager=1
|
||
|
+
|
||
|
+if [ -s $prefix/grubenv ]; then
|
||
|
+ load_env
|
||
|
+fi
|
||
|
+if [ "${next_entry}" ] ; then
|
||
|
+ set default="${next_entry}"
|
||
|
+ set next_entry=
|
||
|
+ save_env next_entry
|
||
|
+ set boot_once=true
|
||
|
+else
|
||
|
+ set default="${saved_entry}"
|
||
|
+fi
|
||
|
+
|
||
|
+if [ x"${feature_menuentry_id}" = xy ]; then
|
||
|
+ menuentry_id_option="--id"
|
||
|
+else
|
||
|
+ menuentry_id_option=""
|
||
|
+fi
|
||
|
+
|
||
|
+export menuentry_id_option
|
||
|
+
|
||
|
+if [ "${prev_saved_entry}" ]; then
|
||
|
+ set saved_entry="${prev_saved_entry}"
|
||
|
+ save_env saved_entry
|
||
|
+ set prev_saved_entry=
|
||
|
+ save_env prev_saved_entry
|
||
|
+ set boot_once=true
|
||
|
+fi
|
||
|
+
|
||
|
+function savedefault {
|
||
|
+ if [ -z "${boot_once}" ]; then
|
||
|
+ saved_entry="${chosen}"
|
||
|
+ save_env saved_entry
|
||
|
+ fi
|
||
|
+}
|
||
|
+
|
||
|
+function load_video {
|
||
|
+ if [ x$feature_all_video_module = xy ]; then
|
||
|
+ insmod all_video
|
||
|
+ else
|
||
|
+ insmod efi_gop
|
||
|
+ insmod efi_uga
|
||
|
+ insmod ieee1275_fb
|
||
|
+ insmod vbe
|
||
|
+ insmod vga
|
||
|
+ insmod video_bochs
|
||
|
+ insmod video_cirrus
|
||
|
+ fi
|
||
|
+}
|
||
|
+
|
||
|
+terminal_output console
|
||
|
+if [ x$feature_timeout_style = xy ] ; then
|
||
|
+ set timeout_style=menu
|
||
|
+ set timeout=5
|
||
|
+# Fallback normal timeout code in case the timeout_style feature is
|
||
|
+# unavailable.
|
||
|
+else
|
||
|
+ set timeout=5
|
||
|
+fi
|
||
|
+### END /etc/grub.d/00_header ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/00_tuned ###
|
||
|
+set tuned_params=""
|
||
|
+### END /etc/grub.d/00_tuned ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/01_users ###
|
||
|
+if [ -f ${prefix}/user.cfg ]; then
|
||
|
+ source ${prefix}/user.cfg
|
||
|
+ if [ -n ${GRUB2_PASSWORD} ]; then
|
||
|
+ set superusers="root"
|
||
|
+ export superusers
|
||
|
+ password_pbkdf2 root ${GRUB2_PASSWORD}
|
||
|
+ fi
|
||
|
+fi
|
||
|
+### END /etc/grub.d/01_users ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/10_linux ###
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ set gfxpayload=keep
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-3.10.0-327.22.2.el7.x86_64.debug root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet LANG=en_US.UTF-8
|
||
|
+}
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.22.2.el7.x86_64.debug) 7.2 (Maipo) with debugging' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ set gfxpayload=keep
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-3.10.0-327.22.2.el7.x86_64.debug root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet LANG=en_US.UTF-8 systemd.log_level=debug systemd.log_target=kmsg
|
||
|
+}
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (3.10.0-327.el7.x86_64) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ set gfxpayload=keep
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet LANG=en_US.UTF-8
|
||
|
+ initrd16 /initramfs-3.10.0-327.el7.x86_64.img
|
||
|
+}
|
||
|
+menuentry 'Red Hat Enterprise Linux Server (0-rescue-925cd320373b6a4a9a66a26371afccd2) 7.2 (Maipo)' --class red --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-925cd320373b6a4a9a66a26371afccd2-advanced-91b16928-66bf-4801-8aed-fab3f1a6876c' {
|
||
|
+ load_video
|
||
|
+ insmod gzio
|
||
|
+ insmod part_msdos
|
||
|
+ insmod xfs
|
||
|
+ set root='hd0,msdos1'
|
||
|
+ if [ x$feature_platform_search_hint = xy ]; then
|
||
|
+ search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ else
|
||
|
+ search --no-floppy --fs-uuid --set=root 7e972fc0-6cf8-4a58-ace6-1b381e52733d
|
||
|
+ fi
|
||
|
+ linux16 /vmlinuz-0-rescue-925cd320373b6a4a9a66a26371afccd2 root=/dev/mapper/rhel_team--area--222-root ro crashkernel=auto rd.lvm.lv=rhel_team-area-222/root rd.lvm.lv=rhel_team-area-222/swap rhgb quiet
|
||
|
+ initrd16 /initramfs-0-rescue-925cd320373b6a4a9a66a26371afccd2.img
|
||
|
+}
|
||
|
+
|
||
|
+### END /etc/grub.d/10_linux ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/20_linux_xen ###
|
||
|
+### END /etc/grub.d/20_linux_xen ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/20_ppc_terminfo ###
|
||
|
+### END /etc/grub.d/20_ppc_terminfo ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/30_os-prober ###
|
||
|
+### END /etc/grub.d/30_os-prober ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/40_custom ###
|
||
|
+# This file provides an easy way to add custom menu entries. Simply type the
|
||
|
+# menu entries you want to add after this comment. Be careful not to change
|
||
|
+# the 'exec tail' line above.
|
||
|
+### END /etc/grub.d/40_custom ###
|
||
|
+
|
||
|
+### BEGIN /etc/grub.d/41_custom ###
|
||
|
+if [ -f ${config_directory}/custom.cfg ]; then
|
||
|
+ source ${config_directory}/custom.cfg
|
||
|
+elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
|
||
|
+ source $prefix/custom.cfg;
|
||
|
+fi
|
||
|
+### END /etc/grub.d/41_custom ###
|
||
|
--
|
||
|
2.17.1
|
||
|
|