Commit Graph

27 Commits

Author SHA1 Message Date
Steven Rostedt
8d1491bae7 ktest: Ask for the manditory config options instead of just failing
In keeping with the notion that all tools should be simple for
all to use. I've changed ktest.pl to ask for mandatory options
instead of just failing. It will append (or create) the options
the user types in, onto the config file.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 15:39:48 -05:00
Steven Rostedt
f1a2785009 ktest: Copy the last good and bad configs in config_bisect
During the config_bisect, in case of failure, it is nice to have
the last good and bad .configs that were used. This would let
us restart the config_bisect from those configs.

Copy the last good config into the output dir as config_good,
and the last bad config as config_bad.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:13 -05:00
Steven Rostedt
eec5646031 ktest: For grub reboot, use run_ssh instead of run_command
The run_ssh handles the ssh variable $SSH_COMMAND, which was not
being used by the run_command in reboot_to function.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:13 -05:00
Steven Rostedt
1c8a617a27 ktest: Added force stop after success and failure
Added the options STOP_AFTER_SUCCESS and STOP_AFTER_FAILURE to
allow the user to give a time (in seconds) to stop the monitor
after a stack trace or login has been detected. Sometimes the
kernel constantly prints out to the console and this may cause
the test to run indefinitely.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:12 -05:00
Steven Rostedt
cccae1a62a ktest: Parse off the directory name in useconfig for failures
When we store failures, we create a directory that has the build_type
in it. For useconfig, it also contains the name path of the config
file it uses. This unfortunately gets its own directory on failure.
Parse off the directory name when creating the directory to store
the failures.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:12 -05:00
Steven Rostedt
9be2e6b590 ktest: Use different temp config name for minconfig
By using the "use_config" for minconfig and addconfig we risk
trying to copy itself to itself, which will cause an unexpected failure.

Use a different name instead.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:12 -05:00
Steven Rostedt
0a05c769a9 ktest: Added config_bisect test type
Added the ability to do a config_bisect. It starts with a bad
config and does the following loop.

	Enable half the configs.
	if none of the configs to check are not enabled
	 (caused by missing dependencies) enable the other half.
	Run the test
	if the test passes, remove the configs from the check
	  but enabled them for further tests (to satisfy
	  dependencies).
	else
	  Remove any config that was not enabled, as we have found
	  a new config that can cause a failure.
	loop till we have only one config left.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:11 -05:00
Steven Rostedt
e48c5293bd ktest/cleanups: Added version 0.2, ssh as options
Updated to version 0.2.

Now have SSH_EXEC options.

Also added some cleanups for keeping track of success and
reading the config file.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:11 -05:00
Steven Rostedt
7a849cd93a ktest: Output something easy to parse for failure or success
Have a easy way to parse the log file for success or failure.

 KTEST RESULT: ...

Suggested-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:11 -05:00
Steven Rostedt
21a9679fea ktest: Allow a test case to undefine a default value
Allow a test case in the config file to undefine a default
value by specifying the option and equal sign but not assigning
it a value:

  OPTION =

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:10 -05:00
Steven Rostedt
51ad1dd103 ktest: Use $output_config instead of typing $outputdir/.config
To help prevent typos, use $output_config as the reference to
"$outputdir/.config".

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:10 -05:00
Steven Rostedt
d1e2f22ad7 ktest: Write to stdout if no log file is given
If no LOG_FILE option is set, then write what would be logged to
that file to standard output.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:10 -05:00
Steven Rostedt
9386c6ab7a ktest: Use oldnoconfig instead of yes command
Running the command "yes ''" through the make oldconfig may enable
things we do not want enabled. If something is default enabled, the
yes command with '' as an argument will enable it.

Use oldnoconfig, which runs everything as if 'no' was used.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:10 -05:00
Steven Rostedt
a57419b366 ktest: New TEST_START instead of using [], and use real SHA1s
Change the config to use TEST_START where the options after a
TEST_START automatically get the [] as it is read and they do
not need to exist in the config file;

TEST_START
MIN_CONFIG = myconfig

is the same as

MIN_CONFIG[1] = myconfig

The benefit is that you no longer need to keep track of test numbers
with tests.

Also process the commit ids that are passed to the options
to get the actually SHA1 so it is no longer relative to the branch.
Ie, saying HEAD will get the current SHA1 and then that will
be used, and will work even if another branch is checked out.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:09 -05:00
Steven Rostedt
576f627c81 ktest: Add poweroff after halt and powercycle after reboot
Added the options POWEROFF_AFTER_HALT to handle boxes that do not
really shut off after a halt is called.

Added POWERCYCLE_AFTER_REBOOT to force a power cycle for boxes that
don't reboot but get stuck during the reboot.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:09 -05:00
Steven Rostedt
8b37ca8cac ktest: Add POST_INSTALL to allow initrds to be created
Add a POST_INSTALL option that runs after the build and install
but before rebooting to the test kernel. This alls the user to
run a script that will install an initrd (or anything else that may
be special) before booting.

An environment variable KERNEL_VERSION is set.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:08 -05:00
Steven Rostedt
a75fececff ktest: Added sample.conf, new %default option format
Added sample.conf as a nice document to show new users.

Use a %default hash to separate out the options that are default
and allow us to complain about options being set twice.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:08 -05:00
Steven Rostedt
7faafbd696 ktest: Add open and close console and start stop monitor
It is much better to keep the monitor running throughout a
test than to constantly start and stop it. Some console readers
will show everything that has happened before when opening the
console, and by opening it several times, causes the old content to
be read multiple times in a single test.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:08 -05:00
Steven Rostedt
2b7d9b2142 ktest: Added continuing on success, clear log and timeout
Add option to continue after a test fails.

Add option to reset the log at start of running ktest.

Update default timeout to 2 minutes.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:08 -05:00
Steven Rostedt
d6ce2a0b33 ktest: Add reverse bisect, better logging, copyright
Added the ability to do a reverse bisect.

Better logging of running commands.

Added the copyright statement.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:07 -05:00
Steven Rostedt
6c5ee0be02 ktest: Added patchcheck
Added patchcheck functionality. It will checkout a given SHA1
and test that commit and all commits to another given SHA1.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:07 -05:00
Steven Rostedt
1a5cfce344 ktest: Added reboot on success
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:07 -05:00
Steven Rostedt
5a391fbff8 ktest: Added better console, add test build
Better reading of the console.

Added running a script to do testing after build succeeds.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:07 -05:00
Steven Rostedt
5f9b6ced04 ktest: Bisecting, install modules, add logging
Added bisecting, modules, logging of the output.
Banners that show success.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:06 -05:00
Steven Rostedt
75c3fda79e ktest: New features reboot on error, make options
REBOOT_ON_ERROR to reboot the box on error

BUILD_OPTIONS to add options to the make build (like -j40)

Added "useconfig:<config>".

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:06 -05:00
Steven Rostedt
5c42fc5b97 ktest: New features: noclean, dodie, poweroff on error and success
Added dodie function to have a bit more control over die calls.

BUILD_NOCLEAN to not run make mrproper or remove .config.

POWEROFF_ON_{SUCCESS,ERROR} to turn off the power after tests.

Skip backtrace calls that were done by the backtrace tests.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:06 -05:00
Steven Rostedt
2545eb6198 Initial start of ktest.pl
Originally named autotest.pl, but renamed to ktest.pl now because
the autotest name is used by other projects.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18 11:23:06 -05:00