Messages in this thread Patch in this message | | | Date | Tue, 17 Nov 2015 10:11:37 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 5/5] perf test: Mute test cases if verbose == 0 |
| |
Em Tue, Nov 17, 2015 at 08:32:50AM +0000, Wang Nan escreveu: > Sometimes error messages in breaks the pretty output of 'perf test'. > For example:
Ok, great, nevermind my report about this, thanks for fixing it!
- Arnaldo > # mv /lib/modules/4.3.0-rc4+/build/vmlinux{,.bak} > # ./perf test LLVM BPF > 35: Test LLVM searching and compiling : > 35.1: Basic BPF llvm compiling test : Ok > 35.2: Test kbuild searching : Ok > 35.3: Compile source for BPF prologue generation test : Ok > 37: Test BPF filter : > 37.1: Test basic BPF filtering : Ok > 37.2: Test BPF prologue generation :Failed to find the path for kernel: No such file or directory > FAILED! > > This patch mute test cases thoroughly by redirect their stdout and > stderr to /dev/null when verbose == 0. After applying this patch: > > # ./perf test LLVM BPF > 35: Test LLVM searching and compiling : > 35.1: Basic BPF llvm compiling test : Ok > 35.2: Test kbuild searching : Ok > 35.3: Compile source for BPF prologue generation test : Ok > 37: Test BPF filter : > 37.1: Test basic BPF filtering : Ok > 37.2: Test BPF prologue generation : FAILED! > > # ./perf test -v LLVM BPF > 35: Test LLVM searching and compiling : > 35.1: Basic BPF llvm compiling test : > --- start --- > test child forked, pid 13183 > Kernel build dir is set to /lib/modules/4.3.0-rc4+/build > set env: KBUILD_DIR=/lib/modules/4.3.0-rc4+/build > ... > bpf: config 'func=null_lseek file->f_mode offset orig' is ok > Looking at the vmlinux_path (7 entries long) > Failed to find the path for kernel: No such file or directory > bpf_probe: failed to convert perf probe eventsFailed to add events selected by BPF > test child finished with -1 > ---- end ---- > Test BPF filter subtest 1: FAILED! > > Signed-off-by: Wang Nan <wangnan0@huawei.com> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com> > --- > tools/perf/tests/builtin-test.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c > index 9914412..799edad 100644 > --- a/tools/perf/tests/builtin-test.c > +++ b/tools/perf/tests/builtin-test.c > @@ -227,7 +227,22 @@ static int run_test(struct test *test, int subtest) > } > > if (!child) { > + int nullfd; > + > pr_debug("test child forked, pid %d\n", getpid()); > + > + if (!verbose) { > + nullfd = open("/dev/null", O_WRONLY); > + if (nullfd >= 0) { > + close(STDERR_FILENO); > + close(STDOUT_FILENO); > + > + dup2(nullfd, STDOUT_FILENO); > + dup2(STDOUT_FILENO, STDERR_FILENO); > + close(nullfd); > + } > + } > + > if (!test->need_subtests) > err = test->func(); > else > -- > 1.8.3.4
| |