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>
This commit is contained in:
parent
f1a5b96219
commit
30f75da5ff
|
@ -88,6 +88,7 @@ my $bisect_bad = "";
|
|||
my $reverse_bisect;
|
||||
my $bisect_manual;
|
||||
my $bisect_skip;
|
||||
my $config_bisect_good;
|
||||
my $in_patchcheck = 0;
|
||||
my $run_test;
|
||||
my $redirect;
|
||||
|
@ -1745,6 +1746,10 @@ sub config_bisect {
|
|||
|
||||
my $tmpconfig = "$tmpdir/use_config";
|
||||
|
||||
if (defined($config_bisect_good)) {
|
||||
process_config_ignore $config_bisect_good;
|
||||
}
|
||||
|
||||
# Make the file with the bad config and the min config
|
||||
if (defined($minconfig)) {
|
||||
# read the min config for things to ignore
|
||||
|
@ -2174,6 +2179,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
|
|||
$patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i);
|
||||
$bisect_manual = set_test_option("BISECT_MANUAL", $i);
|
||||
$bisect_skip = set_test_option("BISECT_SKIP", $i);
|
||||
$config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i);
|
||||
$store_failures = set_test_option("STORE_FAILURES", $i);
|
||||
$timeout = set_test_option("TIMEOUT", $i);
|
||||
$booted_timeout = set_test_option("BOOTED_TIMEOUT", $i);
|
||||
|
|
|
@ -757,6 +757,11 @@
|
|||
# control what happens in between iterations. It will ask you if
|
||||
# the test succeeded or not and continue the config bisect.
|
||||
#
|
||||
# CONFIG_BISECT_GOOD (optional)
|
||||
# If you have a good config to start with, then you
|
||||
# can specify it with CONFIG_BISECT_GOOD. Otherwise
|
||||
# the MIN_CONFIG is the base.
|
||||
#
|
||||
# Example:
|
||||
# TEST_START
|
||||
# TEST_TYPE = config_bisect
|
||||
|
|
Loading…
Reference in New Issue