Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / tools / testing / selftests / ftrace / test.d / event / event-enable.tc
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 # description: event tracing - enable/disable with event level files
4 # flags: instance
5
6 do_reset() {
7     echo > set_event
8     clear_trace
9 }
10
11 fail() { #msg
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 echo 'sched:sched_switch' > set_event
22
23 yield
24
25 count=`cat trace | grep sched_switch | wc -l`
26 if [ $count -eq 0 ]; then
27     fail "sched_switch events are not recorded"
28 fi
29
30 do_reset
31
32 echo 1 > events/sched/sched_switch/enable
33
34 yield
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
45 yield
46
47 count=`cat trace | grep sched_switch | wc -l`
48 if [ $count -ne 0 ]; then
49     fail "sched_switch events should not be recorded"
50 fi
51
52 exit 0