GNU Linux-libre 4.9-gnu1
[releases.git] / tools / testing / selftests / ftrace / test.d / trigger / trigger-eventonoff.tc
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