summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
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