Re: [PATCH 1/2] perf tests: Fix to get negative exit codes

From: Jiri Olsa
Date: Mon May 11 2015 - 09:17:32 EST


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 <jolsa@xxxxxxxxxx>

thanks,
jirka

>
> Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/