Message ID | 20250313-xsk-v1-0-7374729a93b9@bootlin.com (mailing list archive) |
---|---|
Headers | show |
Series | selftests/bpf: Integrate test_xsk.c to test_progs framework | expand |
Hi all, On 3/13/25 11:47 AM, Bastien Curutchet (eBPF Foundation) wrote: > Hi all, > > This patch series continues the work to migrate the script tests into > prog_tests. > > The test_xsk.sh script tests lots of AF_XDP use cases. The tests it uses > are defined in xksxceiver.c. As this script is used to test real > hardware, the goal here is to keep it as is and only integrate the > tests on veth peers into the test_progs framework. > Three tests are flaky on s390 so they won't be integrated to test_progs > yet (I'm currently trying to make them more robust). > > PATCH 1 & 2 fix some small issues xskxceiver.c > PATCH 3 to 9 rework the xskxceiver to ease the integration in the > test_progs framework. Two main points are addressed in them : > - wrap kselftest calls behind macros to ease their replacement later > - handle all errors to release resources instead of calling exit() when > any error occurs. > PATCH 10 extracts test_xsk[.c/.h] from xskxceiver[.c/.h] to make the > tests available to test_progs > PATCH 11 enables kselftest de-activation > PATCH 12 isolates the flaky tests > PATCH 13 integrate the non-flaky tests to the test_progs framework > > Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com> > --- > Bastien Curutchet (eBPF Foundation) (13): > selftests/bpf: test_xsk: Initialize bitmap before use > selftests/bpf: test_xsk: Fix memory leaks > selftests/bpf: test_xsk: Wrap ksft_*() behind macros > selftests/bpf: test_xsk: Add return value to init_iface() > selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails > selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails > selftests/bpf: test_xsk: Don't exit immediately when workers fail > selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails > selftests/bpf: test_xsk: Don't exit immediately on allocation failures > selftests/bpf: test_xsk: Split xskxceiver > selftests/bpf: test_xsk: Make kselftest dependency optional > selftests/bpf: test_xsk: Isolate flaky tests > selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework > > tools/testing/selftests/bpf/Makefile | 13 +- > tools/testing/selftests/bpf/prog_tests/test_xsk.c | 2416 ++++++++++++++++++++ > tools/testing/selftests/bpf/prog_tests/test_xsk.h | 299 +++ > tools/testing/selftests/bpf/prog_tests/xsk.c | 178 ++ > tools/testing/selftests/bpf/xskxceiver.c | 2543 +-------------------- > tools/testing/selftests/bpf/xskxceiver.h | 153 -- > 6 files changed, 3021 insertions(+), 2581 deletions(-) > --- > base-commit: 720c696b16a1b1680f64cac9b3bb9e312a23ac47 > change-id: 20250218-xsk-0cf90e975d14 I realize that I forgot to mention 'bpf-next', sorry about that. This work is based on the bpf-next_base branch. Best regards, Bastien
Hi all, This patch series continues the work to migrate the script tests into prog_tests. The test_xsk.sh script tests lots of AF_XDP use cases. The tests it uses are defined in xksxceiver.c. As this script is used to test real hardware, the goal here is to keep it as is and only integrate the tests on veth peers into the test_progs framework. Three tests are flaky on s390 so they won't be integrated to test_progs yet (I'm currently trying to make them more robust). PATCH 1 & 2 fix some small issues xskxceiver.c PATCH 3 to 9 rework the xskxceiver to ease the integration in the test_progs framework. Two main points are addressed in them : - wrap kselftest calls behind macros to ease their replacement later - handle all errors to release resources instead of calling exit() when any error occurs. PATCH 10 extracts test_xsk[.c/.h] from xskxceiver[.c/.h] to make the tests available to test_progs PATCH 11 enables kselftest de-activation PATCH 12 isolates the flaky tests PATCH 13 integrate the non-flaky tests to the test_progs framework Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com> --- Bastien Curutchet (eBPF Foundation) (13): selftests/bpf: test_xsk: Initialize bitmap before use selftests/bpf: test_xsk: Fix memory leaks selftests/bpf: test_xsk: Wrap ksft_*() behind macros selftests/bpf: test_xsk: Add return value to init_iface() selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails selftests/bpf: test_xsk: Don't exit immediately when workers fail selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails selftests/bpf: test_xsk: Don't exit immediately on allocation failures selftests/bpf: test_xsk: Split xskxceiver selftests/bpf: test_xsk: Make kselftest dependency optional selftests/bpf: test_xsk: Isolate flaky tests selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework tools/testing/selftests/bpf/Makefile | 13 +- tools/testing/selftests/bpf/prog_tests/test_xsk.c | 2416 ++++++++++++++++++++ tools/testing/selftests/bpf/prog_tests/test_xsk.h | 299 +++ tools/testing/selftests/bpf/prog_tests/xsk.c | 178 ++ tools/testing/selftests/bpf/xskxceiver.c | 2543 +-------------------- tools/testing/selftests/bpf/xskxceiver.h | 153 -- 6 files changed, 3021 insertions(+), 2581 deletions(-) --- base-commit: 720c696b16a1b1680f64cac9b3bb9e312a23ac47 change-id: 20250218-xsk-0cf90e975d14 Best regards,