On Wed, 17 Apr 2019 16:11:14 -0400 Masayoshi Mizuma <[email protected]> wrote:
> From: Masayoshi Mizuma <[email protected]> > > ktest fails if meta characters are in GRUB_MENU, for example > GRUB_MENU = 'Fedora (test)' > Thanks for the patch! One little nit below though. > The failure happens because the meta characters are not escaped, > so the menu doesn't match in any entries in GRUB_FILE. > > Use quotameta() to escape the meta characters. > > Signed-off-by: Masayoshi Mizuma <[email protected]> > --- > tools/testing/ktest/ktest.pl | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl > index 87af8a68ab25..ea07d43856b8 100755 > --- a/tools/testing/ktest/ktest.pl > +++ b/tools/testing/ktest/ktest.pl > @@ -1866,9 +1866,10 @@ sub get_grub2_index { > or dodie "unable to get $grub_file"; > > my $found = 0; > + my $_grub_menu = quotemeta($grub_menu); I'd like to avoid names that start with underscore. Could you call this: $grub_menu_qt or something similar, to be a bit more descriptive of what the variable is. Thanks! -- Steve > > while (<IN>) { > - if (/^menuentry.*$grub_menu/) { > + if (/^menuentry.*$_grub_menu/) { > $grub_number++; > $found = 1; > last; > @@ -1909,9 +1910,10 @@ sub get_grub_index { > or dodie "unable to get menu.lst"; > > my $found = 0; > + my $_grub_menu = quotemeta($grub_menu); > > while (<IN>) { > - if (/^\s*title\s+$grub_menu\s*$/) { > + if (/^\s*title\s+$_grub_menu\s*$/) { > $grub_number++; > $found = 1; > last;

