]> Pileus Git - ~andy/linux/commitdiff
ktest: Ignore errors it tests if IGNORE_ERRORS is set
authorSteven Rostedt <srostedt@redhat.com>
Mon, 30 Jul 2012 18:30:53 +0000 (14:30 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 30 Jul 2012 18:33:55 +0000 (14:33 -0400)
The option IGNORE_ERRORS is used to allow a test to succeed even if a
warning appears from the kernel. Sometimes kernels will produce warnings
that are not associated with a test, and the user wants to test
something else.

The IGNORE_ERRORS works for boot up, but was not preventing test runs to
succeed if the kernel produced a warning.

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

index c444c4fcc8c47a7aa020e95c1c432179e170812d..a022fb7d113db840d72f3a8a6f8891d119b16c84 100755 (executable)
@@ -2074,6 +2074,7 @@ sub do_run_test {
     my $line;
     my $full_line;
     my $bug = 0;
+    my $bug_ignored = 0;
 
     wait_for_monitor 1;
 
@@ -2098,7 +2099,11 @@ sub do_run_test {
            doprint $line;
 
            if ($full_line =~ /call trace:/i) {
-               $bug = 1;
+               if ($ignore_errors) {
+                   $bug_ignored = 1;
+               } else {
+                   $bug = 1;
+               }
            }
 
            if ($full_line =~ /Kernel panic -/) {
@@ -2111,6 +2116,10 @@ sub do_run_test {
        }
     } while (!$child_done && !$bug);
 
+    if (!$bug && $bug_ignored) {
+       doprint "WARNING: Call Trace detected but ignored due to IGNORE_ERRORS=1\n";
+    }
+
     if ($bug) {
        my $failure_start = time;
        my $now;