Re: [PATCH] selftests/ftrace: Check required filter files before running test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 22 Apr 2020 09:21:10 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Wed, 22 Apr 2020 17:58:07 +0800
> Xiao Yang <yangx.jy@xxxxxxxxxxxxxx> wrote:
> 
> > Without CONFIG_DYNAMIC_FTRACE, some tests get failure because required
> > filter files(set_ftrace_filter/available_filter_functions/stack_trace_filter)
> > are missing.  So implement check_filter_file() and make all related tests
> > check required filter files by it.
> > 
> > BTW: set_ftrace_filter and available_filter_functions are introduced together
> > so just check either of them.
> 
> I'm fine with that.
> 
> I'd like an Acked-by from Masami, and then Shauh, can you take this?


This looks good to me too. please pick it up.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you,

> 
> -- Steve
> 
> > 
> > Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx>
> > ---
> >  .../selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc   | 5 +----
> >  .../testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc | 2 ++
> >  .../selftests/ftrace/test.d/ftrace/func-filter-glob.tc      | 2 ++
> >  .../ftrace/test.d/ftrace/func-filter-notrace-pid.tc         | 5 +----
> >  .../selftests/ftrace/test.d/ftrace/func-filter-pid.tc       | 5 +----
> >  .../ftrace/test.d/ftrace/func-filter-stacktrace.tc          | 2 +-
> >  .../selftests/ftrace/test.d/ftrace/func_event_triggers.tc   | 5 +----
> >  .../selftests/ftrace/test.d/ftrace/func_mod_trace.tc        | 2 +-
> >  .../testing/selftests/ftrace/test.d/ftrace/func_profiler.tc | 5 +----
> >  .../selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc  | 5 +----
> >  .../selftests/ftrace/test.d/ftrace/func_stack_tracer.tc     | 2 ++
> >  .../ftrace/test.d/ftrace/func_traceonoff_triggers.tc        | 5 +----
> >  tools/testing/selftests/ftrace/test.d/functions             | 6 ++++++
> >  .../testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc | 2 ++
> >  14 files changed, 23 insertions(+), 30 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > index aefab0c66d54..f59853857ad2 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > @@ -10,10 +10,7 @@ if ! grep -q function_graph available_tracers; then
> >      exit_unsupported
> >  fi
> >  
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  do_reset() {
> >      if [ -e /proc/sys/kernel/stack_tracer_enabled ]; then
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > index c8a5209f2119..d610f47edd90 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > @@ -9,6 +9,8 @@ if ! grep -q function_graph available_tracers; then
> >      exit_unsupported
> >  fi
> >  
> > +check_filter_file set_ftrace_filter
> > +
> >  fail() { # msg
> >      echo $1
> >      exit_fail
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > index f4e92afab14b..28936f434ee5 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > @@ -9,6 +9,8 @@ if ! grep -q function available_tracers; then
> >      exit_unsupported
> >  fi
> >  
> > +check_filter_file set_ftrace_filter
> > +
> >  disable_tracing
> >  clear_trace
> >  
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > index 8aa46a2ea133..71db68a7975f 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > @@ -15,10 +15,7 @@ if [ ! -f set_ftrace_notrace_pid ]; then
> >      exit_unsupported
> >  fi
> >  
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is function tracer not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  do_function_fork=1
> >  
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > index f2ee1e889e13..d58403c4b7cd 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > @@ -16,10 +16,7 @@ if [ ! -f set_ftrace_pid ]; then
> >      exit_unsupported
> >  fi
> >  
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is function tracer not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  do_function_fork=1
> >  
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > index 1a52f2883fe0..b2aff786c1a2 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > @@ -3,7 +3,7 @@
> >  # description: ftrace - stacktrace filter command
> >  # flags: instance
> >  
> > -[ ! -f set_ftrace_filter ] && exit_unsupported
> > +check_filter_file set_ftrace_filter
> >  
> >  echo _do_fork:stacktrace >> set_ftrace_filter
> >  
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > index ca2ffd7957f9..e9b1fd534e96 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > @@ -11,10 +11,7 @@
> >  #
> >  
> >  # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  do_reset() {
> >      reset_ftrace_filter
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > index 9330c873f9fe..1a4b4a442d33 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > @@ -2,7 +2,7 @@
> >  # SPDX-License-Identifier: GPL-2.0
> >  # description: ftrace - function trace on module
> >  
> > -[ ! -f set_ftrace_filter ] && exit_unsupported
> > +check_filter_file set_ftrace_filter
> >  
> >  : "mod: allows to filter a non exist function"
> >  echo 'non_exist_func:mod:non_exist_module' > set_ftrace_filter
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > index dfbae637c60c..a3dadb6b93b4 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > @@ -18,10 +18,7 @@ if ! grep -q function_graph available_tracers; then
> >      exit_unsupported;
> >  fi
> >  
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  if [ ! -f function_profile_enabled ]; then
> >      echo "function_profile_enabled not found, function profiling enabled?"
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > index 51f6e6146bd9..70bad441fa7d 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > @@ -10,10 +10,7 @@
> >  #
> >  
> >  # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  fail() { # mesg
> >      echo $1
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > index b414f0e3c646..51e9e80bc0e6 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > @@ -8,6 +8,8 @@ if [ ! -f stack_trace ]; then
> >    exit_unsupported
> >  fi
> >  
> > +check_filter_file stack_trace_filter
> > +
> >  echo > stack_trace_filter
> >  echo 0 > stack_max_size
> >  echo 1 > /proc/sys/kernel/stack_tracer_enabled
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > index 1947387fe976..3ed173f2944a 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > @@ -11,10 +11,7 @@
> >  #
> >  
> >  # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > -    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > -    exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >  
> >  fail() { # mesg
> >      echo $1
> > diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
> > index 5d4550591ff9..61a3c7e2634d 100644
> > --- a/tools/testing/selftests/ftrace/test.d/functions
> > +++ b/tools/testing/selftests/ftrace/test.d/functions
> > @@ -1,3 +1,9 @@
> > +check_filter_file() { # check filter file introduced by dynamic ftrace
> > +    if [ ! -f "$1" ]; then
> > +        echo "$1 not found? Is dynamic ftrace not set?"
> > +        exit_unsupported
> > +    fi
> > +}
> >  
> >  clear_trace() { # reset trace output
> >      echo > trace
> > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > index 7650a82db3f5..df5072815b87 100644
> > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > @@ -5,6 +5,8 @@
> >  [ -f kprobe_events ] || exit_unsupported # this is configurable
> >  grep "function" available_tracers || exit_unsupported # this is configurable
> >  
> > +check_filter_file set_ftrace_filter
> > +
> >  # prepare
> >  echo nop > current_tracer
> >  echo _do_fork > set_ftrace_filter
> 


-- 
Masami Hiramatsu <mhiramat@xxxxxxxxxx>



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux