diff options
Diffstat (limited to 'tools/testing')
| -rwxr-xr-x | tools/testing/ktest/ktest.pl | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 4e67d52eb3a..0d7fd8b5154 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl @@ -73,6 +73,7 @@ my $ktest_config;  my $version;  my $have_version = 0;  my $machine; +my $last_machine;  my $ssh_user;  my $tmpdir;  my $builddir; @@ -108,6 +109,7 @@ my $scp_to_target;  my $scp_to_target_install;  my $power_off;  my $grub_menu; +my $last_grub_menu;  my $grub_file;  my $grub_number;  my $grub_reboot; @@ -1538,7 +1540,9 @@ sub run_scp_mod {  sub get_grub2_index { -    return if (defined($grub_number)); +    return if (defined($grub_number) && defined($last_grub_menu) && +	       $last_grub_menu eq $grub_menu && defined($last_machine) && +	       $last_machine eq $machine);      doprint "Find grub2 menu ... ";      $grub_number = -1; @@ -1565,6 +1569,8 @@ sub get_grub2_index {      die "Could not find '$grub_menu' in $grub_file on $machine"  	if (!$found);      doprint "$grub_number\n"; +    $last_grub_menu = $grub_menu; +    $last_machine = $machine;  }  sub get_grub_index { @@ -1577,7 +1583,9 @@ sub get_grub_index {      if ($reboot_type ne "grub") {  	return;      } -    return if (defined($grub_number)); +    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; @@ -1604,6 +1612,8 @@ sub get_grub_index {      die "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  |