linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] ftrace: Add a ftrace test collection
@ 2014-09-22 23:42 Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-22 23:42 UTC (permalink / raw)
  To: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Namhyung Kim, Fengguang Wu, Ingo Molnar
  Cc: Linux Kernel Mailing List

Hi,

Here is the collection of testcases for ftrace version 5.
This is just a small update.

  - Fix a TODO item, since this already integrated to kselftest.
  - Print the test name at the first line.
  - Add Shuah's acked-by. (Thanks!)

ftracetest is a shell(dash) script for testing ftrace features.
It will be required to add a unit test for each new feature
after this is merged, because of preventing regressions.

Thank you,

---

Masami Hiramatsu (4):
      ftracetest: Initial commit for ftracetest
      ftracetest: Add ftrace basic testcases
      ftracetest: Add kprobe basic testcases
      ftracetest: Add POSIX.3 standard and XFAIL result codes


 MAINTAINERS                                        |    1 
 tools/testing/selftests/Makefile                   |    1 
 tools/testing/selftests/ftrace/Makefile            |    7 +
 tools/testing/selftests/ftrace/README              |   82 +++++++
 tools/testing/selftests/ftrace/ftracetest          |  251 ++++++++++++++++++++
 tools/testing/selftests/ftrace/samples/fail.tc     |    4 
 tools/testing/selftests/ftrace/samples/pass.tc     |    3 
 .../testing/selftests/ftrace/samples/unresolved.tc |    4 
 .../selftests/ftrace/samples/unsupported.tc        |    3 
 tools/testing/selftests/ftrace/samples/untested.tc |    3 
 tools/testing/selftests/ftrace/samples/xfail.tc    |    3 
 .../selftests/ftrace/test.d/00basic/basic1.tc      |    3 
 .../selftests/ftrace/test.d/00basic/basic2.tc      |    7 +
 .../selftests/ftrace/test.d/00basic/basic3.tc      |    8 +
 .../ftrace/test.d/kprobe/add_and_remove.tc         |   11 +
 .../selftests/ftrace/test.d/kprobe/busy_check.tc   |   13 +
 tools/testing/selftests/ftrace/test.d/template     |    9 +
 17 files changed, 413 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/Makefile
 create mode 100644 tools/testing/selftests/ftrace/README
 create mode 100755 tools/testing/selftests/ftrace/ftracetest
 create mode 100644 tools/testing/selftests/ftrace/samples/fail.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/pass.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/unresolved.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/unsupported.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/untested.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/xfail.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/template

--

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v5 1/4] ftracetest: Initial commit for ftracetest
  2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
@ 2014-09-22 23:42 ` Masami Hiramatsu
  2014-09-23 13:36   ` Steven Rostedt
  2014-09-22 23:42 ` [PATCH v5 2/4] ftracetest: Add ftrace basic testcases Masami Hiramatsu
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-22 23:42 UTC (permalink / raw)
  To: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Namhyung Kim, Fengguang Wu, Ingo Molnar
  Cc: Shuah Khan, Linux Kernel Mailing List

ftracetest is a collection of testcase shell-scripts for ftrace.
To avoid regressions of ftrace, these testcases check correct
ftrace behaviors. If someone would like to add any features on
ftrace, the patch series should have at least one testcase for
checking the new behavior.

Changes in v5:
 - Fix a TODO item, since this already integrated to kselftest.
 - Print the test name at the first line.

Changes in v4:
 - Move this under selftests. :)
 - Add a copyright and note of GPLv2.
 - Fix documents acconding to Steven's comments.
 - Fix a small bug pointed by Namhyng.

Changes in v3:
 - Use "." instead of "source".
 - Don't use -e option for echo since dash doesn't support it.

Changes in v2:
 - Remove unneeded 'function' keyword.
 - Add abspath and find_testcases.
 - Make OPT_TEST_CASES a local var.
 - Ensure given testcase ended with .tc.
 - Accept a directory option which has multiple testcases.
 - Change [PASSED]/[FAILED] to [PASS]/[FAIL]
 - Change the basic shell to sh (dash).

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Acked-by: Shuah Khan <shuahkh@osg.samsung.com>
---
 MAINTAINERS                                    |    1 
 tools/testing/selftests/Makefile               |    1 
 tools/testing/selftests/ftrace/Makefile        |    7 +
 tools/testing/selftests/ftrace/README          |   45 +++++++
 tools/testing/selftests/ftrace/ftracetest      |  159 ++++++++++++++++++++++++
 tools/testing/selftests/ftrace/test.d/template |    4 +
 6 files changed, 217 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/Makefile
 create mode 100644 tools/testing/selftests/ftrace/README
 create mode 100755 tools/testing/selftests/ftrace/ftracetest
 create mode 100644 tools/testing/selftests/ftrace/test.d/template

diff --git a/MAINTAINERS b/MAINTAINERS
index 5e7866a..3334687 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9295,6 +9295,7 @@ F:	include/*/ftrace.h
 F:	include/linux/trace*.h
 F:	include/trace/
 F:	kernel/trace/
+F:	tools/testing/selftests/ftrace/
 
 TRIVIAL PATCHES
 M:	Jiri Kosina <trivial@kernel.org>
diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index 36ff2e4..45f145c 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -14,6 +14,7 @@ TARGETS += powerpc
 TARGETS += user
 TARGETS += sysctl
 TARGETS += firmware
+TARGETS += ftrace
 
 TARGETS_HOTPLUG = cpu-hotplug
 TARGETS_HOTPLUG += memory-hotplug
diff --git a/tools/testing/selftests/ftrace/Makefile b/tools/testing/selftests/ftrace/Makefile
new file mode 100644
index 0000000..76cc9f1
--- /dev/null
+++ b/tools/testing/selftests/ftrace/Makefile
@@ -0,0 +1,7 @@
+all:
+
+run_tests:
+	@/bin/sh ./ftracetest || echo "ftrace selftests: [FAIL]"
+
+clean:
+	rm -rf logs/*
diff --git a/tools/testing/selftests/ftrace/README b/tools/testing/selftests/ftrace/README
new file mode 100644
index 0000000..b8631f0
--- /dev/null
+++ b/tools/testing/selftests/ftrace/README
@@ -0,0 +1,45 @@
+Linux Ftrace Testcases
+
+This is a collection of testcases for ftrace tracing feature in the Linux
+kernel. Since ftrace exports interfaces via the debugfs, we just need
+shell scripts for testing. Feel free to add new test cases.
+
+Running the ftrace testcases
+============================
+
+At first, you need to be the root user to run this script.
+To run all testcases:
+
+  $ sudo ./ftracetest
+
+To run specific testcases:
+
+  # ./ftracetest test.d/basic3.tc
+
+Or you can also run testcases under given directory:
+
+  # ./ftracetest test.d/kprobe/
+
+Contributing new testcases
+==========================
+
+Copy test.d/template to your testcase (whose filename must have *.tc
+extension) and rewrite the test description line.
+
+ * The working directory of the script is <debugfs>/tracing/.
+
+ * Take care with side effects as the tests are run with root privilege.
+
+ * The tests should not run for a long period of time (more than 1 min.)
+   These are to be unit tests.
+
+ * You can add a directory for your testcases under test.d/ if needed.
+
+ * The test cases should run on dash (busybox shell) for testing on
+   minimal cross-build environments.
+
+TODO
+====
+
+ * Fancy colored output :)
+
diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
new file mode 100755
index 0000000..4c6c2fa
--- /dev/null
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -0,0 +1,159 @@
+#!/bin/sh
+
+# ftracetest - Ftrace test shell scripts
+#
+# Copyright (C) Hitachi Ltd., 2014
+#  Written by Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
+#
+# Released under the terms of the GPL v2.
+
+usage() { # errno [message]
+[ "$2" ] && echo $2
+echo "Usage: ftracetest [options] [testcase(s)] [testcase-directory(s)]"
+echo " Options:"
+echo "		-h|--help  Show help message"
+echo "		-k|--keep  Keep passed test logs"
+echo "		-d|--debug Debug mode (trace all shell commands)"
+exit $1
+}
+
+errexit() { # message
+  echo "Error: $1" 1>&2
+  exit 1
+}
+
+# Ensuring user privilege
+if [ `id -u` -ne 0 ]; then
+  errexit "this must be run by root user"
+fi
+
+# Utilities
+absdir() { # file_path
+  (cd `dirname $1`; pwd)
+}
+
+abspath() {
+  echo `absdir $1`/`basename $1`
+}
+
+find_testcases() { #directory
+  echo `find $1 -name \*.tc`
+}
+
+parse_opts() { # opts
+  local OPT_TEST_CASES=
+  local OPT_TEST_DIR=
+
+  while [ "$1" ]; do
+    case "$1" in
+    --help|-h)
+      usage 0
+    ;;
+    --keep|-k)
+      KEEP_LOG=1
+      shift 1
+    ;;
+    --debug|-d)
+      DEBUG=1
+      shift 1
+    ;;
+    *.tc)
+      if [ -f "$1" ]; then
+        OPT_TEST_CASES="$OPT_TEST_CASES `abspath $1`"
+        shift 1
+      else
+        usage 1 "$1 is not a testcase"
+      fi
+      ;;
+    *)
+      if [ -d "$1" ]; then
+        OPT_TEST_DIR=`abspath $1`
+        OPT_TEST_CASES="$OPT_TEST_CASES `find_testcases $OPT_TEST_DIR`"
+        shift 1
+      else
+        usage 1 "Invalid option ($1)"
+      fi
+    ;;
+    esac
+  done
+  if [ "$OPT_TEST_CASES" ]; then
+    TEST_CASES=$OPT_TEST_CASES
+  fi
+}
+
+# Parameters
+DEBUGFS_DIR=`grep debugfs /proc/mounts | cut -f2 -d' '`
+TRACING_DIR=$DEBUGFS_DIR/tracing
+TOP_DIR=`absdir $0`
+TEST_DIR=$TOP_DIR/test.d
+TEST_CASES=`find_testcases $TEST_DIR`
+LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`/
+KEEP_LOG=0
+DEBUG=0
+# Parse command-line options
+parse_opts $*
+
+[ $DEBUG -ne 0 ] && set -x
+
+# Verify parameters
+if [ -z "$DEBUGFS_DIR" -o ! -d "$TRACING_DIR" ]; then
+  errexit "No ftrace directory found"
+fi
+
+# Preparing logs
+LOG_FILE=$LOG_DIR/ftracetest.log
+mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
+date > $LOG_FILE
+prlog() { # messages
+  echo "$@" | tee -a $LOG_FILE
+}
+catlog() { #file
+  cat $1 | tee -a $LOG_FILE
+}
+prlog "=== Ftrace unit tests ==="
+
+
+# Testcase management
+PASSED_CASES=
+FAILED_CASES=
+CASENO=0
+testcase() { # testfile
+  CASENO=$((CASENO+1))
+  prlog -n "[$CASENO]"`grep "^#[ \t]*description:" $1 | cut -f2 -d:`
+}
+failed() {
+  prlog "	[FAIL]"
+  FAILED_CASES="$FAILED_CASES $CASENO"
+}
+passed() {
+  prlog "	[PASS]"
+  PASSED_CASES="$PASSED_CASES $CASENO"
+}
+
+
+# Run one test case
+run_test() { # testfile
+  local testname=`basename $1`
+  local testlog=`mktemp --tmpdir=$LOG_DIR ${testname}-XXXXXX.log`
+  testcase $1
+  echo "execute: "$1 > $testlog
+  (cd $TRACING_DIR; set -x ; . $1) >> $testlog 2>&1
+  ret=$?
+  if [ $ret -ne 0 ]; then
+    failed
+    catlog $testlog
+  else
+    passed
+    [ $KEEP_LOG -eq 0 ] && rm $testlog
+  fi
+}
+
+# Main loop
+for t in $TEST_CASES; do
+  run_test $t
+done
+prlog ""
+prlog "# of passed: " `echo $PASSED_CASES | wc -w`
+prlog "# of failed: " `echo $FAILED_CASES | wc -w`
+
+test -z "$FAILED_CASES" # if no error, return 0
diff --git a/tools/testing/selftests/ftrace/test.d/template b/tools/testing/selftests/ftrace/test.d/template
new file mode 100644
index 0000000..ce5f735
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/template
@@ -0,0 +1,4 @@
+#!/bin/sh
+# description: %HERE DESCRIBE WHAT THIS DOES%
+# you have to add ".tc" extention for your testcase file
+exit 0 # Return 0 if the test is passed, otherwise return !0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v5 2/4] ftracetest: Add ftrace basic testcases
  2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
