ktest: Add detection of triple faults
authorSteven Rostedt <srostedt@redhat.com>
Mon, 13 Jun 2011 14:30:00 +0000 (10:30 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 13 Jun 2011 14:30:00 +0000 (10:30 -0400)
commitf1a5b96219e3483ab519bed9bb04cc8fadf74816
tree214dcdfe37f09d96ce212bd01666db3f427ecf03
parentcd4f1d536c2b2221d5a80399698d39717bf40077
ktest: Add detection of triple faults

When a triple fault happens in a test, no call trace nor panic
is displayed. Instead, the system reboots to the good kernel.
Since the good kernel may display a boot prompt that matches the
success string, ktest may think that the test succeeded, when it
did not.

Detecting triple faults is tricky because it is hard to generalize
what a reboot looks like. The best that we can come up with for now
is to examine the Linux banner. If we detect that the Linux banner
matches the test we want to test, then look to see if we hit another
Linux banner with a different kernel is booted. This can be assumed
to be a triple fault.

We can't just check for two Linux banners because things like
early printk may cause the Linux banner to be displayed twice. Checking
for different kernel versions should be the safe bet.

If this for some reason detects a false triple boot. A new ktest
config option is also created:

 DETECT_TRIPLE_FAULT

This can be set to 0 to disable this checking.

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