ktest: Allow a test to override REBOOT_ON_SUCCESS
The option REBOOT_ON_SUCCESS is global, and will have the machine reboot the the box if all tests are successful. But a test may not want the machine to reboot, and perhaps have the kernel it loaded be used to install the next kernel. Or the last test may set up a kernel that the user may want to look at. In this case, the user could have the global option REBOOT_ON_SUCCESS be true, but if a test is defined to run at the end, that test can override the global option and keep the kernel it installed for the user to log in with. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
769df641cc
commit
648a182c61
|
@ -87,6 +87,7 @@ my $reboot_on_error;
|
||||||
my $switch_to_good;
|
my $switch_to_good;
|
||||||
my $switch_to_test;
|
my $switch_to_test;
|
||||||
my $poweroff_on_error;
|
my $poweroff_on_error;
|
||||||
|
my $reboot_on_success;
|
||||||
my $die_on_failure;
|
my $die_on_failure;
|
||||||
my $powercycle_after_reboot;
|
my $powercycle_after_reboot;
|
||||||
my $poweroff_after_halt;
|
my $poweroff_after_halt;
|
||||||
|
@ -213,6 +214,7 @@ my %option_map = (
|
||||||
"SWITCH_TO_GOOD" => \$switch_to_good,
|
"SWITCH_TO_GOOD" => \$switch_to_good,
|
||||||
"SWITCH_TO_TEST" => \$switch_to_test,
|
"SWITCH_TO_TEST" => \$switch_to_test,
|
||||||
"POWEROFF_ON_ERROR" => \$poweroff_on_error,
|
"POWEROFF_ON_ERROR" => \$poweroff_on_error,
|
||||||
|
"REBOOT_ON_SUCCESS" => \$reboot_on_success,
|
||||||
"DIE_ON_FAILURE" => \$die_on_failure,
|
"DIE_ON_FAILURE" => \$die_on_failure,
|
||||||
"POWER_OFF" => \$power_off,
|
"POWER_OFF" => \$power_off,
|
||||||
"POWERCYCLE_AFTER_REBOOT" => \$powercycle_after_reboot,
|
"POWERCYCLE_AFTER_REBOOT" => \$powercycle_after_reboot,
|
||||||
|
@ -3552,8 +3554,10 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
|
||||||
die "failed to checkout $checkout";
|
die "failed to checkout $checkout";
|
||||||
}
|
}
|
||||||
|
|
||||||
$no_reboot = 0;
|
# A test may opt to not reboot the box
|
||||||
|
if ($reboot_on_success) {
|
||||||
|
$no_reboot = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ($test_type eq "bisect") {
|
if ($test_type eq "bisect") {
|
||||||
bisect $i;
|
bisect $i;
|
||||||
|
@ -3598,8 +3602,12 @@ if ($opt{"POWEROFF_ON_SUCCESS"}) {
|
||||||
halt;
|
halt;
|
||||||
} elsif ($opt{"REBOOT_ON_SUCCESS"} && !do_not_reboot) {
|
} elsif ($opt{"REBOOT_ON_SUCCESS"} && !do_not_reboot) {
|
||||||
reboot_to_good;
|
reboot_to_good;
|
||||||
|
} elsif (defined($switch_to_good)) {
|
||||||
|
# still need to get to the good kernel
|
||||||
|
run_command $switch_to_good;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
doprint "\n $successes of $opt{NUM_TESTS} tests were successful\n\n";
|
doprint "\n $successes of $opt{NUM_TESTS} tests were successful\n\n";
|
||||||
|
|
||||||
exit 0;
|
exit 0;
|
||||||
|
|
Loading…
Reference in New Issue