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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox