Home | History | Annotate | Download | only in trigger
      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