From: Masayoshi Mizuma Date: Wed, 17 Apr 2019 23:58:23 +0000 (-0400) Subject: ktest: Add support for meta characters in GRUB_MENU X-Git-Tag: v5.2-rc1~167^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=68911069f509ba3bf0f513d9af00309e07932906;p=linux.git ktest: Add support for meta characters in GRUB_MENU ktest fails if meta characters are in GRUB_MENU, for example GRUB_MENU = 'Fedora (test)' The failure happens because the meta characters are not escaped, so the menu doesn't match in any entries in GRUB_FILE. Use quotemeta() to escape the meta characters. Link: http://lkml.kernel.org/r/20190417235823.18176-1-msys.mizuma@gmail.com Signed-off-by: Masayoshi Mizuma Signed-off-by: Steven Rostedt (VMware) --- diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 75f8cecdd549..3bec099a6cf4 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -1878,9 +1878,10 @@ sub get_grub2_index { or dodie "unable to get $grub_file"; my $found = 0; + my $grub_menu_qt = quotemeta($grub_menu); while () { - if (/^menuentry.*$grub_menu/) { + if (/^menuentry.*$grub_menu_qt/) { $grub_number++; $found = 1; last; @@ -1921,9 +1922,10 @@ sub get_grub_index { or dodie "unable to get menu.lst"; my $found = 0; + my $grub_menu_qt = quotemeta($grub_menu); while () { - if (/^\s*title\s+$grub_menu\s*$/) { + if (/^\s*title\s+$grub_menu_qt\s*$/) { $grub_number++; $found = 1; last;