]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: rds: Add -c config option to rds/config.sh
authorAllison Henderson <achender@kernel.org>
Fri, 20 Mar 2026 04:18:34 +0000 (21:18 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 24 Mar 2026 02:39:07 +0000 (19:39 -0700)
This patch adds a new -c flag to config.sh that enables callers
to specify the file path of the config they would like to update.
If no config is specified, the default will be the .config of the
current directory.

Signed-off-by: Allison Henderson <achender@kernel.org>
Link: https://patch.msgid.link/20260320041834.2761069-3-achender@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/rds/README.txt
tools/testing/selftests/net/rds/config.sh

index cbde2951ab13bc98dc298d788eb25dc07c94c171..c6fe003d503bf5f5e0028a8f209652c4661e7e49 100644 (file)
@@ -31,8 +31,11 @@ EXAMPLE:
     # Alternatly create a gcov disabled .config
     tools/testing/selftests/net/rds/config.sh
 
+    # Config paths may also be specified with the -c flag
+    tools/testing/selftests/net/rds/config.sh -c .config.local
+
     # build the kernel
-    vng --build  --config tools/testing/selftests/net/config
+    vng --build --config .config
 
     # launch the tests in a VM
     vng -v --rwdir ./ --run . --user root --cpus 4 -- \
index 791c8dbe1095eb6646acee6884f24803a25f81e4..29a79314dd60f578c233fd20dd9c57f43110702c 100755 (executable)
@@ -6,15 +6,20 @@ set -u
 set -x
 
 unset KBUILD_OUTPUT
+CONF_FILE=""
+FLAGS=()
 
 GENERATE_GCOV_REPORT=0
-while getopts "g" opt; do
+while getopts "gc:" opt; do
   case ${opt} in
     g)
       GENERATE_GCOV_REPORT=1
       ;;
+    c)
+      CONF_FILE=$OPTARG
+      ;;
     :)
-      echo "USAGE: config.sh [-g]"
+      echo "USAGE: config.sh [-g] [-c config]"
       exit 1
       ;;
     ?)
@@ -24,30 +29,32 @@ while getopts "g" opt; do
   esac
 done
 
-CONF_FILE="tools/testing/selftests/net/config"
+if [[ "$CONF_FILE" != "" ]]; then
+       FLAGS=(--file "$CONF_FILE")
+fi
 
 # no modules
-scripts/config --file "$CONF_FILE" --disable CONFIG_MODULES
+scripts/config "${FLAGS[@]}" --disable CONFIG_MODULES
 
 # enable RDS
-scripts/config --file "$CONF_FILE" --enable CONFIG_RDS
-scripts/config --file "$CONF_FILE" --enable CONFIG_RDS_TCP
+scripts/config "${FLAGS[@]}" --enable CONFIG_RDS
+scripts/config "${FLAGS[@]}" --enable CONFIG_RDS_TCP
 
 if [ "$GENERATE_GCOV_REPORT" -eq 1 ]; then
        # instrument RDS and only RDS
-       scripts/config --file "$CONF_FILE" --enable CONFIG_GCOV_KERNEL
-       scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL
-       scripts/config --file "$CONF_FILE" --enable GCOV_PROFILE_RDS
+       scripts/config "${FLAGS[@]}" --enable CONFIG_GCOV_KERNEL
+       scripts/config "${FLAGS[@]}" --disable GCOV_PROFILE_ALL
+       scripts/config "${FLAGS[@]}" --enable GCOV_PROFILE_RDS
 else
-       scripts/config --file "$CONF_FILE" --disable CONFIG_GCOV_KERNEL
-       scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL
-       scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_RDS
+       scripts/config "${FLAGS[@]}" --disable CONFIG_GCOV_KERNEL
+       scripts/config "${FLAGS[@]}" --disable GCOV_PROFILE_ALL
+       scripts/config "${FLAGS[@]}" --disable GCOV_PROFILE_RDS
 fi
 
 # need network namespaces to run tests with veth network interfaces
-scripts/config --file "$CONF_FILE" --enable CONFIG_NET_NS
-scripts/config --file "$CONF_FILE" --enable CONFIG_VETH
+scripts/config "${FLAGS[@]}" --enable CONFIG_NET_NS
+scripts/config "${FLAGS[@]}" --enable CONFIG_VETH
 
 # simulate packet loss
-scripts/config --file "$CONF_FILE" --enable CONFIG_NET_SCH_NETEM
+scripts/config "${FLAGS[@]}" --enable CONFIG_NET_SCH_NETEM