From: Allison Henderson <achender@kernel.org>
To: netdev@vger.kernel.org, pabeni@redhat.com, edumazet@google.com,
kuba@kernel.org, horms@kernel.org, linux-rdma@vger.kernel.org,
achender@kernel.org, linux-kselftest@vger.kernel.org,
shuah@kernel.org
Subject: [PATCH net-next v1 1/3] selftests: rds: add per-transport run wrappers
Date: Fri, 22 May 2026 14:54:28 -0700 [thread overview]
Message-ID: <20260522215430.3748226-2-achender@kernel.org> (raw)
In-Reply-To: <20260522215430.3748226-1-achender@kernel.org>
This patch renames run.sh to rds_run.sh, and then adds two wrapper
scripts, rds_rdma_run.sh and rds_tcp_run.sh which run rds_run.sh with
the corresponding transport option, rdma or tcp respectively. These
wrapper scripts are added to TEST_PROGS in place of run.sh so that they
run and report as a separate test results on the netdev CI dashboard.
Listing the wrappers in TEST_PROGS also gives the framework a
self-describing name for each test. The underlying rds_run.sh remains
directly usable with the full set of options.
Suggested-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Allison Henderson <achender@kernel.org>
---
tools/testing/selftests/net/rds/Makefile | 6 +++++-
tools/testing/selftests/net/rds/README.txt | 13 +++++++++----
tools/testing/selftests/net/rds/rds_rdma_run.sh | 11 +++++++++++
.../selftests/net/rds/{run.sh => rds_run.sh} | 4 ++--
tools/testing/selftests/net/rds/rds_tcp_run.sh | 11 +++++++++++
5 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/tools/testing/selftests/net/rds/Makefile b/tools/testing/selftests/net/rds/Makefile
index fe363be8e3586..b176e637fc55b 100644
--- a/tools/testing/selftests/net/rds/Makefile
+++ b/tools/testing/selftests/net/rds/Makefile
@@ -3,9 +3,13 @@
all:
@echo mk_build_dir="$(shell pwd)" > include.sh
-TEST_PROGS := run.sh
+TEST_PROGS := \
+ rds_tcp_run.sh \
+ rds_rdma_run.sh \
+# end of TEST_PROGS
TEST_FILES := \
+ rds_run.sh \
include.sh \
settings \
test.py \
diff --git a/tools/testing/selftests/net/rds/README.txt b/tools/testing/selftests/net/rds/README.txt
index bac6f15a80d52..2296568c39444 100644
--- a/tools/testing/selftests/net/rds/README.txt
+++ b/tools/testing/selftests/net/rds/README.txt
@@ -13,10 +13,15 @@ with the necessary gcov options; pass -r to also enable the kernel
configs required for the RDMA transport. The kernel may optionally be
configured to omit the coverage report as well.
+The test framework runs the rds_tcp_run.sh and rds_rdma_run.sh wrappers,
+which invoke rds_run.sh with the matching transport so that the tcp and
+rdma results are reported independently. rds_run.sh may also be run
+directly with the options below.
+
USAGE:
- run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]
- [-u packet_duplicate] [-t timeout]
- [-T tcp|rdma|tcp,rdma]
+ rds_run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]
+ [-u packet_duplicate] [-t timeout]
+ [-T tcp|rdma|tcp,rdma]
OPTIONS:
-d Log directory. If set, logs will be stored in the
@@ -73,5 +78,5 @@ EXAMPLE:
"export PYTHONPATH=tools/testing/selftests/net/; \
export SUDO_USER=example_user; \
export RDS_LOG_DIR=tools/testing/selftests/net/rds/rds_logs; \
- tools/testing/selftests/net/rds/run.sh -T tcp,rdma"
+ tools/testing/selftests/net/rds/rds_run.sh -T tcp,rdma"
diff --git a/tools/testing/selftests/net/rds/rds_rdma_run.sh b/tools/testing/selftests/net/rds/rds_rdma_run.sh
new file mode 100755
index 0000000000000..eddd389431573
--- /dev/null
+++ b/tools/testing/selftests/net/rds/rds_rdma_run.sh
@@ -0,0 +1,11 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+#
+# Runs the RDS selftest over the RDMA (RoCE/RXE) transport.
+#
+# This is a wrapper script for rds_run.sh to run and report results when using
+# the -T rdma option
+#
+# Exits with the kselftest SKIP code if rds RDMA prerequisites are not met
+
+exec "$(dirname "$0")/rds_run.sh" -T rdma "$@"
diff --git a/tools/testing/selftests/net/rds/run.sh b/tools/testing/selftests/net/rds/rds_run.sh
similarity index 98%
rename from tools/testing/selftests/net/rds/run.sh
rename to tools/testing/selftests/net/rds/rds_run.sh
index 07af2f927a2a7..ef16039be1ae5 100755
--- a/tools/testing/selftests/net/rds/run.sh
+++ b/tools/testing/selftests/net/rds/rds_run.sh
@@ -209,7 +209,7 @@ while getopts "d:l:c:u:t:T:" opt; do
TRANSPORT=${OPTARG}
;;
:)
- echo "USAGE: run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]" \
+ echo "USAGE: rds_run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]" \
"[-u packet_duplicate] [-t timeout] [-T tcp|rdma|tcp,rdma]"
exit 1
;;
@@ -224,7 +224,7 @@ done
IFS=',' read -ra transports <<< "$TRANSPORT"
for t in "${transports[@]}"; do
if [ "$t" != "tcp" ] && [ "$t" != "rdma" ]; then
- echo "run.sh: unknown transport '$t' (expected tcp or rdma)"
+ echo "rds_run.sh: unknown transport '$t' (expected tcp or rdma)"
exit 1
fi
done
diff --git a/tools/testing/selftests/net/rds/rds_tcp_run.sh b/tools/testing/selftests/net/rds/rds_tcp_run.sh
new file mode 100755
index 0000000000000..fad4d047aac61
--- /dev/null
+++ b/tools/testing/selftests/net/rds/rds_tcp_run.sh
@@ -0,0 +1,11 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+#
+# Runs the RDS selftest over the TCP transport.
+#
+# This is a wrapper script for rds_run.sh to run and report results when using
+# the -T tcp option
+#
+# Exits with the kselftest SKIP code if rds TCP prerequisites are not met
+
+exec "$(dirname "$0")/rds_run.sh" -T tcp "$@"
--
2.25.1
next prev parent reply other threads:[~2026-05-22 21:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 21:54 [PATCH net-next v1 0/3] selftests: rds: ROCE support follow ups Allison Henderson
2026-05-22 21:54 ` Allison Henderson [this message]
2026-05-22 21:54 ` [PATCH net-next v1 2/3] selftests: rds: pin RDS sockets to their intended transport Allison Henderson
2026-05-22 21:54 ` [PATCH net-next v1 3/3] selftests: rds: support RDS built as loadable modules Allison Henderson
2026-05-23 0:46 ` [PATCH net-next v1 0/3] selftests: rds: ROCE support follow ups Jakub Kicinski
2026-05-23 1:19 ` Allison Henderson
2026-05-23 2:14 ` Jakub Kicinski
2026-05-23 2:26 ` Allison Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260522215430.3748226-2-achender@kernel.org \
--to=achender@kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.