ftracetest: Add POSIX.3 standard and XFAIL result codes
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Mon, 29 Sep 2014 12:02:11 +0000 (12:02 +0000)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 3 Oct 2014 20:44:02 +0000 (16:44 -0400)
commit915de2adb584acea89f3f654a6c9b329f682100f
tree14bdac4e5f087e2dc0642ce3a73d3f97864a759f
parent2909ef28b1d385210d4fef551499debc914f30e4
ftracetest: Add POSIX.3 standard and XFAIL result codes

Add XFAIL and POSIX 1003.3 standard codes (UNRESOLVED/
UNTESTED/UNSUPPORTED) as result codes. These are used for the
results that test case is expected to fail or unsupported
feature (by config).

To return these result code, this introduces exit_unresolved,
exit_untested, exit_unsupported and exit_xfail functions,
which use real-time signals to notify the result code to
ftracetest.

This also set "errexit" option for the testcases, so that
the tests don't need to exit explicitly.

Note that if the test returns UNRESOLVED/UNSUPPORTED/FAIL,
its test log including executed commands is shown on console
and main logfile as below.

  ------
  # ./ftracetest samples/
  === Ftrace unit tests ===
  [1] failure-case example        [FAIL]
  execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc
  + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc
  ++ cat non-exist-file
  cat: non-exist-file: No such file or directory
  [2] pass-case example   [PASS]
  [3] unresolved-case example     [UNRESOLVED]
  execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc
  + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc
  ++ trap exit_unresolved INT
  ++ kill -INT 29324
  +++ exit_unresolved
  +++ kill -s 38 29265
  +++ exit 0
  [4] unsupported-case example    [UNSUPPORTED]
  execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc
  + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc
  ++ exit_unsupported
  ++ kill -s 40 29265
  ++ exit 0
  [5] untested-case example       [UNTESTED]
  [6] xfail-case example  [XFAIL]

  # of passed:  1
  # of failed:  1
  # of unresolved:  1
  # of untested:  1
  # of unsupported:  1
  # of xfailed:  1
  # of undefined(test bug):  0
  ------

Link: http://lkml.kernel.org/p/20140929120211.30203.99510.stgit@kbuild-f20.novalocal
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
13 files changed:
tools/testing/selftests/ftrace/README
tools/testing/selftests/ftrace/ftracetest
tools/testing/selftests/ftrace/samples/fail.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/samples/pass.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/samples/unresolved.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/samples/unsupported.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/samples/untested.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/samples/xfail.tc [new file with mode: 0644]
tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
tools/testing/selftests/ftrace/test.d/template