]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - tools/testing/selftests/ftrace/test.d/event/event-enable.tc
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-bionic-kernel.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 do_reset
13 echo $1
14 exit $FAIL
15 }
16
17 yield() {
18 ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1
19 }
20
21 if [ ! -f set_event -o ! -d events/sched ]; then
22 echo "event tracing is not supported"
23 exit_unsupported
24 fi
25
26 reset_tracer
27 do_reset
28
29 echo 'sched:sched_switch' > set_event
30
31 yield
32
33 count=`cat trace | grep sched_switch | wc -l`
34 if [ $count -eq 0 ]; then
35 fail "sched_switch events are not recorded"
36 fi
37
38 do_reset
39
40 echo 1 > events/sched/sched_switch/enable
41
42 yield
43
44 count=`cat trace | grep sched_switch | wc -l`
45 if [ $count -eq 0 ]; then
46 fail "sched_switch events are not recorded"
47 fi
48
49 do_reset
50
51 echo 0 > events/sched/sched_switch/enable
52
53 yield
54
55 count=`cat trace | grep sched_switch | wc -l`
56 if [ $count -ne 0 ]; then
57 fail "sched_switch events should not be recorded"
58 fi
59
60 do_reset
61
62 exit 0