Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753322AbbEKNR2 (ORCPT ); Mon, 11 May 2015 09:17:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54668 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750876AbbEKNR1 (ORCPT ); Mon, 11 May 2015 09:17:27 -0400 Date: Mon, 11 May 2015 15:17:07 +0200 From: Jiri Olsa To: He Kuang Cc: acme@kernel.org, jolsa@kernel.org, mingo@redhat.com, a.p.zijlstra@chello.nl, wangnan0@huawei.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] perf tests: Fix to get negative exit codes Message-ID: <20150511131707.GB13337@krava.redhat.com> References: <1431347316-30401-1-git-send-email-hekuang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1431347316-30401-1-git-send-email-hekuang@huawei.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1653 Lines: 60 On Mon, May 11, 2015 at 12:28:35PM +0000, He Kuang wrote: > WEXITSTATUS consists of the least significant 8 bits of the status > argument, so we should convert the value to signed char if we have valid > negative exit codes. And the return value of test->func() contains > negative values: > > enum { > TEST_OK = 0, > TEST_FAIL = -1, > TEST_SKIP = -2, > }; > > Before this patch: > > $ perf test -v 1 > ... > test child finished with 254 > ---- end ---- > vmlinux symtab matches kallsyms: FAILED! > > After this patch: > > $ perf test -v 1 > ... > test child finished with -2 > ---- end ---- > vmlinux symtab matches kallsyms: Skip Acked-by: Jiri Olsa thanks, jirka > > Signed-off-by: He Kuang > --- > tools/perf/tests/builtin-test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c > index 4f40981..f42af98 100644 > --- a/tools/perf/tests/builtin-test.c > +++ b/tools/perf/tests/builtin-test.c > @@ -219,7 +219,7 @@ static int run_test(struct test *test) > wait(&status); > > if (WIFEXITED(status)) { > - err = WEXITSTATUS(status); > + err = (signed char)WEXITSTATUS(status); > pr_debug("test child finished with %d\n", err); > } else if (WIFSIGNALED(status)) { > err = -1; > -- > 1.8.5.2 > -- 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/