ktest: Add warning when bugs are ignored
Steven Rostedt [Wed, 21 Mar 2012 12:18:35 +0000 (08:18 -0400)]
When IGNORE_ERRORS is set, ktest will not fail a test if a backtrace
is detected. But this can be an issue if the user added it in the
config but forgot to remove it. They may be left wondering why their
test did not fail, or even worse, why their bisect gave the wrong
commit.

Add a warning in the output if IGNORE_WARNINGS is set, and ktest detects
a kernel error.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

tools/testing/ktest/ktest.pl

index 2b63190..0a5f6cb 100755 (executable)
@@ -1460,6 +1460,7 @@ sub get_sha1 {
 sub monitor {
     my $booted = 0;
     my $bug = 0;
+    my $bug_ignored = 0;
     my $skip_call_trace = 0;
     my $loops;
 
@@ -1531,9 +1532,13 @@ sub monitor {
        }
 
        if ($full_line =~ /call trace:/i) {
-           if (!$ignore_errors && !$bug && !$skip_call_trace) {
-               $bug = 1;
-               $failure_start = time;
+           if (!$bug && !$skip_call_trace) {
+               if ($ignore_errors) {
+                   $bug_ignored = 1;
+               } else {
+                   $bug = 1;
+                   $failure_start = time;
+               }
            }
        }
 
@@ -1595,6 +1600,10 @@ sub monitor {
        fail "failed - never got a boot prompt." and return 0;
     }
 
+    if ($bug_ignored) {
+       doprint "WARNING: Call Trace detected but ignored due to IGNORE_ERRORS=1\n";
+    }
+
     return 1;
 }