ktest: cleanup get_grub_index

Cleanup get_grub_index().

Link: http://lkml.kernel.org/r/20190509213647.6276-3-msys.mizuma@gmail.com

Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
Masayoshi Mizuma 2019-05-09 17:36:43 -04:00 committed by Steven Rostedt (VMware)
parent f824b68668
commit 3889139291

View File

@ -1946,46 +1946,30 @@ sub get_grub2_index {
sub get_grub_index {
if ($reboot_type eq "grub2") {
get_grub2_index;
my $command;
my $target;
my $skip;
my $grub_menu_qt;
if ($reboot_type !~ /^grub/) {
return;
}
if ($reboot_type ne "grub") {
$grub_menu_qt = quotemeta($grub_menu);
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';
} else {
return;
}
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 $ssh_grub = $ssh_exec;
$ssh_grub =~ s,\$SSH_COMMAND,cat /boot/grub/menu.lst,g;
open(IN, "$ssh_grub |")
or dodie "unable to get menu.lst";
my $found = 0;
my $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++;
}
}
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