aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-06-13 10:35:35 -0400
committerSteven Rostedt <rostedt@goodmis.org>2011-06-13 10:35:35 -0400
commit30f75da5ff475f1f455c0b009f3c06767963c54f (patch)
tree1187d8358db79d451ddb8b092e843e650d209814 /tools
parentf1a5b96219e3483ab519bed9bb04cc8fadf74816 (diff)
ktest: Add CONFIG_BISECT_GOOD option
Currently the config_bisect compares the min config with the CONFIG_BISECT config. There may be another config that we know is good that we want to ignore configs on. By passing in this config it will ignore the options that are set in the good config. Note: This only ignores the config, it does not (yet) handle options that are different between the two configs. If the good config has "SLAB" set and the bad config has "SLUB" it will not find the bug if the bug had to do with changing these two options. This is something that I intend to implement in the future. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/testing/ktest/ktest.pl6
-rw-r--r--tools/testing/ktest/sample.conf19
2 files changed, 18 insertions, 7 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index a8e1826e0cba..dbc02de93e59 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -88,6 +88,7 @@ my $bisect_bad = "";
88my $reverse_bisect; 88my $reverse_bisect;
89my $bisect_manual; 89my $bisect_manual;
90my $bisect_skip; 90my $bisect_skip;
91my $config_bisect_good;
91my $in_patchcheck = 0; 92my $in_patchcheck = 0;
92my $run_test; 93my $run_test;
93my $redirect; 94my $redirect;
@@ -1745,6 +1746,10 @@ sub config_bisect {
1745 1746
1746 my $tmpconfig = "$tmpdir/use_config"; 1747 my $tmpconfig = "$tmpdir/use_config";
1747 1748
1749 if (defined($config_bisect_good)) {
1750 process_config_ignore $config_bisect_good;
1751 }
1752
1748 # Make the file with the bad config and the min config 1753 # Make the file with the bad config and the min config
1749 if (defined($minconfig)) { 1754 if (defined($minconfig)) {
1750 # read the min config for things to ignore 1755 # read the min config for things to ignore
@@ -2174,6 +2179,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
2174 $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i); 2179 $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i);
2175 $bisect_manual = set_test_option("BISECT_MANUAL", $i); 2180 $bisect_manual = set_test_option("BISECT_MANUAL", $i);
2176 $bisect_skip = set_test_option("BISECT_SKIP", $i); 2181 $bisect_skip = set_test_option("BISECT_SKIP", $i);
2182 $config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i);
2177 $store_failures = set_test_option("STORE_FAILURES", $i); 2183 $store_failures = set_test_option("STORE_FAILURES", $i);
2178 $timeout = set_test_option("TIMEOUT", $i); 2184 $timeout = set_test_option("TIMEOUT", $i);
2179 $booted_timeout = set_test_option("BOOTED_TIMEOUT", $i); 2185 $booted_timeout = set_test_option("BOOTED_TIMEOUT", $i);
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
index c2c072e96032..be531c20643d 100644
--- a/tools/testing/ktest/sample.conf
+++ b/tools/testing/ktest/sample.conf
@@ -749,13 +749,18 @@
749# boot - bad builds but fails to boot 749# boot - bad builds but fails to boot
750# test - bad boots but fails a test 750# test - bad boots but fails a test
751# 751#
752# CONFIG_BISECT is the config that failed to boot 752# CONFIG_BISECT is the config that failed to boot
753# 753#
754# If BISECT_MANUAL is set, it will pause between iterations. 754# If BISECT_MANUAL is set, it will pause between iterations.
755# This is useful to use just ktest.pl just for the config bisect. 755# This is useful to use just ktest.pl just for the config bisect.
756# If you set it to build, it will run the bisect and you can 756# If you set it to build, it will run the bisect and you can
757# control what happens in between iterations. It will ask you if 757# control what happens in between iterations. It will ask you if
758# the test succeeded or not and continue the config bisect. 758# the test succeeded or not and continue the config bisect.
759#
760# CONFIG_BISECT_GOOD (optional)
761# If you have a good config to start with, then you
762# can specify it with CONFIG_BISECT_GOOD. Otherwise
763# the MIN_CONFIG is the base.
759# 764#
760# Example: 765# Example:
761# TEST_START 766# TEST_START