@ 2014-09-22 23:42 ` Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 3/4] ftracetest: Add kprobe " Masami Hiramatsu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-22 23:42 UTC (permalink / raw)
  To: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Namhyung Kim, Fengguang Wu, Ingo Molnar
  Cc: Linux Kernel Mailing List

Add ftrace basic testcases. This just checks ftrace debugfs
interface works as it is designed.

Changes in v2:
  - Change shell to sh instead of bash.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
 .../selftests/ftrace/test.d/00basic/basic1.tc      |    3 +++
 .../selftests/ftrace/test.d/00basic/basic2.tc      |    6 ++++++
 .../selftests/ftrace/test.d/00basic/basic3.tc      |    8 ++++++++
 3 files changed, 17 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic3.tc

diff --git a/tools/testing/selftests/ftrace/test.d/00basic/basic1.tc b/tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
new file mode 100644
index 0000000..9980ff1
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
@@ -0,0 +1,3 @@
+#!/bin/sh
+# description: Basic trace file check
+test -f README -a -f trace -a -f tracing_on -a -f trace_pipe
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc b/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
new file mode 100644
index 0000000..b04f30d
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
@@ -0,0 +1,6 @@
+#!/bin/sh
+# description: Basic test for tracers
+for t in `cat available_tracers`; do
+  echo $t > current_tracer || exit 1
+done
+echo nop > current_tracer
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc b/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
new file mode 100644
index 0000000..0c1a3a2
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
@@ -0,0 +1,8 @@
+#!/bin/sh
+# description: Basic trace clock test
+[ -f trace_clock ] || exit 1
+for c in `cat trace_clock | tr  -d \[\]`; do
+  echo $c > trace_clock || exit 1
+  grep '\['$c'\]' trace_clock || exit 1
+done
+echo local > trace_clock


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v5 3/4] ftracetest: Add kprobe basic testcases
  2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 2/4] ftracetest: Add ftrace basic testcases Masami Hiramatsu
@ 2014-09-22 23:42 ` Masami Hiramatsu
  2014-09-22 23:42 ` [PATCH v5 4/4] ftracetest: Add POSIX.3 standard and XFAIL result codes Masami Hiramatsu
  2014-09-23  0:32 ` [PATCH v5 0/4] ftrace: Add a ftrace test collection Namhyung Kim
  4 siblings, 0 replies; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-22 23:42 UTC (permalink / raw)
  To: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Namhyung Kim, Fengguang Wu, Ingo Molnar
  Cc: Linux Kernel Mailing List

Add basic testcases for kprobe dynamic events.
This also shows that the ftracetest accepts sub-directory
for new testcases.

Changes in v2:
  - Change shell to sh instead of bash.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
 .../ftrace/test.d/kprobe/add_and_remove.tc         |   11 +++++++++++
 .../selftests/ftrace/test.d/kprobe/busy_check.tc   |   14 ++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc

diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc b/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
new file mode 100644
index 0000000..5ddfb47
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
@@ -0,0 +1,11 @@
+#!/bin/sh
+# description: Kprobe dynamic event - adding and removing
+
+[ -f kprobe_events ] || exit 1
+
+echo 0 > events/enable || exit 1
+echo > kprobe_events || exit 1
+echo p:myevent do_fork > kprobe_events || exit 1
+grep myevent kprobe_events || exit 1
+[ -d events/kprobes/myevent ] || exit 1
+echo > kprobe_events
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc b/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
new file mode 100644
index 0000000..588fde97
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
@@ -0,0 +1,14 @@
+#!/bin/sh
+# description: Kprobe dynamic event - busy event check
+
+[ -f kprobe_events ] || exit 1
+
+echo 0 > events/enable || exit 1
+echo > kprobe_events || exit 1
+echo p:myevent do_fork > kprobe_events || exit 1
+[ -d events/kprobes/myevent ] || exit 1
+echo 1 > events/kprobes/myevent/enable || exit 1
+echo > kprobe_events && exit 1 # this must fail
+echo 0 > events/kprobes/myevent/enable || exit 1
+echo > kprobe_events # this must succeed
+


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v5 4/4] ftracetest: Add POSIX.3 standard and XFAIL result codes
  2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
                   ` (2 preceding siblings ...)
  2014-09-22 23:42 ` [PATCH v5 3/4] ftracetest: Add kprobe " Masami Hiramatsu
@ 2014-09-22 23:42 ` Masami Hiramatsu
  2014-09-23  0:32 ` [PATCH v5 0/4] ftrace: Add a ftrace test collection Namhyung Kim
  4 siblings, 0 replies; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-22 23:42 UTC (permalink / raw)
  To: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Namhyung Kim, Fengguang Wu, Ingo Molnar
  Cc: Linux Kernel Mailing List

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.

