ktest: Have POST_TEST run after the test has totally completed
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 7 Feb 2017 16:49:21 +0000 (11:49 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 7 Feb 2017 16:49:21 +0000 (11:49 -0500)
The POST_TEST config is to be executed after a test has fully compeleted,
whether the test passed or failed. It currently is executed at the moment
that the test has been decided if it failed or not. As the test does other
clean ups, it isn't truly finished. Move the POST_TEST execution to after
all the test cleanups have been done.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index d08e214ec6e793f07b71fb734c33db00baab901f..caa90d391a9638766b1b6b171e61b40abc40a75d 100755 (executable)
@@ -1412,6 +1412,10 @@ sub dodie {
            system("stty $stty_orig");
     }
 
+    if (defined($post_test)) {
+       run_command $post_test;
+    }
+
     die @_, "\n";
 }
 
@@ -1624,10 +1628,6 @@ sub save_logs {
 
 sub fail {
 
-       if (defined($post_test)) {
-               run_command $post_test;
-       }
-
        if ($die_on_failure) {
                dodie @_;
        }
@@ -1660,6 +1660,10 @@ sub fail {
            save_logs "fail", $store_failures;
         }
 
+       if (defined($post_test)) {
+               run_command $post_test;
+       }
+
        return 1;
 }
 
@@ -2489,10 +2493,6 @@ sub halt {
 sub success {
     my ($i) = @_;
 
-    if (defined($post_test)) {
-       run_command $post_test;
-    }
-
     $successes++;
 
     my $name = "";
@@ -2517,6 +2517,10 @@ sub success {
        doprint "Reboot and wait $sleep_time seconds\n";
        reboot_to_good $sleep_time;
     }
+
+    if (defined($post_test)) {
+       run_command $post_test;
+    }
 }
 
 sub answer_bisect {