diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/testing/ktest/ktest.pl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index 4e67d52eb3a2..7958cd4d6567 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl | |||
@@ -108,6 +108,7 @@ my $scp_to_target; | |||
108 | my $scp_to_target_install; | 108 | my $scp_to_target_install; |
109 | my $power_off; | 109 | my $power_off; |
110 | my $grub_menu; | 110 | my $grub_menu; |
111 | my $last_grub_menu; | ||
111 | my $grub_file; | 112 | my $grub_file; |
112 | my $grub_number; | 113 | my $grub_number; |
113 | my $grub_reboot; | 114 | my $grub_reboot; |
@@ -1538,7 +1539,8 @@ sub run_scp_mod { | |||
1538 | 1539 | ||
1539 | sub get_grub2_index { | 1540 | sub get_grub2_index { |
1540 | 1541 | ||
1541 | return if (defined($grub_number)); | 1542 | return if (defined($grub_number) && defined($last_grub_menu) && |
1543 | $last_grub_menu eq $grub_menu); | ||
1542 | 1544 | ||
1543 | doprint "Find grub2 menu ... "; | 1545 | doprint "Find grub2 menu ... "; |
1544 | $grub_number = -1; | 1546 | $grub_number = -1; |
@@ -1565,6 +1567,7 @@ sub get_grub2_index { | |||
1565 | die "Could not find '$grub_menu' in $grub_file on $machine" | 1567 | die "Could not find '$grub_menu' in $grub_file on $machine" |
1566 | if (!$found); | 1568 | if (!$found); |
1567 | doprint "$grub_number\n"; | 1569 | doprint "$grub_number\n"; |
1570 | $last_grub_menu = $grub_menu; | ||
1568 | } | 1571 | } |
1569 | 1572 | ||
1570 | sub get_grub_index { | 1573 | sub get_grub_index { |
@@ -1577,7 +1580,8 @@ sub get_grub_index { | |||
1577 | if ($reboot_type ne "grub") { | 1580 | if ($reboot_type ne "grub") { |
1578 | return; | 1581 | return; |
1579 | } | 1582 | } |
1580 | return if (defined($grub_number)); | 1583 | return if (defined($grub_number) && defined($last_grub_menu) && |
1584 | $last_grub_menu eq $grub_menu); | ||
1581 | 1585 | ||
1582 | doprint "Find grub menu ... "; | 1586 | doprint "Find grub menu ... "; |
1583 | $grub_number = -1; | 1587 | $grub_number = -1; |
@@ -1604,6 +1608,7 @@ sub get_grub_index { | |||
1604 | die "Could not find '$grub_menu' in /boot/grub/menu on $machine" | 1608 | die "Could not find '$grub_menu' in /boot/grub/menu on $machine" |
1605 | if (!$found); | 1609 | if (!$found); |
1606 | doprint "$grub_number\n"; | 1610 | doprint "$grub_number\n"; |
1611 | $last_grub_menu = $grub_menu; | ||
1607 | } | 1612 | } |
1608 | 1613 | ||
1609 | sub wait_for_input | 1614 | sub wait_for_input |