Changes in v4:
 - Remove XPASS and short-names.
 - Use real-time signals for result code.
 - Simplify test cases by using errexit option.
 - Add sample scripts for result code.

Changes in v3:
 - Add UNRESOLVED/UNTESTED codes.
 - Fix to handle undefined codes.
 - Add a document about return codes.
 - Fix to show failure logs.
 - Don't use -e option for echo since dash doesn't support it.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
 tools/testing/selftests/ftrace/README              |   37 ++++++
 tools/testing/selftests/ftrace/ftracetest          |  122 ++++++++++++++++++--
 tools/testing/selftests/ftrace/samples/fail.tc     |    4 +
 tools/testing/selftests/ftrace/samples/pass.tc     |    3 
 .../testing/selftests/ftrace/samples/unresolved.tc |    4 +
 .../selftests/ftrace/samples/unsupported.tc        |    3 
 tools/testing/selftests/ftrace/samples/untested.tc |    3 
 tools/testing/selftests/ftrace/samples/xfail.tc    |    3 
 .../selftests/ftrace/test.d/00basic/basic2.tc      |    3 
 .../selftests/ftrace/test.d/00basic/basic3.tc      |    6 -
 .../ftrace/test.d/kprobe/add_and_remove.tc         |   12 +-
 .../selftests/ftrace/test.d/kprobe/busy_check.tc   |   15 +-
 tools/testing/selftests/ftrace/test.d/template     |    5 +
 13 files changed, 187 insertions(+), 33 deletions(-)
 create mode 100644 tools/testing/selftests/ftrace/samples/fail.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/pass.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/unresolved.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/unsupported.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/untested.tc
 create mode 100644 tools/testing/selftests/ftrace/samples/xfail.tc

diff --git a/tools/testing/selftests/ftrace/README b/tools/testing/selftests/ftrace/README
index b8631f0..182e76f 100644
--- a/tools/testing/selftests/ftrace/README
+++ b/tools/testing/selftests/ftrace/README
@@ -38,6 +38,43 @@ extension) and rewrite the test description line.
  * The test cases should run on dash (busybox shell) for testing on
    minimal cross-build environments.
 
+ * Note that the tests are run with "set -e" (errexit) option. If any
+   command fails, the test will be terminated immediately.
+
+ * The tests can return some result codes instead of pass or fail by
+   using exit_unresolved, exit_untested, exit_unsupported and exit_xfail.
+
+Result code
+===========
+
+Ftracetest supports following result codes.
+
+ * PASS: The test succeeded as expected. The test which exits with 0 is
+         counted as passed test.
+
+ * FAIL: The test failed, but was expected to succeed. The test which exits
+         with !0 is counted as failed test.
+
+ * UNRESOLVED: The test produced unclear or intermidiate results.
+             for example, the test was interrupted
+                       or the test depends on a previous test, which failed.
+                       or the test was set up incorrectly
+             The test which is in above situation, must call exit_unresolved.
+
+ * UNTESTED: The test was not run, currently just a placeholder.
+             In this case, the test must call exit_untested.
+
+ * UNSUPPORTED: The test failed because of lack of feature.
+               In this case, the test must call exit_unsupported.
+
+ * XFAIL: The test failed, and was expected to fail.
+          To return XFAIL, call exit_xfail from the test.
+
+There are some sample test scripts for result code under samples/.
+You can also run samples as below:
+
+  # ./ftracetest samples/
+
 TODO
 ====
 
diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
index 4c6c2fa..79638a0 100755
--- a/tools/testing/selftests/ftrace/ftracetest
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -114,22 +114,105 @@ prlog "=== Ftrace unit tests ==="
 
 
 # Testcase management
+# Test result codes - Dejagnu extended code
+PASS=0	# The test succeeded.
+FAIL=1	# The test failed, but was expected to succeed.
+UNRESOLVED=2  # The test produced indeterminate results. (e.g. interrupted)
+UNTESTED=3    # The test was not run, currently just a placeholder.
+UNSUPPORTED=4 # The test failed because of lack of feature.
+XFAIL=5	# The test failed, and was expected to fail.
+
+# Accumulations
 PASSED_CASES=
 FAILED_CASES=
+UNRESOLVED_CASES=
+UNTESTED_CASES=
+UNSUPPORTED_CASES=
+XFAILED_CASES=
+UNDEFINED_CASES=
+
 CASENO=0
 testcase() { # testfile
   CASENO=$((CASENO+1))
   prlog -n "[$CASENO]"`grep "^#[ \t]*description:" $1 | cut -f2 -d:`
 }
-failed() {
-  prlog "	[FAIL]"
-  FAILED_CASES="$FAILED_CASES $CASENO"
+
+eval_result() { # retval sigval
+  local retval=$2
+  if [ $2 -eq 0 ]; then
+    test $1 -ne 0 && retval=$FAIL
+  fi
+  case $retval in
+    $PASS)
+      prlog "	[PASS]"
+      PASSED_CASES="$PASSED_CASES $CASENO"
+      return 0
+    ;;
+    $FAIL)
+      prlog "	[FAIL]"
+      FAILED_CASES="$FAILED_CASES $CASENO"
+      return 1 # this is a bug.
+    ;;
+    $UNRESOLVED)
+      prlog "	[UNRESOLVED]"
+      UNRESOLVED_CASES="$UNRESOLVED_CASES $CASENO"
+      return 1 # this is a kind of bug.. something happened.
+    ;;
+    $UNTESTED)
+      prlog "	[UNTESTED]"
+      UNTESTED_CASES="$UNTESTED_CASES $CASENO"
+      return 0
+    ;;
+    $UNSUPPORTED)
+      prlog "	[UNSUPPORTED]"
+      UNSUPPORTED_CASES="$UNSUPPORTED_CASES $CASENO"
+      return 0 # this is not a bug
+    ;;
+    $XFAIL)
+      prlog "	[XFAIL]"
+      XFAILED_CASES="$XFAILED_CASES $CASENO"
+      return 0
+    ;;
+    *)
+      prlog "	[UNDEFINED]"
+      UNDEFINED_CASES="$UNDEFINED_CASES $CASENO"
+      return 1 # this must be a test bug
+    ;;
+  esac
+}
+
+# Signal handling for result codes
+SIG_RESULT=
+SIG_BASE=36	# Use realtime signals
+SIG_PID=$$
+
+SIG_UNRESOLVED=$((SIG_BASE + UNRESOLVED))
+exit_unresolved () {
+  kill -s $SIG_UNRESOLVED $SIG_PID
+  exit 0
+}
+trap 'SIG_RESULT=$UNRESOLVED' $SIG_UNRESOLVED
+
+SIG_UNTESTED=$((SIG_BASE + UNTESTED))
+exit_untested () {
+  kill -s $SIG_UNTESTED $SIG_PID
+  exit 0
 }
