Commit 381a503f authored by Allison Henderson's avatar Allison Henderson Committed by Jakub Kicinski
Browse files

selftests: rds: Add -c config option to rds/config.sh



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: default avatarAllison Henderson <achender@kernel.org>
Link: https://patch.msgid.link/20260320041834.2761069-3-achender@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 0f5d6800
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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 -- \
+22 −15
Original line number Diff line number Diff line
@@ -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