ktest: Reset grub menu cache with different machines
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Wed, 24 Apr 2013 20:03:30 +0000 (16:03 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 24 Apr 2013 20:03:30 +0000 (16:03 -0400)
Different tests may use a different machine. In such cases, we need to
try to get the current grub menu index. If the same grub menu is used
for two different machines, it may not be at the same index on the
second machine. A search for the index must be performed again.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index 7958cd4d65679af0448ca6c8073197493c933b0a..0d7fd8b515441fc7bd583d0084d44343b72fcc78 100755 (executable)
@@ -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;
@@ -1540,7 +1541,8 @@ sub run_scp_mod {
 sub get_grub2_index {
 
     return if (defined($grub_number) && defined($last_grub_menu) &&
-              $last_grub_menu eq $grub_menu);
+              $last_grub_menu eq $grub_menu && defined($last_machine) &&
+              $last_machine eq $machine);
 
     doprint "Find grub2 menu ... ";
     $grub_number = -1;
@@ -1568,6 +1570,7 @@ sub get_grub2_index {
        if (!$found);
     doprint "$grub_number\n";
     $last_grub_menu = $grub_menu;
+    $last_machine = $machine;
 }
 
 sub get_grub_index {
@@ -1581,7 +1584,8 @@ sub get_grub_index {
        return;
     }
     return if (defined($grub_number) && defined($last_grub_menu) &&
-              $last_grub_menu eq $grub_menu);
+              $last_grub_menu eq $grub_menu && defined($last_machine) &&
+              $last_machine eq $machine);
 
     doprint "Find grub menu ... ";
     $grub_number = -1;
@@ -1609,6 +1613,7 @@ sub get_grub_index {
        if (!$found);
     doprint "$grub_number\n";
     $last_grub_menu = $grub_menu;
+    $last_machine = $machine;
 }
 
 sub wait_for_input