Messages in this thread | | | Subject | Re: [PATCH 1/5] perf test: Fix 2 bugs in 'perf test BPF' | From | pi3orama <> | Date | Tue, 17 Nov 2015 21:01:41 +0800 |
| |
发自我的 iPhone
> 在 2015年11月17日,下午8:56,Arnaldo Carvalho de Melo <acme@kernel.org> 写道: > > 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" :-) >
Please see 5/5. In that patch I try to fix it throughly by output redirection.
Thank you.
> - Arnaldo > >> Signed-off-by: Wang Nan <wangnan0@huawei.com> >> Cc: Arnaldo Carvalho de Melo <acme@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
| |