mbox series

[bpf-next,v2,0/6] skip ENOTSUPP BPF selftests

Message ID cover.1720146231.git.tanggeliang@kylinos.cn (mailing list archive)
Headers show
Series skip ENOTSUPP BPF selftests | expand

Message

Geliang Tang July 5, 2024, 2:38 a.m. UTC
From: Geliang Tang <tanggeliang@kylinos.cn>

v2:
 - Although all CI tests passed on x86_64 "bpf/vmtest-bpf-next-VM_Test-22
Logs for x86_64-gcc / test (test_progs, false, 360) / test_progs on x86_64
with gcc", some unexpect "SKIP"s are showed in the log:

  #29/1    bpf_tcp_ca/dctcp:SKIP
  #29/2    bpf_tcp_ca/cubic:OK
  #29/3    bpf_tcp_ca/invalid_license:OK
  #29/4    bpf_tcp_ca/dctcp_fallback:SKIP
  #29/5    bpf_tcp_ca/rel_setsockopt:OK
  #29/6    bpf_tcp_ca/write_sk_pacing:OK
  #29/7    bpf_tcp_ca/incompl_cong_ops:OK
  #29/8    bpf_tcp_ca/unsupp_cong_op:OK
  #29/9    bpf_tcp_ca/update_ca:OK
  #29/10   bpf_tcp_ca/update_wrong:OK
  #29/11   bpf_tcp_ca/mixed_links:OK
  #29/12   bpf_tcp_ca/multi_links:OK
  #29/13   bpf_tcp_ca/link_replace:OK
  #29/14   bpf_tcp_ca/tcp_ca_kfunc:OK
  #29/15   bpf_tcp_ca/cc_cubic:OK
  #29/16   bpf_tcp_ca/dctcp_autoattach_map:SKIP
  #29      bpf_tcp_ca:OK (SKIP: 3/16)

 Shouldn't skip any tests on X86_64. Fix this in v2.

 - add a new helper test_progs_get_error.

BPF selftests seem to have not been fully tested on Loongarch platforms.
There are so many "ENOTSUPP" (-524) errors when running BPF selftests on
them since lacking BPF trampoline on Loongarch.

For these "ENOTSUPP" tests, it's better to skip them, instead of reporting
some "ENOTSUPP" errors. This patchset skips ENOTSUPP in ASSERT_OK/
ASSERT_OK_PTR/ASSERT_GE helpers to fix them. This is useful for running BPF
selftests for other architectures too.

Geliang Tang (6):
  selftests/bpf: Define ENOTSUPP in testing_helpers.h
  selftests/bpf: Skip ENOTSUPP in ASSERT_OK
  selftests/bpf: Use ASSERT_OK to skip ENOTSUPP
  selftests/bpf: Null checks for link in bpf_tcp_ca
  selftests/bpf: Skip ENOTSUPP in ASSERT_OK_PTR
  selftests/bpf: Skip ENOTSUPP in ASSERT_GE

 .../selftests/bpf/prog_tests/bpf_tcp_ca.c     | 20 ++++++-----
 .../testing/selftests/bpf/prog_tests/d_path.c |  2 +-
 .../selftests/bpf/prog_tests/lsm_cgroup.c     | 10 +-----
 .../selftests/bpf/prog_tests/module_attach.c  |  2 +-
 .../selftests/bpf/prog_tests/ringbuf.c        |  2 +-
 .../selftests/bpf/prog_tests/sock_addr.c      |  4 ---
 .../selftests/bpf/prog_tests/test_bprm_opts.c |  2 +-
 .../selftests/bpf/prog_tests/test_ima.c       |  2 +-
 .../selftests/bpf/prog_tests/trace_ext.c      |  2 +-
 tools/testing/selftests/bpf/test_maps.c       |  4 ---
 tools/testing/selftests/bpf/test_progs.h      | 33 +++++++++++++++----
 tools/testing/selftests/bpf/test_verifier.c   |  4 ---
 tools/testing/selftests/bpf/testing_helpers.h |  4 +++
 13 files changed, 50 insertions(+), 41 deletions(-)