mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-28 15:20:41 +00:00
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:
parent
f824b68668
commit
3889139291
1 changed files with 18 additions and 34 deletions
|
@ -1946,46 +1946,30 @@ sub get_grub2_index {
|
||||||
|
|
||||||
sub get_grub_index {
|
sub get_grub_index {
|
||||||
|
|
||||||
if ($reboot_type eq "grub2") {
|
my $command;
|
||||||
get_grub2_index;
|
my $target;
|
||||||
|
my $skip;
|
||||||
|
my $grub_menu_qt;
|
||||||
|
|
||||||
|
if ($reboot_type !~ /^grub/) {
|
||||||
return;
|
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;
|
||||||
}
|
}
|
||||||
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 ... ";
|
_get_grub_index($command, $target, $skip);
|
||||||
$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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub wait_for_input
|
sub wait_for_input
|
||||||
|
|
Loading…
Reference in a new issue