From: Petr Machata <petrm@nvidia.com>
To: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: <netdev@vger.kernel.org>, Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
<linux-kernel@vger.kernel.org>, <petrm@nvidia.com>,
<willemb@google.com>, <linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH net-next v4 02/10] selftests: net: add helpers for running a command on other targets
Date: Mon, 30 Mar 2026 13:02:12 +0200 [thread overview]
Message-ID: <871ph15zip.fsf@nvidia.com> (raw)
In-Reply-To: <20260326132828.805703-3-ioana.ciornei@nxp.com>
Ioana Ciornei <ioana.ciornei@nxp.com> writes:
> Add a couple of helpers which can be used by tests which need to run a
> specific bash command on a different target than the local system, be it
> either another netns or a remote system accessible through ssh.
>
> The __run_on() function is passed through $1 the target on which the
> command should be executed while run_on() is passed the name of the
> interface that is then used to retrieve the target from the TARGETS
> array.
>
> Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
> ---
> Changes in v4:
> - reworked the helpers so that no global variable is used and
> information is passed only through parameters
> Changes in v3:
> - s/TARGET/CUR_TARGET
> - always fallback on running a command locally when either TARGETS is
> not declared or there is no entry for a specific interface
> Changes in v2:
> - patch is new
>
> tools/testing/selftests/net/lib.sh | 38 ++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh
> index b40694573f4c..6c0d613a4de5 100644
> --- a/tools/testing/selftests/net/lib.sh
> +++ b/tools/testing/selftests/net/lib.sh
> @@ -670,3 +670,41 @@ cmd_jq()
> # return success only in case of non-empty output
> [ ! -z "$output" ]
> }
> +
> +__run_on()
> +{
> + local target=$1; shift
> + local type args
> +
> + IFS=':' read -r type args <<< "$target"
> +
> + case "$type" in
> + netns)
> + # Execute command in network namespace
> + # args contains the namespace name
> + ip netns exec "$args" "$@"
> + ;;
> + ssh)
> + # Execute command via SSH args contains user@host
> + ssh -n "$args" "$@"
> + ;;
> + local|*)
> + # Execute command locally. This is also the fallback
> + # case for when the interface's target is not found in
> + # the TARGETS array.
> + "$@"
> + ;;
> + esac
> +}
> +
> +run_on()
> +{
> + local iface=$1; shift
> + local target="local:"
> +
> + if declare -p TARGETS &>/dev/null; then
> + target="${TARGETS[$iface]}"
So I think Jakub's runs fail because there's a shell export somewhere
that gets inherited through make to the launched test. I guess it would
be enough for the test to validate that TARGETS is an array, because
those don't get inherited.
Is there a reason not to reuse DRIVER_TEST_CONFORMANT as a tell though?
> + fi
> +
> + __run_on "$target" "$@"
> +}
Does the latter helper need to be in net/lib.sh? Since it uses TARGETS,
which are a forwarding/lib.sh concept, it seems misplaced there.
next prev parent reply other threads:[~2026-03-30 11:27 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-26 13:28 [PATCH net-next v4 00/10] selftests: drivers: bash support for remote traffic generators Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 01/10] selftests: forwarding: extend ethtool_std_stats_get with pause statistics Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 02/10] selftests: net: add helpers for running a command on other targets Ioana Ciornei
2026-03-30 11:02 ` Petr Machata [this message]
2026-03-30 11:32 ` Petr Machata
2026-03-30 12:12 ` Ioana Ciornei
2026-03-30 14:55 ` Petr Machata
2026-03-31 0:04 ` Jakub Kicinski
2026-03-31 11:53 ` Petr Machata
2026-03-26 13:28 ` [PATCH net-next v4 03/10] selftests: net: extend lib.sh to parse drivers/net/net.config Ioana Ciornei
2026-03-30 11:28 ` Petr Machata
2026-03-30 12:28 ` Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 04/10] selftests: net: update some helpers to use run_on Ioana Ciornei
2026-03-30 11:55 ` Petr Machata
2026-03-26 13:28 ` [PATCH net-next v4 05/10] selftests: drivers: hw: cleanup shellcheck warnings in the rmon test Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 06/10] selftests: drivers: hw: test rmon counters only on first interface Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 07/10] selftests: drivers: hw: replace counter upper limit with UINT32_MAX in rmon test Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 08/10] selftests: drivers: hw: move to KTAP output Ioana Ciornei
2026-03-30 12:01 ` Petr Machata
2026-03-26 13:28 ` [PATCH net-next v4 09/10] selftests: drivers: hw: update ethtool_rmon to work with a single local interface Ioana Ciornei
2026-03-26 13:28 ` [PATCH net-next v4 10/10] selftests: drivers: hw: add test for the ethtool standard counters Ioana Ciornei
2026-03-30 12:03 ` Petr Machata
2026-03-26 19:03 ` [PATCH net-next v4 00/10] selftests: drivers: bash support for remote traffic generators Jakub Kicinski
2026-03-27 7:32 ` Ioana Ciornei
2026-03-28 0:24 ` Jakub Kicinski
2026-03-30 10:38 ` Petr Machata
2026-03-30 11:10 ` Petr Machata
2026-03-30 11:11 ` Ioana Ciornei
2026-03-30 11:52 ` Petr Machata
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=871ph15zip.fsf@nvidia.com \
--to=petrm@nvidia.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=ioana.ciornei@nxp.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=willemb@google.com \
/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.