Skip to content

Commit

Permalink
selftests: ftrace: Add check for function-fork before running pid fil…
Browse files Browse the repository at this point in the history
…ter test

Have the func-filter-pid test check for the function-fork option before
testing it. It can still test the pid filtering, but will stop before
testing the function-fork option for children inheriting the pids.
This allows the test to be added before the function-fork feature, but after
a bug fix that triggers one of the bugs the test can cause.

Cc: Namhyung Kim <[email protected]>
Cc: Shuah Khan <[email protected]>
Signed-off-by: Steven Rostedt (VMware) <[email protected]>
  • Loading branch information
rostedt committed Apr 18, 2017
1 parent 093be89 commit 9ed19c7
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,19 @@ if [ ! -f set_ftrace_filter ]; then
exit_unsupported
fi

do_function_fork=1

if [ ! -f options/function-fork ]; then
do_function_fork=0
echo "no option for function-fork found. Option will not be tested."
fi

read PID _ < /proc/self/stat

# default value of function-fork option
orig_value=`grep function-fork trace_options`
if [ $do_function_fork -eq 1 ]; then
# default value of function-fork option
orig_value=`grep function-fork trace_options`
fi

do_reset() {
reset_tracer
Expand All @@ -31,6 +40,10 @@ do_reset() {
echo > set_ftrace_filter
echo > set_ftrace_pid

if [ $do_function_fork -eq 0 ]; then
return
fi

echo $orig_value > trace_options
}

Expand All @@ -53,8 +66,10 @@ do_test() {
echo $PID > set_ftrace_pid
echo function > current_tracer

# don't allow children to be traced
echo nofunction-fork > trace_options
if [ $do_function_fork -eq 1 ]; then
# don't allow children to be traced
echo nofunction-fork > trace_options
fi

enable_tracing
yield
Expand All @@ -70,6 +85,10 @@ do_test() {
disable_tracing
clear_trace

if [ $do_function_fork -eq 0 ]; then
return
fi

# allow children to be traced
echo function-fork > trace_options

Expand Down

0 comments on commit 9ed19c7

Please sign in to comment.