Em Tue, Nov 17, 2015 at 08:32:46AM +0000, Wang Nan escreveu: > Two bugs in 'perf test BPF' are found when testing BPF prologue without > vmlinux: > > # mv /lib/modules/4.3.0-rc4+/build/vmlinux{,.bak} > # ./perf test BPF > 37: Test BPF filter :Failed to find > the path for kernel: No such file or directory > Ok > > Test BPF should fail in this case. > > This patch fixes two bugs in 'perf test BPF'. After this patch: > > # ./perf test BPF > 37: Test BPF filter :Failed to find > the path for kernel: No such file or directory > FAILED! > # mv /lib/modules/4.3.0-rc4+/build/vmlinux{.bak,} > # ./perf test BPF > 37: Test BPF filter : Ok
Applied, it is a clear improvement, but: [root@zoo ~]# perf test 1: vmlinux symtab matches kallsyms : Skip 2: detect openat syscall event : Ok <SNIP> 5: parse events tests : Ok 6: Validate PERF_RECORD_* events & perf_sample fields : FAILED! 7: Test perf pmu format parsing : Ok <SNIP> 37: Test BPF filter :Failed to find the path for kernel: Invalid ELF file FAILED! 38: x86 rdpmc test : Ok 39: Test converting perf time to TSC : FAILED! 40: Test dwarf unwind : Ok 41: Test x86 instruction decoder - new instructions : Ok 42: Test intel cqm nmi context read : Skip [root@zoo ~]# ------------------------ It is now the only test to emit some message in non-verbose mode that is not "Ok", "FAILED!" or "Skip" :-) - Arnaldo > Signed-off-by: Wang Nan <wangn...@huawei.com> > Cc: Arnaldo Carvalho de Melo <a...@redhat.com> > --- > tools/perf/tests/bpf.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/tests/bpf.c b/tools/perf/tests/bpf.c > index c7131fa..dca3998 100644 > --- a/tools/perf/tests/bpf.c > +++ b/tools/perf/tests/bpf.c > @@ -102,8 +102,7 @@ static int do_test(struct bpf_object *obj, int > (*func)(void), > err = parse_events_load_bpf_obj(&parse_evlist, &parse_evlist.list, obj); > if (err || list_empty(&parse_evlist.list)) { > pr_debug("Failed to add events selected by BPF\n"); > - if (!err) > - return TEST_FAIL; > + return TEST_FAIL; > } > > snprintf(pid, sizeof(pid), "%d", getpid()); > @@ -157,8 +156,10 @@ static int do_test(struct bpf_object *obj, int > (*func)(void), > } > } > > - if (count != expect) > + if (count != expect) { > pr_debug("BPF filter result incorrect\n"); > + goto out_delete_evlist; > + } > > ret = TEST_OK; > > -- > 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/