ktest: introduce _get_grub_index
Introduce _get_grub_index() to deal with Boot Loader Specification (BLS) and cleanup. Link: http://lkml.kernel.org/r/20190509213647.6276-2-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
37e1677330
commit
f824b68668
|
@ -1871,6 +1871,43 @@ sub run_scp_mod {
|
|||
return run_scp($src, $dst, $cp_scp);
|
||||
}
|
||||
|
||||
sub _get_grub_index {
|
||||
|
||||
my ($command, $target, $skip) = @_;
|
||||
|
||||
return if (defined($grub_number) && defined($last_grub_menu) &&
|
||||
$last_grub_menu eq $grub_menu && defined($last_machine) &&
|
||||
$last_machine eq $machine);
|
||||
|
||||
doprint "Find $reboot_type menu ... ";
|
||||
$grub_number = -1;
|
||||
|
||||
my $ssh_grub = $ssh_exec;
|
||||
$ssh_grub =~ s,\$SSH_COMMAND,$command,g;
|
||||
|
||||
open(IN, "$ssh_grub |")
|
||||
or dodie "unable to execute $command";
|
||||
|
||||
my $found = 0;
|
||||
|
||||
while (<IN>) {
|
||||
if (/$target/) {
|
||||
$grub_number++;
|
||||
$found = 1;
|
||||
last;
|
||||
} elsif (/$skip/) {
|
||||
$grub_number++;
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
|
||||
dodie "Could not find '$grub_menu' through $command on $machine"
|
||||
if (!$found);
|
||||
doprint "$grub_number\n";
|
||||
$last_grub_menu = $grub_menu;
|
||||
$last_machine = $machine;
|
||||
}
|
||||
|
||||
sub get_grub2_index {
|
||||
|
||||
return if (defined($grub_number) && defined($last_grub_menu) &&
|
||||
|
|
Loading…
Reference in New Issue