Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/ftrace: Add check for ping command for trigger tests

All these tests depend on the ping command and will fail if it is not
found. Allow tests to specify dependencies on programs through the
'requires' field. Add dependency on 'ping' for some of the trigger
tests.

Link: https://lore.kernel.org/all/20221017104312.16af5467@gandalf.local.home/
Reported-by: Akanksha J N <akanksha@linux.vnet.ibm.com>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Suggested-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>

authored by

Naveen N. Rao and committed by
Shuah Khan
4aa4d4de ecc7d67a

+16 -10
+7 -1
tools/testing/selftests/ftrace/test.d/functions
··· 142 142 143 143 check_requires() { # Check required files and tracers 144 144 for i in "$@" ; do 145 + p=${i%:program} 145 146 r=${i%:README} 146 147 t=${i%:tracer} 147 - if [ $t != $i ]; then 148 + if [ $p != $i ]; then 149 + if ! which $p ; then 150 + echo "Required program $p is not found." 151 + exit_unresolved 152 + fi 153 + elif [ $t != $i ]; then 148 154 if ! grep -wq $t available_tracers ; then 149 155 echo "Required tracer $t is not configured." 150 156 exit_unsupported
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-field-variable-support.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test field variable support 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-inter-event-combined-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event combined histogram trigger 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger onchange action 4 - # requires: set_event "onchange(var)":README 4 + # requires: set_event "onchange(var)":README ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onmatch-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger onmatch action 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onmatch-onmax-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger onmatch-onmax action 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onmax-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger onmax action 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger snapshot action 4 - # requires: set_event snapshot events/sched/sched_process_fork/hist "onchange(var)":README "snapshot()":README 4 + # requires: set_event snapshot events/sched/sched_process_fork/hist "onchange(var)":README "snapshot()":README ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-dynstring.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger trace action with dynamic string param 4 - # requires: set_event synthetic_events events/sched/sched_process_exec/hist "char name[]' >> synthetic_events":README 4 + # requires: set_event synthetic_events events/sched/sched_process_exec/hist "char name[]' >> synthetic_events":README ping:program 5 5 6 6 fail() { #msg 7 7 echo $1
+1 -1
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-trace-action-hist.tc
··· 1 1 #!/bin/sh 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 # description: event trigger - test inter-event histogram trigger trace action 4 - # requires: set_event synthetic_events events/sched/sched_process_fork/hist "trace(<synthetic_event>":README 4 + # requires: set_event synthetic_events events/sched/sched_process_fork/hist "trace(<synthetic_event>":README ping:program 5 5 6 6 fail() { #msg 7 7 echo $1