Merge tag 'trace-seq-buf-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/roste...
[cascardo/linux.git] / tools / testing / selftests / ftrace / test.d / event / event-enable.tc
1 #!/bin/sh
2 # description: event tracing - enable/disable with event level files
3
4 do_reset() {
5     echo > set_event
6     clear_trace
7 }
8
9 fail() { #msg
10     do_reset
11     echo $1
12     exit -1
13 }
14
15 if [ ! -f set_event -o ! -d events/sched ]; then
16     echo "event tracing is not supported"
17     exit_unsupported
18 fi
19
20 reset_tracer
21 do_reset
22
23 echo 'sched:sched_switch' > set_event
24 usleep 1
25
26 count=`cat trace | grep sched_switch | wc -l`
27 if [ $count -eq 0 ]; then
28     fail "sched_switch events are not recorded"
29 fi
30
31 do_reset
32
33 echo 1 > events/sched/sched_switch/enable
34 usleep 1
35
36 count=`cat trace | grep sched_switch | wc -l`
37 if [ $count -eq 0 ]; then
38     fail "sched_switch events are not recorded"
39 fi
40
41 do_reset
42
43 echo 0 > events/sched/sched_switch/enable
44 usleep 1
45
46 count=`cat trace | grep sched_switch | wc -l`
47 if [ $count -ne 0 ]; then
48     fail "sched_switch events should not be recorded"
49 fi
50
51 do_reset
52
53 exit 0