On Mon, Oct 03, 2022 at 05:03:18PM -0700, Andrii Nakryiko wrote: > On Sun, Oct 2, 2022 at 11:56 PM Artem Savkov <asavkov@xxxxxxxxxx> wrote: > > > > On Fri, Sep 30, 2022 at 04:06:41PM -0700, Andrii Nakryiko wrote: > > > On Fri, Sep 30, 2022 at 4:09 AM Artem Savkov <asavkov@xxxxxxxxxx> wrote: > > > > > > > > At the moment libbpf_probe_prog_types test iterates over all available > > > > BPF_PROG_TYPE regardless of kernel configuration which can exclude some > > > > of those. Unfortunately there is no direct way to tell which types are > > > > available, but we can look at struct bpf_ctx_onvert to tell which ones > > > > are available. > > > > > > > > Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx> > > > > --- > > > > > > Many selftests assume correct kernel configuration which is encoded in > > > config and config.<arch> files. So it seems fair to assume that all > > > defined program types are available on kernel-under-test. > > > > Ok. Wasn't sure if this is the assumption being made. > > > > > If someone is running selftests under custom more minimal kernel they > > > can use denylist to ignore specific prog type subtests? > > > > Thanks for the suggestion. Denylist is a bit too broad in this case as > > it means we'll be disabling the whole libbpf_probe_prog_types test while > > only a single type is a problem. Looks like we'll have to live with a > > downstream-only patch in this case. > > Allow/deny lists allow to specify subtests as well, so you can have > very granular control. E.g., > > [vmuser@archvm bpf]$ sudo ./test_progs -a 'libbpf_probe_prog_types/*SK*' > Failed to load bpf_testmod.ko into the kernel: -22 > WARNING! Selftests relying on bpf_testmod.ko will be skipped. > #96/8 libbpf_probe_prog_types/BPF_PROG_TYPE_CGROUP_SKB:OK > #96/14 libbpf_probe_prog_types/BPF_PROG_TYPE_SK_SKB:OK > #96/16 libbpf_probe_prog_types/BPF_PROG_TYPE_SK_MSG:OK > #96/21 libbpf_probe_prog_types/BPF_PROG_TYPE_SK_REUSEPORT:OK > #96/30 libbpf_probe_prog_types/BPF_PROG_TYPE_SK_LOOKUP:OK > #96 libbpf_probe_prog_types:OK > Summary: 1/5 PASSED, 0 SKIPPED, 0 FAILED > > > As you can see each program type is a subtest, so you can pick and > choose which ones to run. Right, didn't know it can do that. Thanks for the pointer. -- Artem