On Thu, 9 May 2019 13:46:27 -0400 Masayoshi Mizuma <[email protected]> wrote:
> From: Masayoshi Mizuma <[email protected]> > > Cleanup get_grub_index(). Hi Masayoshi, Thanks for the patches, quick comment below. > > Signed-off-by: Masayoshi Mizuma <[email protected]> > --- > tools/testing/ktest/ktest.pl | 50 +++++++++++------------------------- > 1 file changed, 15 insertions(+), 35 deletions(-) > > diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl > index 3862b23672f7..1255ea0d9df4 100755 > --- a/tools/testing/ktest/ktest.pl > +++ b/tools/testing/ktest/ktest.pl > @@ -1934,46 +1934,26 @@ sub get_grub2_index { > > sub get_grub_index { > > - if ($reboot_type eq "grub2") { > - get_grub2_index; > - return; > - } > - > - if ($reboot_type ne "grub") { > - return; > - } We still need something like: if ($reboot_type !~ /^grub/) { return; } Because I believe this will run (and probably error) for syslinux boot systems. I have a couple, I could test it and find out ;-) -- Steve > - return if (defined($grub_number) && defined($last_grub_menu) && > - $last_grub_menu eq $grub_menu && defined($last_machine) && > - $last_machine eq $machine); > - > - doprint "Find grub menu ... "; > - $grub_number = -1; > + my $command; > + my $target; > + my $skip; > + my $grub_menu_qt; > > - my $ssh_grub = $ssh_exec; > - $ssh_grub =~ s,\$SSH_COMMAND,cat /boot/grub/menu.lst,g; > + return if ($reboot_type ne "grub") and ($reboot_type ne "grub2"); > > - open(IN, "$ssh_grub |") > - or dodie "unable to get menu.lst"; > - > - my $found = 0; > - my $grub_menu_qt = quotemeta($grub_menu); > + $grub_menu_qt = quotemeta($grub_menu); > > - while (<IN>) { > - if (/^\s*title\s+$grub_menu_qt\s*$/) { > - $grub_number++; > - $found = 1; > - last; > - } elsif (/^\s*title\s/) { > - $grub_number++; > - } > + if ($reboot_type eq "grub") { > + $command = "cat /boot/grub/menu.lst"; > + $target = '^\s*title\s+' . $grub_menu_qt . '\s*$'; > + $skip = '^\s*title\s'; > + } elsif ($reboot_type eq "grub2") { > + $command = "cat $grub_file"; > + $target = '^menuentry.*' . $grub_menu_qt; > + $skip = '^menuentry\s|^submenu\s'; > } > - close(IN); > > - dodie "Could not find '$grub_menu' in /boot/grub/menu on $machine" > - if (!$found); > - doprint "$grub_number\n"; > - $last_grub_menu = $grub_menu; > - $last_machine = $machine; > + _get_grub_index($command, $target, $skip); > } > > sub wait_for_input

