* [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking
@ 2025-07-23 13:54 Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 1/2] selftests: drv-net: Fix remote command checking in require_cmd() Gal Pressman
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Gal Pressman @ 2025-07-23 13:54 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Andrew Lunn, netdev
Cc: Shuah Khan, Willem de Bruijn, Nimrod Oren, Gal Pressman,
linux-kselftest
This series fixes remote command checking and cleans up command
requirement calls across tests.
The first patch fixes require_cmd() incorrectly checking commands
locally even when remote=True was specified due to a missing host
parameter.
The second patch makes require_cmd() usage explicit about local/remote
requirements, avoiding unnecessary test failures and consolidating
duplicate calls.
Gal Pressman (2):
selftests: drv-net: Fix remote command checking in require_cmd()
selftests: drv-net: Make command requirements explicit
tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py | 3 +--
tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py | 2 +-
tools/testing/selftests/drivers/net/hw/tso.py | 2 +-
tools/testing/selftests/drivers/net/lib/py/env.py | 2 +-
tools/testing/selftests/drivers/net/lib/py/load.py | 2 +-
tools/testing/selftests/drivers/net/ping.py | 2 +-
6 files changed, 6 insertions(+), 7 deletions(-)
--
2.40.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net-next 1/2] selftests: drv-net: Fix remote command checking in require_cmd()
2025-07-23 13:54 [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking Gal Pressman
@ 2025-07-23 13:54 ` Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 2/2] selftests: drv-net: Make command requirements explicit Gal Pressman
2025-07-25 2:00 ` [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: Gal Pressman @ 2025-07-23 13:54 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Andrew Lunn, netdev
Cc: Shuah Khan, Willem de Bruijn, Nimrod Oren, Gal Pressman,
linux-kselftest
The require_cmd() method was checking for command availability locally
even when remote=True was specified, due to a missing host parameter.
Fix by passing host=self.remote when checking remote command
availability, ensuring commands are verified on the correct host.
Fixes: f1e68a1a4a40 ("selftests: drv-net: add require_XYZ() helpers for validating env")
Reviewed-by: Nimrod Oren <noren@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
---
tools/testing/selftests/drivers/net/lib/py/env.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/drivers/net/lib/py/env.py b/tools/testing/selftests/drivers/net/lib/py/env.py
index 3bccddf8cbc5..1b8bd648048f 100644
--- a/tools/testing/selftests/drivers/net/lib/py/env.py
+++ b/tools/testing/selftests/drivers/net/lib/py/env.py
@@ -259,7 +259,7 @@ class NetDrvEpEnv(NetDrvEnvBase):
if not self._require_cmd(comm, "local"):
raise KsftSkipEx("Test requires command: " + comm)
if remote:
- if not self._require_cmd(comm, "remote"):
+ if not self._require_cmd(comm, "remote", host=self.remote):
raise KsftSkipEx("Test requires (remote) command: " + comm)
def wait_hw_stats_settle(self):
--
2.40.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net-next 2/2] selftests: drv-net: Make command requirements explicit
2025-07-23 13:54 [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 1/2] selftests: drv-net: Fix remote command checking in require_cmd() Gal Pressman
@ 2025-07-23 13:54 ` Gal Pressman
2025-07-25 2:00 ` [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: Gal Pressman @ 2025-07-23 13:54 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Andrew Lunn, netdev
Cc: Shuah Khan, Willem de Bruijn, Nimrod Oren, Gal Pressman,
linux-kselftest
Make require_cmd() calls explicit about whether commands are needed
locally, remotely, or both.
Since require_cmd() defaults to local=True, tests should explicitly set
local=False when commands are only needed remotely.
- socat: Set local=False since it's only needed on remote hosts.
- iperf3: Use single call with both local=True and remote=True since
it's needed on both hosts.
This avoids unnecessary test failures when commands are missing locally
but available remotely where actually needed, and consolidates a
duplicate require_cmd() call into single call that checks both hosts.
Fixes: 0d0f4174f6c8 ("selftests: drv-net: add a simple TSO test")
Fixes: f1e68a1a4a40 ("selftests: drv-net: add require_XYZ() helpers for validating env")
Fixes: c76bab22e920 ("selftests: drv-net: rss_input_xfrm: Check test prerequisites before running")
Reviewed-by: Nimrod Oren <noren@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
---
tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py | 3 +--
| 2 +-
tools/testing/selftests/drivers/net/hw/tso.py | 2 +-
tools/testing/selftests/drivers/net/lib/py/load.py | 2 +-
tools/testing/selftests/drivers/net/ping.py | 2 +-
5 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py b/tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py
index 820d8a03becc..0c5a5a382b54 100755
--- a/tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py
+++ b/tools/testing/selftests/drivers/net/hw/devlink_rate_tc_bw.py
@@ -451,8 +451,7 @@ def main() -> None:
)
if not cfg.pci:
raise KsftSkipEx("Could not get PCI address of the interface")
- cfg.require_cmd("iperf3")
- cfg.require_cmd("iperf3", remote=True)
+ cfg.require_cmd("iperf3", local=True, remote=True)
cfg.bw_validator = BandwidthValidator()
--git a/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py b/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
index 648ff50bc1c3..103cac2737cf 100755
--- a/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
+++ b/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
@@ -32,7 +32,7 @@ def test_rss_input_xfrm(cfg, ipver):
if multiprocessing.cpu_count() < 2:
raise KsftSkipEx("Need at least two CPUs to test symmetric RSS hash")
- cfg.require_cmd("socat", remote=True)
+ cfg.require_cmd("socat", local=False, remote=True)
if not hasattr(socket, "SO_INCOMING_CPU"):
raise KsftSkipEx("socket.SO_INCOMING_CPU was added in Python 3.11")
diff --git a/tools/testing/selftests/drivers/net/hw/tso.py b/tools/testing/selftests/drivers/net/hw/tso.py
index 3370827409aa..3500d8f1bac4 100755
--- a/tools/testing/selftests/drivers/net/hw/tso.py
+++ b/tools/testing/selftests/drivers/net/hw/tso.py
@@ -34,7 +34,7 @@ def tcp_sock_get_retrans(sock):
def run_one_stream(cfg, ipver, remote_v4, remote_v6, should_lso):
- cfg.require_cmd("socat", remote=True)
+ cfg.require_cmd("socat", local=False, remote=True)
port = rand_port()
listen_cmd = f"socat -{ipver} -t 2 -u TCP-LISTEN:{port},reuseport /dev/null,ignoreeof"
diff --git a/tools/testing/selftests/drivers/net/lib/py/load.py b/tools/testing/selftests/drivers/net/lib/py/load.py
index d9c10613ae67..20e39095f2bc 100644
--- a/tools/testing/selftests/drivers/net/lib/py/load.py
+++ b/tools/testing/selftests/drivers/net/lib/py/load.py
@@ -6,7 +6,7 @@ from lib.py import ksft_pr, cmd, ip, rand_port, wait_port_listen
class GenerateTraffic:
def __init__(self, env, port=None):
- env.require_cmd("iperf3", remote=True)
+ env.require_cmd("iperf3", local=True, remote=True)
self.env = env
diff --git a/tools/testing/selftests/drivers/net/ping.py b/tools/testing/selftests/drivers/net/ping.py
index e0f114612c1a..da3623c5e8a9 100755
--- a/tools/testing/selftests/drivers/net/ping.py
+++ b/tools/testing/selftests/drivers/net/ping.py
@@ -30,7 +30,7 @@ def _test_v6(cfg) -> None:
cmd("ping -s 65000 -c 1 -W0.5 " + cfg.addr_v["6"], host=cfg.remote)
def _test_tcp(cfg) -> None:
- cfg.require_cmd("socat", remote=True)
+ cfg.require_cmd("socat", local=False, remote=True)
port = rand_port()
listen_cmd = f"socat -{cfg.addr_ipver} -t 2 -u TCP-LISTEN:{port},reuseport STDOUT"
--
2.40.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking
2025-07-23 13:54 [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 1/2] selftests: drv-net: Fix remote command checking in require_cmd() Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 2/2] selftests: drv-net: Make command requirements explicit Gal Pressman
@ 2025-07-25 2:00 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-07-25 2:00 UTC (permalink / raw)
To: Gal Pressman
Cc: davem, edumazet, kuba, pabeni, andrew+netdev, netdev, shuah,
willemb, noren, linux-kselftest
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 23 Jul 2025 16:54:52 +0300 you wrote:
> This series fixes remote command checking and cleans up command
> requirement calls across tests.
>
> The first patch fixes require_cmd() incorrectly checking commands
> locally even when remote=True was specified due to a missing host
> parameter.
>
> [...]
Here is the summary with links:
- [net-next,1/2] selftests: drv-net: Fix remote command checking in require_cmd()
https://git.kernel.org/netdev/net-next/c/b4d52c698210
- [net-next,2/2] selftests: drv-net: Make command requirements explicit
https://git.kernel.org/netdev/net-next/c/d74cd9a02f02
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-07-25 2:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-23 13:54 [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 1/2] selftests: drv-net: Fix remote command checking in require_cmd() Gal Pressman
2025-07-23 13:54 ` [PATCH net-next 2/2] selftests: drv-net: Make command requirements explicit Gal Pressman
2025-07-25 2:00 ` [PATCH net-next 0/2] selftests: drv-net: Fix and improve command requirement checking patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).