Merge tag 'x86_microcode_for_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / tools / testing / selftests / ftrace / test.d / trigger / trigger-eventonoff.tc
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 # description: event trigger - test event enable/disable trigger
4 # flags: instance
5
6 fail() { #msg
7     echo $1
8     exit_fail
9 }
10
11 if [ ! -f set_event -o ! -d events/sched ]; then
12     echo "event tracing is not supported"
13     exit_unsupported
14 fi
15
16 if [ ! -f events/sched/sched_process_fork/trigger ]; then
17     echo "event trigger is not supported"
18     exit_unsupported
19 fi
20
21 FEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
22 if [ -z "$FEATURE" ]; then
23     echo "event enable/disable trigger is not supported"
24     exit_unsupported
25 fi
26
27 echo "Test enable_event trigger"
28 echo 0 > events/sched/sched_switch/enable
29 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
30 ( echo "forked")
31 if [ `cat events/sched/sched_switch/enable` != '1*' ]; then
32     fail "enable_event trigger on sched_process_fork did not work"
33 fi
34
35 reset_trigger
36
37 echo "Test disable_event trigger"
38 echo 1 > events/sched/sched_switch/enable
39 echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
40 ( echo "forked")
41 if [ `cat events/sched/sched_switch/enable` != '0*' ]; then
42     fail "disable_event trigger on sched_process_fork did not work"
43 fi
44
45 reset_trigger
46
47 echo "Test semantic error for event enable/disable trigger"
48 ! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
49 ! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
50 echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
51 ! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
52 ! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
53
54 exit 0