diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-06-13 10:35:35 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-06-13 10:35:35 -0400 |
commit | 30f75da5ff475f1f455c0b009f3c06767963c54f (patch) | |
tree | 1187d8358db79d451ddb8b092e843e650d209814 /tools | |
parent | f1a5b96219e3483ab519bed9bb04cc8fadf74816 (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-x | tools/testing/ktest/ktest.pl | 6 | ||||
-rw-r--r-- | tools/testing/ktest/sample.conf | 19 |
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 = ""; | |||
88 | my $reverse_bisect; | 88 | my $reverse_bisect; |
89 | my $bisect_manual; | 89 | my $bisect_manual; |
90 | my $bisect_skip; | 90 | my $bisect_skip; |
91 | my $config_bisect_good; | ||
91 | my $in_patchcheck = 0; | 92 | my $in_patchcheck = 0; |
92 | my $run_test; | 93 | my $run_test; |
93 | my $redirect; | 94 | my $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 |