lkml.org 
[lkml]   [2015]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 19/37] perf test: Mute test cases error messages if verbose == 0
    Date
    From: Wang Nan <wangnan0@huawei.com>

    Sometimes error messages in breaks the pretty output of 'perf test'.
    For example:

    # 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>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1447749170-175898-6-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/tests/builtin-test.c | 12 ++++++++++++
    1 file changed, 12 insertions(+)

    diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
    index 146ae9821c00..2b1ade1aafc3 100644
    --- a/tools/perf/tests/builtin-test.c
    +++ b/tools/perf/tests/builtin-test.c
    @@ -226,6 +226,18 @@ static int run_test(struct test *test, int subtest)

    if (!child) {
    pr_debug("test child forked, pid %d\n", getpid());
    + if (!verbose) {
    + int 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);
    + }
    + }
    +
    err = test->func(subtest);
    exit(err);
    }
    --
    2.1.0


    \
     
     \ /
      Last update: 2015-11-19 19:21    [W:2.541 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site