On Sun, 30 Oct 2016 15:54:10 +0900 Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > Reset ftrace to initial state before running each test. > This fixes some test cases to enable tracing before starting > trace test. This can avoid false-positive failure when > previous testcase fails while disabling tracing. > > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> > --- > tools/testing/selftests/ftrace/ftracetest | 2 +- > tools/testing/selftests/ftrace/test.d/functions | 25 +++++++++++++++++++++++ > 2 files changed, 26 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest > index 4c6a0bf..a03d366 100755 > --- a/tools/testing/selftests/ftrace/ftracetest > +++ b/tools/testing/selftests/ftrace/ftracetest > @@ -228,7 +228,7 @@ trap 'SIG_RESULT=$XFAIL' $SIG_XFAIL > > __run_test() { # testfile > # setup PID and PPID, $$ is not updated. > - (cd $TRACING_DIR; read PID _ < /proc/self/stat ; set -e; set -x; . $1) > + (cd $TRACING_DIR; read PID _ < /proc/self/stat; set -e; set -x; initialize_ftrace; . $1) > [ $? -ne 0 ] && kill -s $SIG_FAIL $SIG_PID > } > > diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions > index c37262f..fbaf565 100644 > --- a/tools/testing/selftests/ftrace/test.d/functions > +++ b/tools/testing/selftests/ftrace/test.d/functions > @@ -23,3 +23,28 @@ reset_trigger() { # reset all current setting triggers > done > } > > +reset_events_filter() { # reset all current setting filters > + grep -v ^none events/*/*/filter | > + while read line; do > + echo 0 > `echo $line | cut -f1 -d:` > + done > +} > + > +disable_events() { > + echo 0 > events/enable > +} > + > +initialize_ftrace() { # Reset ftrace to initial-state > +# As the initial state, ftrace will be set to nop tracer, > +# no events, no triggers, no filters, no function filters, > +# no probes, and tracing on. > + disable_tracing > + reset_tracer > + reset_trigger > + reset_events_filter > + disable_events > + echo | tee set_ftrace_* set_graph_* stack_trace_filter set_event_pid I just disabled function graph tracing, and this causes every test to fail. tee: set_graph_*: Permission denied -- Steve > + echo > kprobe_events > + echo > uprobe_events > + enable_tracing > +} -- To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html