summaryrefslogtreecommitdiffstats
path: root/tools/testing/ktest/ktest.pl
AgeCommit message (Collapse)Author
2011-03-21Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest: ktest: Add STOP_TEST_AFTER to stop the test after a period of time ktest: Monitor kernel while running of user tests ktest: Fix bug where the test would not end after failure ktest: Add BISECT_FILES to run git bisect on paths ktest: Add BISECT_SKIP ktest: Add manual bisect ktest: Handle kernels before make oldnoconfig ktest: Start failure timeout on panic too ktest: Print logfile name on failure
2011-03-08ktest: Add STOP_TEST_AFTER to stop the test after a period of timeSteven Rostedt
Currently, if a test causes constant output but never reaches a boot prompt, or crashes, the test will never stop. Add STOP_TEST_AFTER to create a variable that will stop (and fail) the test after it has run for this amount of time. The default is 10 minutes. Setting this variable to -1 will disable it. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Monitor kernel while running of user testsSteven Rostedt
Record the console of tests to both the console and the log. Also, record the bug reports afte the test has completed. Currently, if a kernel bug happens while running the userland test, the test stops and will not record the kernel bug. This makes it difficult to solve what happened. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Fix bug where the test would not end after failureSteven Rostedt
The config STOP_AFTER_FAILURE is the number of seconds to continue the test when a failure is detected. This lets the monitor record more data to the logs and console that may be helpful in solving the bug that was found. But the test had a bug. If the failure caused multiple "Call Trace" stack dumps, the start time to compare the STOP_AFTER_FAILURE would constantly be reset. Only update the start time at the first "Call Trace" instance. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Add BISECT_FILES to run git bisect on pathsSteven Rostedt
Add the config option BISECT_FILES that allows the user to specify what path in the kernel to run the git bisect on. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Add BISECT_SKIPSteven Rostedt
If a during a git bisect, ktest fails on something other than what it is testing (if BISECT_TYPE is test but it fails on build), if BISECT_SKIP is set, then it will do a "git bisect skip" instead of just failing the bisect and letting the user find a good commit to test. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Add manual bisectSteven Rostedt
For both git bisect and config bisect, if BISECT_MANUAL is set to 1, then bisect will stop between iterations and ask the user for the result. The actual result is ignored. This makes it possible to use ktest.pl for bisecting configs and git and let the user examine the results themselves and enter their own results. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Handle kernels before make oldnoconfigSteven Rostedt
When bisecting, one may come across a kernel that does not have make oldnoconfig. In this case, we need to run the command "yes" into a make oldconfig. This will select defaults instead of 'n' into each command, but it works as a work around. Note, "yes n" will not work because a config may have a value that "n" is not acceptable for. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Start failure timeout on panic tooSteven Rostedt
Currently we just look for a Call Trace to start the time out when to reboot the box. But if the kernel panics and does not show a Call Trace, the test will not reboot the box after the specified timeout. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-03-08ktest: Print logfile name on failureSteven Rostedt
If the test fails and a logfile was specified. Print the name to let the user know where to look for more information on the failure. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2011-02-08trivial: Fix Steven's Copyright typosUwe Kleine-König
OK, the copyright allows you to write a copy, still I think the lawyers prefer the correct spelling. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> LKML-Reference: <1295899921-11333-1-git-send-email-u.kleine-koenig@pengutronix.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18ktest: Ask for the manditory config options instead of just failingSteven Rostedt
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-18ktest: Copy the last good and bad configs in config_bisectSteven Rostedt
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-18ktest: For grub reboot, use run_ssh instead of run_commandSteven Rostedt
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-18ktest: Added force stop after success and failureSteven Rostedt
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-18ktest: Parse off the directory name in useconfig for failuresSteven Rostedt
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-18ktest: Use different temp config name for minconfigSteven Rostedt
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-18ktest: Added config_bisect test typeSteven Rostedt
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-18ktest/cleanups: Added version 0.2, ssh as optionsSteven Rostedt
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-18ktest: Output something easy to parse for failure or successSteven Rostedt
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-18ktest: Allow a test case to undefine a default valueSteven Rostedt
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-18ktest: Use $output_config instead of typing $outputdir/.configSteven Rostedt
To help prevent typos, use $output_config as the reference to "$outputdir/.config". Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18ktest: Write to stdout if no log file is givenSteven Rostedt
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-18ktest: Use oldnoconfig instead of yes commandSteven Rostedt
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-18ktest: New TEST_START instead of using [], and use real SHA1sSteven Rostedt
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-18ktest: Add poweroff after halt and powercycle after rebootSteven Rostedt
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-18ktest: Add POST_INSTALL to allow initrds to be createdSteven Rostedt
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-18ktest: Added sample.conf, new %default option formatSteven Rostedt
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-18ktest: Add open and close console and start stop monitorSteven Rostedt
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-18ktest: Added continuing on success, clear log and timeoutSteven Rostedt
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-18ktest: Add reverse bisect, better logging, copyrightSteven Rostedt
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-18ktest: Added patchcheckSteven Rostedt
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-18ktest: Added reboot on successSteven Rostedt
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18ktest: Added better console, add test buildSteven Rostedt
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-18ktest: Bisecting, install modules, add loggingSteven Rostedt
Added bisecting, modules, logging of the output. Banners that show success. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-11-18ktest: New features reboot on error, make optionsSteven Rostedt
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-18ktest: New features: noclean, dodie, poweroff on error and successSteven Rostedt
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-18Initial start of ktest.plSteven Rostedt
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>