[PATCH 08/21] ktest: Do not reboot on config or build issues

From: Steven Rostedt
Date: Fri Oct 28 2011 - 07:24:17 EST


From: Steven Rostedt <srostedt@xxxxxxxxxx>

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@xxxxxxxxxxx>
---
tools/testing/ktest/ktest.pl | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 51ddaa5..057676a 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -133,6 +133,9 @@ my %config_help;
my %variable;
my %force_config;

+# do not force reboots on config problems
+my $no_reboot = 1;
+
$config_help{"MACHINE"} = << "EOF"
The machine hostname that you will test.
EOF
@@ -640,7 +643,7 @@ sub reboot {
sub do_not_reboot {
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 "bisect" && $opt{"BISECT_TYPE[$i]"} eq "build");
}
@@ -1285,6 +1288,10 @@ sub build {

unlink $buildlog;

+ # Failed builds should not reboot the target
+ my $save_no_reboot = $no_reboot;
+ $no_reboot = 1;
+
if (defined($pre_build)) {
my $ret = run_command $pre_build;
if (!$ret && defined($pre_build_die) &&
@@ -1353,10 +1360,15 @@ sub build {

if (!$build_ret) {
# 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;
}

+ $no_reboot = $save_no_reboot;
+
return 1;
}

@@ -2806,6 +2818,9 @@ sub set_test_option {
# First we need to do is the builds
for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {

+ # Do not reboot on failing test options
+ $no_reboot = 1;
+
$iteration = $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";
}

+ $no_reboot = 0;
+
+
if ($test_type eq "bisect") {
bisect $i;
next;
--
1.7.6.3


Attachment: signature.asc
Description: This is a digitally signed message part