[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1313168621.18583.339.camel@gandalf.stny.rr.com>
Date: Fri, 12 Aug 2011 13:03:41 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Andrew Jones <drjones@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH 10/10] ktest: Introduce FAILURE_LINE
On Fri, 2011-08-12 at 15:32 +0200, Andrew Jones wrote:
> This is the counterpart to SUCCESS_LINE. In some cases the boot will
> succeed, but the console will display a message that means that the
> boot test failed (such as a warning) while it boots. Use this option
> to detect this and fail the test.
>
> Signed-off-by: Andrew Jones <drjones@...hat.com>
> ---
> tools/testing/ktest/ktest.pl | 7 +++++++
> tools/testing/ktest/sample.conf | 7 +++++++
> 2 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
> index ac0e688..35af7e2 100755
> --- a/tools/testing/ktest/ktest.pl
> +++ b/tools/testing/ktest/ktest.pl
> @@ -122,6 +122,7 @@ my $booted_timeout;
> my $detect_triplefault;
> my $console;
> my $success_line;
> +my $failure_line;
> my $stop_after_success;
> my $stop_after_failure;
> my $stop_test_after;
> @@ -1015,6 +1016,11 @@ sub monitor {
> # we are not guaranteed to get a full line
> $full_line .= $line;
>
> + if (defined($failure_line) && $full_line =~ /$failure_line/) {
> + $bug = 1;
> + last;
Instead of last, it is better to use:
$failure_start = time;
Otherwise you may lose out any informational messages that print after
it (call stack). If the user wants to break out early, they can make the
failure time shorter.
-- Steve
> + }
> +
> if ($full_line =~ /$success_line/) {
> $booted = 1;
> $success_start = time;
> @@ -2872,6 +2878,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
> $console = set_test_option("CONSOLE", $i);
> $detect_triplefault = set_test_option("DETECT_TRIPLE_FAULT", $i);
> $success_line = set_test_option("SUCCESS_LINE", $i);
> + $failure_line = set_test_option("FAILURE_LINE", $i);
> $stop_after_success = set_test_option("STOP_AFTER_SUCCESS", $i);
> $stop_after_failure = set_test_option("STOP_AFTER_FAILURE", $i);
> $stop_test_after = set_test_option("STOP_TEST_AFTER", $i);
> diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
> index 36521c8..98df23c 100644
> --- a/tools/testing/ktest/sample.conf
> +++ b/tools/testing/ktest/sample.conf
> @@ -421,6 +421,13 @@
> # (default "login:")
> #SUCCESS_LINE = login:
>
> +# Line indicating a failed boot. This is what the line contains, not
> +# the entire line. If you need the entire line to match, then use
> +# regular expression syntax like with SUCCESS_LINE. This is useful
> +# for testing boot issues that don't stop the boot from completing.
> +# (default undefined)
> +#FAILURE_LINE = WARNING
> +
> # In case the console constantly fills the screen, having
> # a specified time to stop the test after success is recommended.
> # (in seconds)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists