Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5b77be8 authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware)
Browse files

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.

Link: http://lkml.kernel.org/r/20170421233850.1d0e9e05@gandalf.local.home



Cc: Shuah Khan <shuah@kernel.org>
Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent dcc19d28
Loading
Loading
Loading
Loading
+17 −1
Original line number Original line Diff line number Diff line
@@ -150,11 +150,16 @@ XFAILED_CASES=
UNDEFINED_CASES=
UNDEFINED_CASES=
TOTAL_RESULT=0
TOTAL_RESULT=0


INSTANCE=
CASENO=0
CASENO=0
testcase() { # testfile
testcase() { # testfile
  CASENO=$((CASENO+1))
  CASENO=$((CASENO+1))
  desc=`grep "^#[ \t]*description:" $1 | cut -f2 -d:`
  desc=`grep "^#[ \t]*description:" $1 | cut -f2 -d:`
  prlog -n "[$CASENO]$desc"
  prlog -n "[$CASENO]$INSTANCE$desc"
}

test_on_instance() { # testfile
  grep -q "^#[ \t]*flags:.*instance" $1
}
}


eval_result() { # sigval
eval_result() { # sigval
@@ -271,6 +276,17 @@ for t in $TEST_CASES; do
  run_test $t
  run_test $t
done
done


# Test on instance loop
INSTANCE=" (instance) "
for t in $TEST_CASES; do
  test_on_instance $t || continue
  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 ""
prlog "# of passed: " `echo $PASSED_CASES | wc -w`
prlog "# of passed: " `echo $PASSED_CASES | wc -w`
prlog "# of failed: " `echo $FAILED_CASES | wc -w`
prlog "# of failed: " `echo $FAILED_CASES | wc -w`