diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2014-04-23 22:30:00 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-04-23 23:18:29 -0400 |
commit | 4c16b1d6d5e0ca0612de65596a3d1ead8a3372fb (patch) | |
tree | f91cbef633d2d101a61439d7beef6518682ee413 | |
parent | 4cc559bd1d6a24aa0581f64d8cdb0cb54e7d5f8c (diff) |
ktest: Update documentation on config_bisect
With the more robust config_bisect, the documentation is out of
date and needs to be updated.
The new rewrite allows for finding missing configs and such, and
is much more robust to use.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | tools/testing/ktest/sample.conf | 65 |
1 files changed, 27 insertions, 38 deletions
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf index 172eec4517fb..911e45ad657a 100644 --- a/tools/testing/ktest/sample.conf +++ b/tools/testing/ktest/sample.conf | |||
@@ -1098,49 +1098,35 @@ | |||
1098 | # | 1098 | # |
1099 | # The way it works is this: | 1099 | # The way it works is this: |
1100 | # | 1100 | # |
1101 | # First it finds a config to work with. Since a different version, or | 1101 | # You can specify a good config with CONFIG_BISECT_GOOD, otherwise it |
1102 | # MIN_CONFIG may cause different dependecies, it must run through this | 1102 | # will use the MIN_CONFIG, and if that's not specified, it will use |
1103 | # preparation. | 1103 | # the config that comes with "make defconfig". |
1104 | # | 1104 | # |
1105 | # Overwrites any config set in the bad config with a config set in | 1105 | # It runs both the good and bad configs through a make oldconfig to |
1106 | # either the MIN_CONFIG or ADD_CONFIG. Thus, make sure these configs | 1106 | # make sure that they are set up for the kernel that is checked out. |
1107 | # are minimal and do not disable configs you want to test: | ||
1108 | # (ie. # CONFIG_FOO is not set). | ||
1109 | # | 1107 | # |
1110 | # An oldconfig is run on the bad config and any new config that | 1108 | # It then reads the configs that are set, as well as the ones that are |
1111 | # appears will be added to the configs to test. | 1109 | # not set for both the good and bad configs, and then compares them. |
1110 | # It will set half of the good configs within the bad config (note, | ||
1111 | # "set" means to make the bad config match the good config, a config | ||
1112 | # in the good config that is off, will be turned off in the bad | ||
1113 | # config. That is considered a "set"). | ||
1112 | # | 1114 | # |
1113 | # Finally, it generates a config with the above result and runs it | 1115 | # It tests this new config and if it works, it becomes the new good |
1114 | # again through make oldconfig to produce a config that should be | 1116 | # config, otherwise it becomes the new bad config. It continues this |
1115 | # satisfied by kconfig. | 1117 | # process until there's only one config left and it will report that |
1118 | # config. | ||
1116 | # | 1119 | # |
1117 | # Then it starts the bisect. | 1120 | # The "bad config" can also be a config that is needed to boot but was |
1121 | # disabled because it depended on something that wasn't set. | ||
1118 | # | 1122 | # |
1119 | # The configs to test are cut in half. If all the configs in this | 1123 | # During this process, it saves the current good and bad configs in |
1120 | # half depend on a config in the other half, then the other half | 1124 | # ${TMP_DIR}/good_config and ${TMP_DIR}/bad_config respectively. |
1121 | # is tested instead. If no configs are enabled by either half, then | 1125 | # If you stop the test, you can copy them to a new location to |
1122 | # this means a circular dependency exists and the test fails. | 1126 | # reuse them again. |
1123 | # | 1127 | # |
1124 | # A config is created with the test half, and the bisect test is run. | 1128 | # Although the MIN_CONFIG may be the config it starts with, the |
1125 | # | 1129 | # MIN_CONFIG is ignored. |
1126 | # If the bisect succeeds, then all configs in the generated config | ||
1127 | # are removed from the configs to test and added to the configs that | ||
1128 | # will be enabled for all builds (they will be enabled, but not be part | ||
1129 | # of the configs to examine). | ||
1130 | # | ||
1131 | # If the bisect fails, then all test configs that were not enabled by | ||
1132 | # the config file are removed from the test. These configs will not | ||
1133 | # be enabled in future tests. Since current config failed, we consider | ||
1134 | # this to be a subset of the config that we started with. | ||
1135 | # | ||
1136 | # When we are down to one config, it is considered the bad config. | ||
1137 | # | ||
1138 | # Note, the config chosen may not be the true bad config. Due to | ||
1139 | # dependencies and selections of the kbuild system, mulitple | ||
1140 | # configs may be needed to cause a failure. If you disable the | ||
1141 | # config that was found and restart the test, if the test fails | ||
1142 | # again, it is recommended to rerun the config_bisect with a new | ||
1143 | # bad config without the found config enabled. | ||
1144 | # | 1130 | # |
1145 | # The option BUILD_TYPE will be ignored. | 1131 | # The option BUILD_TYPE will be ignored. |
1146 | # | 1132 | # |
@@ -1160,13 +1146,16 @@ | |||
1160 | # CONFIG_BISECT_GOOD (optional) | 1146 | # CONFIG_BISECT_GOOD (optional) |
1161 | # If you have a good config to start with, then you | 1147 | # If you have a good config to start with, then you |
1162 | # can specify it with CONFIG_BISECT_GOOD. Otherwise | 1148 | # can specify it with CONFIG_BISECT_GOOD. Otherwise |
1163 | # the MIN_CONFIG is the base. | 1149 | # the MIN_CONFIG is the base, if MIN_CONFIG is not set |
1150 | # It will build a config with "make defconfig" | ||
1164 | # | 1151 | # |
1165 | # CONFIG_BISECT_CHECK (optional) | 1152 | # CONFIG_BISECT_CHECK (optional) |
1166 | # Set this to 1 if you want to confirm that the config ktest | 1153 | # Set this to 1 if you want to confirm that the config ktest |
1167 | # generates (the bad config with the min config) is still bad. | 1154 | # generates (the bad config with the min config) is still bad. |
1168 | # It may be that the min config fixes what broke the bad config | 1155 | # It may be that the min config fixes what broke the bad config |
1169 | # and the test will not return a result. | 1156 | # and the test will not return a result. |
1157 | # Set it to "good" to test only the good config and set it | ||
1158 | # to "bad" to only test the bad config. | ||
1170 | # | 1159 | # |
1171 | # Example: | 1160 | # Example: |
1172 | # TEST_START | 1161 | # TEST_START |