Home | History | Annotate | Download | only in trigger
      1 #!/bin/sh
      2 # description: event trigger - test event enable/disable trigger
      3 
      4 do_reset() {
      5     reset_trigger
      6     echo > set_event
      7     clear_trace
      8 }
      9 
     10 fail() { #msg
     11     do_reset
     12     echo $1
     13     exit $FAIL
     14 }
     15 
     16 if [ ! -f set_event -o ! -d events/sched ]; then
     17     echo "event tracing is not supported"
     18     exit_unsupported
     19 fi
     20 
     21 if [ ! -f events/sched/sched_process_fork/trigger ]; then
     22     echo "event trigger is not supported"
     23     exit_unsupported
     24 fi
     25 
     26 reset_tracer
     27 do_reset
     28 
     29 FEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
     30 if [ -z "$FEATURE" ]; then
     31     echo "event enable/disable trigger is not supported"
     32     exit_unsupported
     33 fi
     34 
     35 echo "Test enable_event trigger"
     36 echo 0 > events/sched/sched_switch/enable
     37 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
     38 ( echo "forked")
     39 if [ `cat events/sched/sched_switch/enable` != '1*' ]; then
     40     fail "enable_event trigger on sched_process_fork did not work"
     41 fi
     42 
     43 reset_trigger
     44 
     45 echo "Test disable_event trigger"
     46 echo 1 > events/sched/sched_switch/enable
     47 echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
     48 ( echo "forked")
     49 if [ `cat events/sched/sched_switch/enable` != '0*' ]; then
     50     fail "disable_event trigger on sched_process_fork did not work"
     51 fi
     52 
     53 reset_trigger
     54 
     55 echo "Test semantic error for event enable/disable trigger"
     56 ! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
     57 ! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
     58 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
     59 ! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
     60 ! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
     61 
     62 do_reset
     63 
     64 exit 0
     65