Home | History | Annotate | Download | only in trigger
      1 #!/bin/sh
      2 # SPDX-License-Identifier: GPL-2.0
      3 # description: event trigger - test snapshot-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 if [ ! -f snapshot ]; then
     28     echo "snapshot is not supported"
     29     exit_unsupported
     30 fi
     31 
     32 reset_tracer
     33 do_reset
     34 
     35 FEATURE=`grep snapshot events/sched/sched_process_fork/trigger`
     36 if [ -z "$FEATURE" ]; then
     37     echo "snapshot trigger is not supported"
     38     exit_unsupported
     39 fi
     40 
     41 echo "Test snapshot tigger"
     42 echo 0 > snapshot
     43 echo 1 > events/sched/sched_process_fork/enable
     44 ( echo "forked")
     45 echo 'snapshot:1' > events/sched/sched_process_fork/trigger
     46 ( echo "forked")
     47 grep sched_process_fork snapshot > /dev/null || \
     48     fail "snapshot trigger on sched_process_fork did not work"
     49 
     50 reset_trigger
     51 echo 0 > snapshot
     52 echo 0 > events/sched/sched_process_fork/enable
     53 
     54 echo "Test snapshot semantic errors"
     55 
     56 ! echo "snapshot+1" > events/sched/sched_process_fork/trigger
     57 echo "snapshot" > events/sched/sched_process_fork/trigger
     58 ! echo "snapshot" > events/sched/sched_process_fork/trigger
     59 
     60 do_reset
     61 
     62 exit 0
     63