Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752615AbbKWQKy (ORCPT ); Mon, 23 Nov 2015 11:10:54 -0500 Received: from terminus.zytor.com ([198.137.202.10]:43891 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752153AbbKWQKu (ORCPT ); Mon, 23 Nov 2015 11:10:50 -0500 Date: Mon, 23 Nov 2015 08:10:10 -0800 From: tip-bot for Wang Nan Message-ID: Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, ast@kernel.org, wangnan0@huawei.com, masami.hiramatsu.pt@hitachi.com, tglx@linutronix.de, lizefan@huawei.com, acme@redhat.com, hpa@zytor.com Reply-To: wangnan0@huawei.com, tglx@linutronix.de, masami.hiramatsu.pt@hitachi.com, lizefan@huawei.com, hpa@zytor.com, acme@redhat.com, linux-kernel@vger.kernel.org, mingo@kernel.org, ast@kernel.org In-Reply-To: <1447749170-175898-6-git-send-email-wangnan0@huawei.com> References: <1447749170-175898-6-git-send-email-wangnan0@huawei.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf test: Mute test cases error messages if verbose == 0 Git-Commit-ID: 5bcf2fe05318deb6fec209b4028d8a31f9f47221 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3732 Lines: 90 Commit-ID: 5bcf2fe05318deb6fec209b4028d8a31f9f47221 Gitweb: http://git.kernel.org/tip/5bcf2fe05318deb6fec209b4028d8a31f9f47221 Author: Wang Nan AuthorDate: Tue, 17 Nov 2015 08:32:50 +0000 Committer: Arnaldo Carvalho de Melo CommitDate: Thu, 19 Nov 2015 13:19:17 -0300 perf test: Mute test cases error messages if verbose == 0 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 Tested-by: Arnaldo Carvalho de Melo Cc: Alexei Starovoitov Cc: Masami Hiramatsu Cc: Zefan Li 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 --- 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 146ae98..2b1ade1 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); } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/