Netdev List
 help / color / mirror / Atom feed
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


  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