mbox series

[PATCHv2,net-next,00/14] Conver net selftests to run in unique namespace (Part 1)

Message ID 20231130040105.1265779-1-liuhangbin@gmail.com (mailing list archive)
Headers show
Series Conver net selftests to run in unique namespace (Part 1) | expand

Message

Hangbin Liu Nov. 30, 2023, 4 a.m. UTC
As Guillaume pointed, many selftests create namespaces with very common
names (like "client" or "server") or even (partially) run directly in init_net.
This makes these tests prone to failure if another namespace with the same
name already exists. It also makes it impossible to run several instances
of these tests in parallel.

This patch set intend to conver all the net selftests to run in unique namespace,
so we can update the selftest freamwork to run all tests in it's own namespace
in parallel. After update, we only need to wait for the test which need
longest time.

As the total patch set is too large. I break it to severl parts. This is
the first part.

v1 -> v2:
- Split the large patch set to small parts for easy review (Paolo Abeni)
- Move busywait from forwarding/lib.sh to net/lib.sh directly (Petr Machata)
- Update setup_ns/cleanup_ns struct (Petr Machata)
- Remove default trap in lib.sh (Petr Machata)

Hangbin Liu (14):
  selftests/net: add lib.sh
  selftests/net: convert arp_ndisc_evict_nocarrier.sh to run it in
    unique namespace
  selftests/net: specify the interface when do arping
  selftests/net: convert arp_ndisc_untracked_subnets.sh to run it in
    unique namespace
  selftests/net: convert cmsg tests to make them run in unique namespace
  selftests/net: convert drop_monitor_tests.sh to run it in unique
    namespace
  selftests/net: convert traceroute.sh to run it in unique namespace
  selftests/net: convert icmp_redirect.sh to run it in unique namespace
  sleftests/net: convert icmp.sh to run it in unique namespace
  selftests/net: convert ioam6.sh to run it in unique namespace
  selftests/net: convert l2tp.sh to run it in unique namespace
  selftests/net: convert ndisc_unsolicited_na_test.sh to run it in
    unique namespace
  selftests/net: convert sctp_vrf.sh to run it in unique namespace
  selftests/net: convert unicast_extensions.sh to run it in unique
    namespace

 tools/testing/selftests/net/Makefile          |   2 +-
 .../net/arp_ndisc_evict_nocarrier.sh          |  46 ++--
 .../net/arp_ndisc_untracked_subnets.sh        |  20 +-
 tools/testing/selftests/net/cmsg_ipv6.sh      |  10 +-
 tools/testing/selftests/net/cmsg_so_mark.sh   |   7 +-
 tools/testing/selftests/net/cmsg_time.sh      |   7 +-
 .../selftests/net/drop_monitor_tests.sh       |  21 +-
 tools/testing/selftests/net/forwarding/lib.sh |  27 +-
 tools/testing/selftests/net/icmp.sh           |  10 +-
 tools/testing/selftests/net/icmp_redirect.sh  | 182 +++++++------
 tools/testing/selftests/net/ioam6.sh          | 247 +++++++++---------
 tools/testing/selftests/net/l2tp.sh           | 130 +++++----
 tools/testing/selftests/net/lib.sh            |  85 ++++++
 .../net/ndisc_unsolicited_na_test.sh          |  19 +-
 tools/testing/selftests/net/sctp_vrf.sh       |  12 +-
 tools/testing/selftests/net/traceroute.sh     |  82 +++---
 .../selftests/net/unicast_extensions.sh       |  99 ++++---
 17 files changed, 500 insertions(+), 506 deletions(-)
 create mode 100644 tools/testing/selftests/net/lib.sh