Selaa lähdekoodia

ktest: Ignore errors it tests if IGNORE_ERRORS is set

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>
Steven Rostedt 12 vuotta sitten
vanhempi
commit
9b1d367dbb
1 muutettua tiedostoa jossa 10 lisäystä ja 1 poistoa
  1. 10 1
      tools/testing/ktest/ktest.pl

+ 10 - 1
tools/testing/ktest/ktest.pl

@@ -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;