Jiri Olsa <jolsa@xxxxxxxxxx> writes: > hi, > I have failing test_offload.py with following output: > > # ./test_offload.py > ... > Test bpftool bound info reporting (own ns)... > FAIL: 3 BPF maps loaded, expected 2 > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 1177, in <module> > check_dev_info(False, "") > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 645, in check_dev_info > maps = bpftool_map_list(expected=2, ns=ns) > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 190, in bpftool_map_list > fail(True, "%d BPF maps loaded, expected %d" % > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 86, in fail > tb = "".join(traceback.extract_stack().format()) > > it fails to detect maps from bpftool's feature detection, > that did not make it yet through deferred removal > > with the fix below I have this subtest passed, but it fails > further on: > > # ./test_offload.py > ... > Test bpftool bound info reporting (own ns)... > Test bpftool bound info reporting (other ns)... > Test bpftool bound info reporting (remote ns)... > Test bpftool bound info reporting (back to own ns)... > Test bpftool bound info reporting (removed dev)... > Test map update (no flags)... > Test map update (exists)... > Test map update (noexist)... > Test map dump... > Test map dump... > Traceback (most recent call last): > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 1251, in <module> > _, entries = bpftool("map dump id %d" % (m["id"])) > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 169, in bpftool > return tool("bpftool", args, {"json":"-p"}, JSON=JSON, ns=ns, > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 155, in tool > ret, stdout = cmd(ns + name + " " + params + args, > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 109, in cmd > return cmd_result(proc, include_stderr=include_stderr, fail=fail) > File "/root/bpf-next/tools/testing/selftests/bpf/./test_offload.py", line 131, in cmd_result > raise Exception("Command failed: %s\n%s" % (proc.args, stderr)) > Exception: Command failed: bpftool -p map dump id 4325 > > the test seems to expect maps having BTF loaded, which for some reason > did not happen, so the test fails with bpftool pretty dump fail > > the test loads the object with 'ip link ...', which I never touched, > so I wanted ask first before I dive in, perhaps I miss some setup > > thoughts? ;-) It looks like the test_offload.py has been using 'bpftool -p' since its inception (in commit: 417ec26477a5 ("selftests/bpf: add offload test based on netdevsim") introduced in December 2017), so this sounds like a regression in bpftool? -Toke