summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-03-24 05:39:07 +0300
committerJakub Kicinski <kuba@kernel.org>2026-03-24 05:39:08 +0300
commitef94e96eaedc63c75d462d0e4dcbea0f6fbd6c74 (patch)
tree8090003013960b92e80fae92a2b71154541a42c6 /tools/testing
parente81cf512c1bdee07fce4a39854dde78cc2cd7b43 (diff)
parent381a503f0eb3a69e9a250330e2f09a5ae1688d2c (diff)
downloadlinux-ef94e96eaedc63c75d462d0e4dcbea0f6fbd6c74.tar.xz
Merge branch 'selftests-rds-add-config-file-and-config-sh-c-option'
Allison Henderson says: ==================== selftests: rds: add config file and config.sh -c option This series adds an RDS-specific config file for ksft CI and extends config.sh with a -c flag to specify an alternate config file path. Users can now specify the path of the config they want to update, or default to .config if none is specified. ==================== Link: https://patch.msgid.link/20260320041834.2761069-1-achender@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/net/rds/README.txt5
-rw-r--r--tools/testing/selftests/net/rds/config5
-rwxr-xr-xtools/testing/selftests/net/rds/config.sh37
3 files changed, 31 insertions, 16 deletions
diff --git a/tools/testing/selftests/net/rds/README.txt b/tools/testing/selftests/net/rds/README.txt
index cbde2951ab13..c6fe003d503b 100644
--- a/tools/testing/selftests/net/rds/README.txt
+++ b/tools/testing/selftests/net/rds/README.txt
@@ -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 -- \
diff --git a/tools/testing/selftests/net/rds/config b/tools/testing/selftests/net/rds/config
new file mode 100644
index 000000000000..97db7ecb892a
--- /dev/null
+++ b/tools/testing/selftests/net/rds/config
@@ -0,0 +1,5 @@
+CONFIG_NET_NS=y
+CONFIG_NET_SCH_NETEM=y
+CONFIG_RDS=y
+CONFIG_RDS_TCP=y
+CONFIG_VETH=y
diff --git a/tools/testing/selftests/net/rds/config.sh b/tools/testing/selftests/net/rds/config.sh
index 791c8dbe1095..29a79314dd60 100755
--- a/tools/testing/selftests/net/rds/config.sh
+++ b/tools/testing/selftests/net/rds/config.sh
@@ -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