summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasayoshi Mizuma <m.mizuma@jp.fujitsu.com>2019-04-17 19:58:23 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-04-17 22:36:30 -0400
commit68911069f509ba3bf0f513d9af00309e07932906 (patch)
treea0bc5f05cdd38d4b8a357e6887c483f6a09e5b90
parentfca797f16354a1e9b411a32bc1da53bb43e7fc5a (diff)
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 <m.mizuma@jp.fujitsu.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rwxr-xr-xtools/testing/ktest/ktest.pl6
1 files changed, 4 insertions, 2 deletions
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 {
1878 or dodie "unable to get $grub_file"; 1878 or dodie "unable to get $grub_file";
1879 1879
1880 my $found = 0; 1880 my $found = 0;
1881 my $grub_menu_qt = quotemeta($grub_menu);
1881 1882
1882 while (<IN>) { 1883 while (<IN>) {
1883 if (/^menuentry.*$grub_menu/) { 1884 if (/^menuentry.*$grub_menu_qt/) {
1884 $grub_number++; 1885 $grub_number++;
1885 $found = 1; 1886 $found = 1;
1886 last; 1887 last;
@@ -1921,9 +1922,10 @@ sub get_grub_index {
1921 or dodie "unable to get menu.lst"; 1922 or dodie "unable to get menu.lst";
1922 1923
1923 my $found = 0; 1924 my $found = 0;
1925 my $grub_menu_qt = quotemeta($grub_menu);
1924 1926
1925 while (<IN>) { 1927 while (<IN>) {
1926 if (/^\s*title\s+$grub_menu\s*$/) { 1928 if (/^\s*title\s+$grub_menu_qt\s*$/) {
1927 $grub_number++; 1929 $grub_number++;
1928 $found = 1; 1930 $found = 1;
1929 last; 1931 last;