Skip to content

Commit

Permalink
ktest: Fix reboot on success stopping all reboots
Browse files Browse the repository at this point in the history
The change to let individual tests decide to reboot the machine on
success of the entire test also prevented errors from rebooting
when an error was detected.

The "no_reboot" variable was only cleared if the test had
reboot_on_success set. But the no_reboot variable also prevents the test
rebooting when an error was detected even when REBOOT_ON_ERROR was set.

Add a new "reboot_success" variable that is used to determine if the
test should reboot on success and not touch the no_reboot variable.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed May 1, 2012
1 parent 5158ba3 commit 759a3cc
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions tools/testing/ktest/ktest.pl
Original file line number Diff line number Diff line change
@@ -183,6 +183,9 @@
# do not force reboots on config problems
my $no_reboot = 1;

# reboot on success
my $reboot_success = 0;

my %option_map = (
"MACHINE" => \$machine,
"SSH_USER" => \$ssh_user,
@@ -3469,6 +3472,7 @@ sub set_test_option {

# Do not reboot on failing test options
$no_reboot = 1;
$reboot_success = 0;

$iteration = $i;

@@ -3554,9 +3558,11 @@ sub set_test_option {
die "failed to checkout $checkout";
}

$no_reboot = 0;

# A test may opt to not reboot the box
if ($reboot_on_success) {
$no_reboot = 0;
$reboot_success = 1;
}

if ($test_type eq "bisect") {
@@ -3600,7 +3606,7 @@ sub set_test_option {

if ($opt{"POWEROFF_ON_SUCCESS"}) {
halt;
} elsif ($opt{"REBOOT_ON_SUCCESS"} && !do_not_reboot) {
} elsif ($opt{"REBOOT_ON_SUCCESS"} && !do_not_reboot && $reboot_success) {
reboot_to_good;
} elsif (defined($switch_to_good)) {
# still need to get to the good kernel

0 comments on commit 759a3cc

Please sign in to comment.