ktest: Do not reboot on config or build issues

Even if REBOOT_ON_ERROR is set, it becomes annoying that the target
machine is rebooted when a config option is incorrect or a build
fails. There's no reason to reboot the target for host only issues.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt 2011-09-30 18:12:20 -04:00 committed by Steven Rostedt
parent 2b803365a6
commit 4ab1cce5bd

View File

@ -133,6 +133,9 @@ my %config_help;
my %variable; my %variable;
my %force_config; my %force_config;
# do not force reboots on config problems
my $no_reboot = 1;
$config_help{"MACHINE"} = << "EOF" $config_help{"MACHINE"} = << "EOF"
The machine hostname that you will test. The machine hostname that you will test.
EOF EOF
@ -640,7 +643,7 @@ sub reboot {
sub do_not_reboot { sub do_not_reboot {
my $i = $iteration; my $i = $iteration;
return $test_type eq "build" || return $test_type eq "build" || $no_reboot ||
($test_type eq "patchcheck" && $opt{"PATCHCHECK_TYPE[$i]"} eq "build") || ($test_type eq "patchcheck" && $opt{"PATCHCHECK_TYPE[$i]"} eq "build") ||
($test_type eq "bisect" && $opt{"BISECT_TYPE[$i]"} eq "build"); ($test_type eq "bisect" && $opt{"BISECT_TYPE[$i]"} eq "build");
} }
@ -1285,6 +1288,10 @@ sub build {
unlink $buildlog; unlink $buildlog;
# Failed builds should not reboot the target
my $save_no_reboot = $no_reboot;
$no_reboot = 1;
if (defined($pre_build)) { if (defined($pre_build)) {
my $ret = run_command $pre_build; my $ret = run_command $pre_build;
if (!$ret && defined($pre_build_die) && if (!$ret && defined($pre_build_die) &&
@ -1353,10 +1360,15 @@ sub build {
if (!$build_ret) { if (!$build_ret) {
# bisect may need this to pass # bisect may need this to pass
return 0 if ($in_bisect); if ($in_bisect) {
$no_reboot = $save_no_reboot;
return 0;
}
fail "failed build" and return 0; fail "failed build" and return 0;
} }
$no_reboot = $save_no_reboot;
return 1; return 1;
} }
@ -2806,6 +2818,9 @@ sub set_test_option {
# First we need to do is the builds # First we need to do is the builds
for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) { for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
# Do not reboot on failing test options
$no_reboot = 1;
$iteration = $i; $iteration = $i;
my $makecmd = set_test_option("MAKE_CMD", $i); my $makecmd = set_test_option("MAKE_CMD", $i);
@ -2941,6 +2956,9 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
die "failed to checkout $checkout"; die "failed to checkout $checkout";
} }
$no_reboot = 0;
if ($test_type eq "bisect") { if ($test_type eq "bisect") {
bisect $i; bisect $i;
next; next;