Martin Roth (martinroth@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17891
-gerrit
commit 68b6114683699cb090239e79a2f5564475bf6cd9 Author: Martin Roth martinroth@google.com Date: Wed Dec 14 10:20:53 2016 -0700
util/abuild: List boolean Kconfig options only tested at one setting
To get a better idea of what Kconfig options aren't being tested, this will generate a list of which boolean symbols are always getting tested in either the enabled or disabled state.
Save all Kconfig options, then build lists of all boolean options tested in the enabled and disabled states. Finally, compare the lists and generates a file containing all options that were tested only in one of the states.
Change-Id: Id408785516e47d4c32ddedb268b8ad1601fcaa03 Signed-off-by: Martin Roth martinroth@google.com --- util/abuild/abuild | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/util/abuild/abuild b/util/abuild/abuild index 93ceac5..c21b54f 100755 --- a/util/abuild/abuild +++ b/util/abuild/abuild @@ -271,6 +271,7 @@ function update_config yes "" 2>/dev/null | $MAKE oldconfig $silent "DOTCONFIG=${config_file}" "obj=${build_dir}" "objutil=$TARGET/sharedutils" &> "${build_dir}/config.log" ; \ CONFIG_OK=$? if [ $CONFIG_OK -eq 0 ]; then + cat "$build_dir/auto.conf" >> "$ALLCONFIGS" $MAKE savedefconfig $silent DEFCONFIG="${defconfig_file}" DOTCONFIG="${config_file}" obj="${build_dir}" objutil="$TARGET/sharedutils" &>> "${build_dir}/config.log" return $? else @@ -701,6 +702,7 @@ if [ "$customizing" = "" ]; then customizing="default configuration" fi
+ALLCONFIGS="$TARGET/all_configs.txt" FAILED_BOARDS="$TOP/$TARGET/failed_boards"
if [ "$recursive" = "false" ]; then @@ -827,6 +829,12 @@ fi junit '</testsuite>'
if [ "$recursive" = "false" ]; then + # Generate a file to show what configs have been tested. + grep '^CONFIG_.*=y$' "$ALLCONFIGS" | sed 's/=.*//' | sort | uniq > "$TARGET/enabled_opts.txt" + grep '^# CONFIG_.* is not set$' "$ALLCONFIGS" | sed 's/# //' | sed 's/ .*//' | sort | uniq > "$TARGET/disabled_opts.txt" + + # Untabbed options are only tested enabled, tabbed options are only tested disabled. + comm "$TARGET/enabled_opts.txt" "$TARGET/disabled_opts.txt" -3 > "$TARGET/untested_opts.txt"
# Print the list of failed boards if [ -f "$FAILED_BOARDS" ]; then