perf tests: Fix to get negative exit codes
authorHe Kuang <hekuang@huawei.com>
Mon, 11 May 2015 12:28:35 +0000 (12:28 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 12 May 2015 12:59:50 +0000 (09:59 -0300)
commit189c466f77d421aef5c196454ab2e9517af7abc9
treeb5b06e0fe65af5573b712b9d92d21b133e956ba9
parent7d5eaba9b33682b734e3a79c21c4a9a5f91624b1
perf tests: Fix to get negative exit codes

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

Signed-off-by: He Kuang <hekuang@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1431347316-30401-1-git-send-email-hekuang@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/tests/builtin-test.c