On Tue, May 20, 2025 at 1:30 PM Stanislav Fomichev <stfomic...@gmail.com> wrote:
>
> Use prime 3 for length to make offset slowly drift away.
>
> Signed-off-by: Stanislav Fomichev <stfomic...@gmail.com>
> ---
>  .../testing/selftests/drivers/net/hw/devmem.py  | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/drivers/net/hw/devmem.py 
> b/tools/testing/selftests/drivers/net/hw/devmem.py
> index 7fc686cf47a2..d7f6a76eb2b7 100755
> --- a/tools/testing/selftests/drivers/net/hw/devmem.py
> +++ b/tools/testing/selftests/drivers/net/hw/devmem.py
> @@ -49,12 +49,27 @@ from lib.py import ksft_disruptive
>      ksft_eq(socat.stdout.strip(), "hello\nworld")
>
>
> +@ksft_disruptive
> +def check_tx_chunks(cfg) -> None:
> +    cfg.require_ipver("6")
> +    require_devmem(cfg)
> +
> +    port = rand_port()
> +    listen_cmd = f"socat -U - TCP6-LISTEN:{port}"
> +
> +    with bkg(listen_cmd, exit_wait=True) as socat:
> +        wait_port_listen(port)
> +        cmd(f"echo -e \"hello\\nworld\"| {cfg.bin_remote} -f {cfg.ifname} -s 
> {cfg.addr_v['6']} -p {port} -z 3", host=cfg.remote, shell=True)
> +
> +    ksft_eq(socat.stdout.strip(), "hello\nworld")
> +
> +
>  def main() -> None:
>      with NetDrvEpEnv(__file__) as cfg:
>          cfg.bin_local = path.abspath(path.dirname(__file__) + "/ncdevmem")
>          cfg.bin_remote = cfg.remote.deploy(cfg.bin_local)
>
> -        ksft_run([check_rx, check_tx],
> +        ksft_run([check_rx, check_tx, check_tx_chunks],
>                   args=(cfg, ))
>      ksft_exit()
>
> --
> 2.49.0
>

I was hoping we'd add the test coverage without the need to add test
cases to the ksft. I was thinking maybe ncdevmem can do rand() each
sendmsg loop and send a different set of chunks, so that we don't need
a flag.

But it may be too hacky to have the test be non-deterministic, so up to you

Acked-by: Mina Almasry <almasrym...@google.com>


-- 
Thanks,
Mina

Reply via email to