1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 3 # description: event trigger - test stacktrace-trigger 4 5 do_reset() { 6 reset_trigger 7 echo > set_event 8 clear_trace 9 } 10 11 fail() { #msg 12 do_reset 13 echo $1 14 exit_fail 15 } 16 17 if [ ! -f set_event -o ! -d events/sched ]; then 18 echo "event tracing is not supported" 19 exit_unsupported 20 fi 21 22 if [ ! -f events/sched/sched_process_fork/trigger ]; then 23 echo "event trigger is not supported" 24 exit_unsupported 25 fi 26 27 reset_tracer 28 do_reset 29 30 FEATURE=`grep stacktrace events/sched/sched_process_fork/trigger` 31 if [ -z "$FEATURE" ]; then 32 echo "stacktrace trigger is not supported" 33 exit_unsupported 34 fi 35 36 echo "Test stacktrace tigger" 37 echo 0 > trace 38 echo 0 > options/stacktrace 39 echo 'stacktrace' > events/sched/sched_process_fork/trigger 40 ( echo "forked") 41 grep "<stack trace>" trace > /dev/null || \ 42 fail "stacktrace trigger on sched_process_fork did not work" 43 44 reset_trigger 45 46 echo "Test stacktrace semantic errors" 47 48 ! echo "stacktrace:foo" > events/sched/sched_process_fork/trigger 49 echo "stacktrace" > events/sched/sched_process_fork/trigger 50 ! echo "stacktrace" > events/sched/sched_process_fork/trigger 51 52 do_reset 53 54 exit 0 55