On Sat, 22 Apr 2017 06:58:37 -0400 Steven Rostedt <[email protected]> wrote:
> On Sat, 22 Apr 2017 17:41:49 +0900 > Masami Hiramatsu <[email protected]> wrote: > > > On Fri, 21 Apr 2017 23:38:50 -0400 > > Steven Rostedt <[email protected]> wrote: > > > > > From 4464dc867ead3ea14654165ad3ab68263aff7b17 Mon Sep 17 00:00:00 2001 > > > From: "Steven Rostedt (VMware)" <[email protected]> > > > Date: Thu, 20 Apr 2017 12:53:18 -0400 > > > Subject: [PATCH] selftests: ftrace: Allow some tests to be run in a > > > tracing > > > instance > > > > > > An tracing instance has several of the same capabilities as the top level > > > instance, but may be implemented slightly different. Instead of just > > > writing > > > tests that duplicat the same test cases of the top level instance, allow a > > > test to be written for both the top level as well as for an instance. > > > > > > If a test case can be run in both the top level as well as in an tracing > > > instance directory, then it should add a tag "# flags: instance" in the > > > header of the test file. Then after all tests have run, any test that has > > > an > > > instance flag set, will run again within a tracing instance. > > > > > > Cc: Shuah Khan <[email protected]> > > > Cc: Namhyung Kim <[email protected]> > > > Suggestions-from: Masami Hiramatsu <[email protected]> > > > Signed-off-by: Steven Rostedt (VMware) <[email protected]> > > > --- > > > tools/testing/selftests/ftrace/ftracetest | 19 +++++++++++++++++++ > > > 1 file changed, 19 insertions(+) > > > > > > diff --git a/tools/testing/selftests/ftrace/ftracetest > > > b/tools/testing/selftests/ftrace/ftracetest > > > index a8631d9..3215a8d 100755 > > > --- a/tools/testing/selftests/ftrace/ftracetest > > > +++ b/tools/testing/selftests/ftrace/ftracetest > > > @@ -157,6 +157,10 @@ testcase() { # testfile > > > prlog -n "[$CASENO]$desc" > > > } > > > > > > +test_on_instance() { # testfile > > > + grep -q "^#[ \t]*flags:.*instance" $1 > > > > Oops, this needs '&> /dev/null' at the end to suppress its result. > > The -q should keep grep from outputting anything. It does on my end. Do > you see something different? Ah, sorry I missed -q option... OK, it is good! > > > > > > +} > > > + > > > eval_result() { # sigval > > > case $1 in > > > $PASS) > > > @@ -271,6 +275,21 @@ for t in $TEST_CASES; do > > > run_test $t > > > done > > > > > > +# Test on instance loop > > > +FIRST_INSTANCE=0 > > > +for t in $TEST_CASES; do > > > + test_on_instance $t || continue > > > + if [ $FIRST_INSTANCE -eq 0 ]; then > > > + FIRST_INSTANCE=1 > > > + echo "Running tests in a tracing instance:" > > > + fi > > > > Ah, I see. This is important. And I would rather like to show > > it on the description line of each test so that we can check > > which test log is run in an instance. E.g. passing "(instance)" > > message to run_test() and testcase() as the 2nd arg, and print > > it in testlog and console? > > OK, I'll update to v4. Thank you! > > Thanks, > > -- Steve > > > > > Thank you, > > > > > + SAVED_TRACING_DIR=$TRACING_DIR > > > + export TRACING_DIR=`mktemp -d $TRACING_DIR/instances/ftracetest.XXXXXX` > > > + run_test $t > > > + rmdir $TRACING_DIR > > > + TRACING_DIR=$SAVED_TRACING_DIR > > > +done > > > + > > > prlog "" > > > prlog "# of passed: " `echo $PASSED_CASES | wc -w` > > > prlog "# of failed: " `echo $FAILED_CASES | wc -w` > > > -- > > > 2.9.3 > > > > > > > > -- Masami Hiramatsu <[email protected]>

