]> www.infradead.org Git - users/jedix/linux-maple.git/commit
selftests: drv-net: add a TCP ping test case (and useful helpers)
authorJakub Kicinski <kuba@kernel.org>
Sat, 20 Apr 2024 02:52:36 +0000 (19:52 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 23 Apr 2024 17:13:56 +0000 (10:13 -0700)
commit31611cea8f0f45f0b803b010be47a37792ba58a8
tree7788f24597ab1bc6d4c2b58ec2aab71efdd19ff2
parent01b431641c33d488ecc6cd6d9e01f7f073bfa54f
selftests: drv-net: add a TCP ping test case (and useful helpers)

More complex tests often have to spawn a background process,
like a server which will respond to requests or tcpdump.

Add support for creating such processes using the with keyword:

  with bkg("my-daemon", ..):
     # my-daemon is alive in this block

My initial thought was to add this support to cmd() directly
but it runs the command in the constructor, so by the time
we __enter__ it's too late to make sure we used "background=True".

Second useful helper transplanted from net_helper.sh is
wait_port_listen().

The test itself uses socat, which insists on v6 addresses
being wrapped in [], it's not the only command which requires
this format, so add the wrapped address to env. The hope
is to save test code from checking if address is v6.

Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/r/20240420025237.3309296-7-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/lib/py/env.py
tools/testing/selftests/drivers/net/ping.py
tools/testing/selftests/net/lib/py/utils.py