-passed() {
-  prlog "	[PASS]"
-  PASSED_CASES="$PASSED_CASES $CASENO"
+trap 'SIG_RESULT=$UNTESTED' $SIG_UNTESTED
+
+SIG_UNSUPPORTED=$((SIG_BASE + UNSUPPORTED))
+exit_unsupported () {
+  kill -s $SIG_UNSUPPORTED $SIG_PID
+  exit 0
 }
+trap 'SIG_RESULT=$UNSUPPORTED' $SIG_UNSUPPORTED
 
+SIG_XFAIL=$((SIG_BASE + XFAIL))
+exit_xfail () {
+  kill -s $SIG_XFAIL $SIG_PID
+  exit 0
+}
+trap 'SIG_RESULT=$XFAIL' $SIG_XFAIL
 
 # Run one test case
 run_test() { # testfile
@@ -137,14 +220,16 @@ run_test() { # testfile
   local testlog=`mktemp --tmpdir=$LOG_DIR ${testname}-XXXXXX.log`
   testcase $1
   echo "execute: "$1 > $testlog
-  (cd $TRACING_DIR; set -x ; . $1) >> $testlog 2>&1
-  ret=$?
-  if [ $ret -ne 0 ]; then
-    failed
-    catlog $testlog
-  else
-    passed
+  SIG_RESULT=0
+  # setup PID and PPID, $$ is not updated.
+  (cd $TRACING_DIR; read PID _ < /proc/self/stat ;
+   set -e; set -x; . $1) >> $testlog 2>&1
+  eval_result $? $SIG_RESULT
+  if [ $? -eq 0 ]; then
+    # Remove test log if the test was done as it was expected.
     [ $KEEP_LOG -eq 0 ] && rm $testlog
+  else
+    catlog $testlog
   fi
 }
 
@@ -152,8 +237,15 @@ run_test() { # testfile
 for t in $TEST_CASES; do
   run_test $t
 done
+
 prlog ""
 prlog "# of passed: " `echo $PASSED_CASES | wc -w`
 prlog "# of failed: " `echo $FAILED_CASES | wc -w`
-
-test -z "$FAILED_CASES" # if no error, return 0
+prlog "# of unresolved: " `echo $UNRESOLVED_CASES | wc -w`
+prlog "# of untested: " `echo $UNTESTED_CASES | wc -w`
+prlog "# of unsupported: " `echo $UNSUPPORTED_CASES | wc -w`
+prlog "# of xfailed: " `echo $XFAILED_CASES | wc -w`
+prlog "# of undefined(test bug): " `echo $UNDEFINED_CASES | wc -w`
+
+# if no error, return 0
+test -z "$FAILED_CASES$UNDEFINED_CASES$UNRESOLVED_CASES"
diff --git a/tools/testing/selftests/ftrace/samples/fail.tc b/tools/testing/selftests/ftrace/samples/fail.tc
new file mode 100644
index 0000000..15e35b9
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/fail.tc
@@ -0,0 +1,4 @@
+#!/bin/sh
+# description: failure-case example
+cat non-exist-file
+echo "this is not executed"
diff --git a/tools/testing/selftests/ftrace/samples/pass.tc b/tools/testing/selftests/ftrace/samples/pass.tc
new file mode 100644
index 0000000..d015493
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/pass.tc
@@ -0,0 +1,3 @@
+#!/bin/sh
+# description: pass-case example
+return 0
diff --git a/tools/testing/selftests/ftrace/samples/unresolved.tc b/tools/testing/selftests/ftrace/samples/unresolved.tc
new file mode 100644
index 0000000..41e99d3
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/unresolved.tc
@@ -0,0 +1,4 @@
+#!/bin/sh
+# description: unresolved-case example
+trap exit_unresolved INT
+kill -INT $PID
diff --git a/tools/testing/selftests/ftrace/samples/unsupported.tc b/tools/testing/selftests/ftrace/samples/unsupported.tc
new file mode 100644
index 0000000..45910ff
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/unsupported.tc
@@ -0,0 +1,3 @@
+#!/bin/sh
+# description: unsupported-case example
+exit_unsupported
diff --git a/tools/testing/selftests/ftrace/samples/untested.tc b/tools/testing/selftests/ftrace/samples/untested.tc
new file mode 100644
index 0000000..35a4594
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/untested.tc
@@ -0,0 +1,3 @@
+#!/bin/sh
+# description: untested-case example
+exit_untested
diff --git a/tools/testing/selftests/ftrace/samples/xfail.tc b/tools/testing/selftests/ftrace/samples/xfail.tc
new file mode 100644
index 0000000..9dd3953
--- /dev/null
+++ b/tools/testing/selftests/ftrace/samples/xfail.tc
@@ -0,0 +1,3 @@
+#!/bin/sh
+# description: xfail-case example
+cat non-exist-file || exit_xfail
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc b/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
index b04f30d..bf9a7b0 100644
--- a/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
+++ b/tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
@@ -1,6 +1,7 @@
 #!/bin/sh
 # description: Basic test for tracers
+test -f available_tracers
 for t in `cat available_tracers`; do
-  echo $t > current_tracer || exit 1
+  echo $t > current_tracer
 done
 echo nop > current_tracer
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc b/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
index 0c1a3a2..bde6625 100644
--- a/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
+++ b/tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
@@ -1,8 +1,8 @@
 #!/bin/sh
 # description: Basic trace clock test
-[ -f trace_clock ] || exit 1
+test -f trace_clock
 for c in `cat trace_clock | tr  -d \[\]`; do
-  echo $c > trace_clock || exit 1
-  grep '\['$c'\]' trace_clock || exit 1
+  echo $c > trace_clock
+  grep '\['$c'\]' trace_clock
 done
 echo local > trace_clock
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc b/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
index 5ddfb47..1b8b665 100644
--- a/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
@@ -1,11 +1,11 @@
 #!/bin/sh
 # description: Kprobe dynamic event - adding and removing
 
-[ -f kprobe_events ] || exit 1
+[ -f kprobe_events ] || exit_unsupported # this is configurable
 
-echo 0 > events/enable || exit 1
-echo > kprobe_events || exit 1
-echo p:myevent do_fork > kprobe_events || exit 1
-grep myevent kprobe_events || exit 1
-[ -d events/kprobes/myevent ] || exit 1
+echo 0 > events/enable
+echo > kprobe_events
+echo p:myevent do_fork > kprobe_events
+grep myevent kprobe_events
+test -d events/kprobes/myevent
 echo > kprobe_events
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc b/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
index 588fde97..b55c840 100644
--- a/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
@@ -1,14 +1,13 @@
 #!/bin/sh
 # description: Kprobe dynamic event - busy event check
 
-[ -f kprobe_events ] || exit 1
+[ -f kprobe_events ] || exit_unsupported
 
-echo 0 > events/enable || exit 1
-echo > kprobe_events || exit 1
-echo p:myevent do_fork > kprobe_events || exit 1
-[ -d events/kprobes/myevent ] || exit 1
-echo 1 > events/kprobes/myevent/enable || exit 1
+echo 0 > events/enable
+echo > kprobe_events
+echo p:myevent do_fork > kprobe_events
+test -d events/kprobes/myevent
+echo 1 > events/kprobes/myevent/enable
 echo > kprobe_events && exit 1 # this must fail
-echo 0 > events/kprobes/myevent/enable || exit 1
+echo 0 > events/kprobes/myevent/enable
 echo > kprobe_events # this must succeed
-
diff --git a/tools/testing/selftests/ftrace/test.d/template b/tools/testing/selftests/ftrace/test.d/template
index ce5f735..5448f7a 100644
--- a/tools/testing/selftests/ftrace/test.d/template
+++ b/tools/testing/selftests/ftrace/test.d/template
@@ -1,4 +1,9 @@
 #!/bin/sh
 # description: %HERE DESCRIBE WHAT THIS DOES%
 # you have to add ".tc" extention for your testcase file
+# Note that all tests are run with "errexit" option.
+
 exit 0 # Return 0 if the test is passed, otherwise return !0
+# If the test could not run because of lack of feature, call exit_unsupported
+# If the test returned unclear results, call exit_unresolved
+# If the test is a dummy, or a placeholder, call exit_untested


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v5 0/4] ftrace: Add a ftrace test collection
  2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
                   ` (3 preceding siblings ...)
  2014-09-22 23:42 ` [PATCH v5 4/4] ftracetest: Add POSIX.3 standard and XFAIL result codes Masami Hiramatsu
@ 2014-09-23  0:32 ` Namhyung Kim
  2014-09-23  1:03   ` Steven Rostedt
  4 siblings, 1 reply; 10+ messages in thread
From: Namhyung Kim @ 2014-09-23  0:32 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: Shuah Khan, Tom Zanussi, Oleg Nesterov, Steven Rostedt,
	Fengguang Wu, Ingo Molnar, Linux Kernel Mailing List

On Mon, 22 Sep 2014 23:42:48 +0000, Masami Hiramatsu wrote:
> Hi,
>
> Here is the collection of testcases for ftrace version 5.
> This is just a small update.
>
>   - Fix a TODO item, since this already integrated to kselftest.
>   - Print the test name at the first line.
>   - Add Shuah's acked-by. (Thanks!)
>
> ftracetest is a shell(dash) script for testing ftrace features.
> It will be required to add a unit test for each new feature
> after this is merged, because of preventing regressions.

If I'm not too late.. :)

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung


>
> ---
>
> Masami Hiramatsu (4):
>       ftracetest: Initial commit for ftracetest
>       ftracetest: Add ftrace basic testcases
>       ftracetest: Add kprobe basic testcases
>       ftracetest: Add POSIX.3 standard and XFAIL result codes
>
>
>  MAINTAINERS                                        |    1 
>  tools/testing/selftests/Makefile                   |    1 
>  tools/testing/selftests/ftrace/Makefile            |    7 +
>  tools/testing/selftests/ftrace/README              |   82 +++++++
>  tools/testing/selftests/ftrace/ftracetest          |  251 ++++++++++++++++++++
>  tools/testing/selftests/ftrace/samples/fail.tc     |    4 
>  tools/testing/selftests/ftrace/samples/pass.tc     |    3 
>  .../testing/selftests/ftrace/samples/unresolved.tc |    4 
>  .../selftests/ftrace/samples/unsupported.tc        |    3 
>  tools/testing/selftests/ftrace/samples/untested.tc |    3 
>  tools/testing/selftests/ftrace/samples/xfail.tc    |    3 
>  .../selftests/ftrace/test.d/00basic/basic1.tc      |    3 
>  .../selftests/ftrace/test.d/00basic/basic2.tc      |    7 +
>  .../selftests/ftrace/test.d/00basic/basic3.tc      |    8 +
>  .../ftrace/test.d/kprobe/add_and_remove.tc         |   11 +
>  .../selftests/ftrace/test.d/kprobe/busy_check.tc   |   13 +
>  tools/testing/selftests/ftrace/test.d/template     |    9 +
>  17 files changed, 413 insertions(+)
>  create mode 100644 tools/testing/selftests/ftrace/Makefile
>  create mode 100644 tools/testing/selftests/ftrace/README
>  create mode 100755 tools/testing/selftests/ftrace/ftracetest
>  create mode 100644 tools/testing/selftests/ftrace/samples/fail.tc
>  create mode 100644 tools/testing/selftests/ftrace/samples/pass.tc
>  create mode 100644 tools/testing/selftests/ftrace/samples/unresolved.tc
>  create mode 100644 tools/testing/selftests/ftrace/samples/unsupported.tc
>  create mode 100644 tools/testing/selftests/ftrace/samples/untested.tc
>  create mode 100644 tools/testing/selftests/ftrace/samples/xfail.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
>  create mode 100644 tools/testing/selftests/ftrace/test.d/template
>
> --

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v5 0/4] ftrace: Add a ftrace test collection
  2014-09-23  0:32 ` [PATCH v5 0/4] ftrace: Add a ftrace test collection Namhyung Kim
@ 2014-09-23  1:03   ` Steven Rostedt
  2014-09-23  1:17     ` Namhyung Kim
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Rostedt @ 2014-09-23  1:03 UTC (permalink / raw)
  To: Namhyung Kim, Masami Hiramatsu
  Cc: Shuah Khan, Tom Zanussi, Oleg Nesterov, Fengguang Wu,
	Ingo Molnar, Linux Kernel Mailing List

Ack fot all?  I can add it.

-- Steve


On September 22, 2014 8:32:38 PM GMT-04:00, Namhyung Kim <namhyung@kernel.org> wrote:
>On Mon, 22 Sep 2014 23:42:48 +0000, Masami Hiramatsu wrote:
>> Hi,
>>
>> Here is the collection of testcases for ftrace version 5.
>> This is just a small update.
>>
>>   - Fix a TODO item, since this already integrated to kselftest.
>>   - Print the test name at the first line.
>>   - Add Shuah's acked-by. (Thanks!)
>>
>> ftracetest is a shell(dash) script for testing ftrace features.
>> It will be required to add a unit test for each new feature
>> after this is merged, because of preventing regressions.
>
>If I'm not too late.. :)
>
>Acked-by: Namhyung Kim <namhyung@kernel.org>
>
>Thanks,
>Namhyung
>
>
>>
>> ---
>>
>> Masami Hiramatsu (4):
>>       ftracetest: Initial commit for ftracetest
>>       ftracetest: Add ftrace basic testcases
>>       ftracetest: Add kprobe basic testcases
>>       ftracetest: Add POSIX.3 standard and XFAIL result codes
>>
>>
>>  MAINTAINERS                                        |    1 
>>  tools/testing/selftests/Makefile                   |    1 
>>  tools/testing/selftests/ftrace/Makefile            |    7 +
>>  tools/testing/selftests/ftrace/README              |   82 +++++++
>>  tools/testing/selftests/ftrace/ftracetest          |  251
>++++++++++++++++++++
>>  tools/testing/selftests/ftrace/samples/fail.tc     |    4 
>>  tools/testing/selftests/ftrace/samples/pass.tc     |    3 
>>  .../testing/selftests/ftrace/samples/unresolved.tc |    4 
>>  .../selftests/ftrace/samples/unsupported.tc        |    3 
>>  tools/testing/selftests/ftrace/samples/untested.tc |    3 
>>  tools/testing/selftests/ftrace/samples/xfail.tc    |    3 
>>  .../selftests/ftrace/test.d/00basic/basic1.tc      |    3 
>>  .../selftests/ftrace/test.d/00basic/basic2.tc      |    7 +
>>  .../selftests/ftrace/test.d/00basic/basic3.tc      |    8 +
>>  .../ftrace/test.d/kprobe/add_and_remove.tc         |   11 +
>>  .../selftests/ftrace/test.d/kprobe/busy_check.tc   |   13 +
>>  tools/testing/selftests/ftrace/test.d/template     |    9 +
>>  17 files changed, 413 insertions(+)
>>  create mode 100644 tools/testing/selftests/ftrace/Makefile
>>  create mode 100644 tools/testing/selftests/ftrace/README
>>  create mode 100755 tools/testing/selftests/ftrace/ftracetest
>>  create mode 100644 tools/testing/selftests/ftrace/samples/fail.tc
>>  create mode 100644 tools/testing/selftests/ftrace/samples/pass.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/samples/unresolved.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/samples/unsupported.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/samples/untested.tc
>>  create mode 100644 tools/testing/selftests/ftrace/samples/xfail.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/test.d/00basic/basic1.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/test.d/00basic/basic2.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/test.d/00basic/basic3.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/test.d/kprobe/add_and_remove.tc
>>  create mode 100644
>tools/testing/selftests/ftrace/test.d/kprobe/busy_check.tc
>>  create mode 100644 tools/testing/selftests/ftrace/test.d/template
>>
>> --

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v5 0/4] ftrace: Add a ftrace test collection
  2014-09-23  1:03   ` Steven Rostedt
@ 2014-09-23  1:17     ` Namhyung Kim
  0 siblings, 0 replies; 10+ messages in thread
From: Namhyung Kim @ 2014-09-23  1:17 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Masami Hiramatsu, Shuah Khan, Tom Zanussi, Oleg Nesterov,
	Fengguang Wu, Ingo Molnar, Linux Kernel Mailing List

Hi Steve,

On Tue, Sep 23, 2014 at 10:03 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
> Ack fot all?  I can add it.

Yep, please add it for all the patches.

Thanks,
Namhyung

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v5 1/4] ftracetest: Initial commit for ftracetest
  2014-09-22 23:42 ` [PATCH v5 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
@ 2014-09-23 13:36   ` Steven Rostedt
  2014-09-24  1:16     ` Masami Hiramatsu
  0 siblings, 1 reply; 10+ messages in thread
From: Steven Rostedt @ 2014-09-23 13:36 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: Shuah Khan, Tom Zanussi, Oleg Nesterov, Namhyung Kim,
	Fengguang Wu, Ingo Molnar, Shuah Khan, Linux Kernel Mailing List

For future reference:

On Mon, 22 Sep 2014 23:42:50 +0000
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:

> ftracetest is a collection of testcase shell-scripts for ftrace.
> To avoid regressions of ftrace, these testcases check correct
> ftrace behaviors. If someone would like to add any features on
> ftrace, the patch series should have at least one testcase for
> checking the new behavior.
> 
> Changes in v5:
>  - Fix a TODO item, since this already integrated to kselftest.
>  - Print the test name at the first line.
> 
> Changes in v4:
>  - Move this under selftests. :)
>  - Add a copyright and note of GPLv2.
>  - Fix documents acconding to Steven's comments.
>  - Fix a small bug pointed by Namhyng.
> 
> Changes in v3:
>  - Use "." instead of "source".
>  - Don't use -e option for echo since dash doesn't support it.
> 
> Changes in v2:
>  - Remove unneeded 'function' keyword.
>  - Add abspath and find_testcases.
>  - Make OPT_TEST_CASES a local var.
>  - Ensure given testcase ended with .tc.
>  - Accept a directory option which has multiple testcases.
>  - Change [PASSED]/[FAILED] to [PASS]/[FAIL]
>  - Change the basic shell to sh (dash).

Place the version changes after the '---'. They are great for patch
series, but we prefer not to have them in the git logs. The "Link:" tag
should allow people to find the version history of patches if they are
interested. By placing the version updates after the '---', git will
ignore them when pulling them in.

> 
> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> Acked-by: Shuah Khan <shuahkh@osg.samsung.com>
> ---

Also, please have the Signed-off-by be the last tag, otherwise it
screws up my scripts ;-)

