[for-next][PATCH 5/5] ktest: Add variable run_command_status to save status of commands executed

From: Steven Rostedt
Date: Tue Feb 07 2017 - 15:18:52 EST


From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

Create a variable called run_command_status that saves the status of the
executed commands and can be used by other functions later to test for
status.

Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
tools/testing/ktest/ktest.pl | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 6a1484cc4436..29470b554711 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -179,6 +179,7 @@ my $localversion;
my $iteration = 0;
my $successes = 0;
my $stty_orig;
+my $run_command_status = 0;

my $bisect_good;
my $bisect_bad;
@@ -1736,11 +1737,8 @@ sub run_command {
}

waitpid($pid, 0);
- my $failed = $?;
-
- if ($hit_timeout) {
- $failed = 1;
- }
+ # shift 8 for real exit status
+ $run_command_status = $? >> 8;

close(CMD);
close(LOG) if ($dolog);
@@ -1755,13 +1753,17 @@ sub run_command {
doprint "[$delta seconds] ";
}

- if ($failed) {
+ if ($hit_timeout) {
+ $run_command_status = 1;
+ }
+
+ if ($run_command_status) {
doprint "FAILED!\n";
} else {
doprint "SUCCESS\n";
}

- return !$failed;
+ return !$run_command_status;
}

sub run_ssh {
@@ -2578,16 +2580,15 @@ sub answer_bisect {
}

sub child_run_test {
- my $failed = 0;

# child should have no power
$reboot_on_error = 0;
$poweroff_on_error = 0;
$die_on_failure = 1;

- run_command $run_test, $testlog or $failed = 1;
+ run_command $run_test, $testlog;

- exit $failed;
+ exit $run_command_status;
}

my $child_done;
@@ -3371,7 +3372,6 @@ sub config_bisect {
save_config \%good_configs, $good_config;
save_config \%bad_configs, $bad_config;

-
if (defined($config_bisect_check) && $config_bisect_check ne "0") {
if ($config_bisect_check ne "good") {
doprint "Testing bad config\n";
--
2.10.2