[coreboot-gerrit] Patch set updated for coreboot: util/abuild: List boolean Kconfig options only tested at one setting

Martin Roth (martinroth@google.com) gerrit at coreboot.org
Tue Jan 3 17:47:05 CET 2017


Martin Roth (martinroth at 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 at 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 at 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



More information about the coreboot-gerrit mailing list