-- Steve

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v5 1/4] ftracetest: Initial commit for ftracetest
  2014-09-23 13:36   ` Steven Rostedt
@ 2014-09-24  1:16     ` Masami Hiramatsu
  0 siblings, 0 replies; 10+ messages in thread
From: Masami Hiramatsu @ 2014-09-24  1:16 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Shuah Khan, Tom Zanussi, Oleg Nesterov, Namhyung Kim,
	Fengguang Wu, Ingo Molnar, Shuah Khan, Linux Kernel Mailing List

(2014/09/23 22:36), Steven Rostedt wrote:
> For future reference:
> 
> On Mon, 22 Sep 2014 23:42:50 +0000
> Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
> 
>> ftracetest is a collection of testcase shell-scripts for ftrace.
>> To avoid regressions of ftrace, these testcases check correct
>> ftrace behaviors. If someone would like to add any features on
>> ftrace, the patch series should have at least one testcase for
>> checking the new behavior.
>>
>> Changes in v5:
>>  - Fix a TODO item, since this already integrated to kselftest.
>>  - Print the test name at the first line.
>>
>> Changes in v4:
>>  - Move this under selftests. :)
>>  - Add a copyright and note of GPLv2.
>>  - Fix documents acconding to Steven's comments.
>>  - Fix a small bug pointed by Namhyng.
>>
>> Changes in v3:
>>  - Use "." instead of "source".
>>  - Don't use -e option for echo since dash doesn't support it.
>>
>> Changes in v2:
>>  - Remove unneeded 'function' keyword.
>>  - Add abspath and find_testcases.
>>  - Make OPT_TEST_CASES a local var.
>>  - Ensure given testcase ended with .tc.
>>  - Accept a directory option which has multiple testcases.
>>  - Change [PASSED]/[FAILED] to [PASS]/[FAIL]
>>  - Change the basic shell to sh (dash).
> 
> Place the version changes after the '---'. They are great for patch
> series, but we prefer not to have them in the git logs. The "Link:" tag
> should allow people to find the version history of patches if they are
> interested. By placing the version updates after the '---', git will
> ignore them when pulling them in.

Ah, I see :)
For the next series, I'll do that.

> 
>>
>> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
>> Acked-by: Shuah Khan <shuahkh@osg.samsung.com>
>> ---
> 
> Also, please have the Signed-off-by be the last tag, otherwise it
> screws up my scripts ;-)

OK.

Thank you!

-- 
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-24  1:16 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-22 23:42 [PATCH v5 0/4] ftrace: Add a ftrace test collection Masami Hiramatsu
2014-09-22 23:42 ` [PATCH v5 1/4] ftracetest: Initial commit for ftracetest Masami Hiramatsu
2014-09-23 13:36   ` Steven Rostedt
2014-09-24  1:16     ` Masami Hiramatsu
2014-09-22 23:42 ` [PATCH v5 2/4] ftracetest: Add ftrace basic testcases Masami Hiramatsu
2014-09-22 23:42 ` [PATCH v5 3/4] ftracetest: Add kprobe " Masami Hiramatsu
2014-09-22 23:42 ` [PATCH v5 4/4] ftracetest: Add POSIX.3 standard and XFAIL result codes Masami Hiramatsu
2014-09-23  0:32 ` [PATCH v5 0/4] ftrace: Add a ftrace test collection Namhyung Kim
2014-09-23  1:03   ` Steven Rostedt
2014-09-23  1:17     ` Namhyung Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).