Commit | Line | Data |
---|---|---|
cfa0963d | 1 | #!/bin/sh |
b2441318 | 2 | # SPDX-License-Identifier: GPL-2.0 |
cfa0963d | 3 | # description: event trigger - test event enable/disable trigger |
ca2958f1 | 4 | # flags: instance |
cfa0963d MH |
5 | |
6 | do_reset() { | |
7 | reset_trigger | |
8 | echo > set_event | |
9 | clear_trace | |
10 | } | |
11 | ||
12 | fail() { #msg | |
13 | do_reset | |
14 | echo $1 | |
15 | exit $FAIL | |
16 | } | |
17 | ||
18 | if [ ! -f set_event -o ! -d events/sched ]; then | |
19 | echo "event tracing is not supported" | |
20 | exit_unsupported | |
21 | fi | |
22 | ||
23 | if [ ! -f events/sched/sched_process_fork/trigger ]; then | |
24 | echo "event trigger is not supported" | |
25 | exit_unsupported | |
26 | fi | |
27 | ||
28 | reset_tracer | |
29 | do_reset | |
30 | ||
31 | FEATURE=`grep enable_event events/sched/sched_process_fork/trigger` | |
32 | if [ -z "$FEATURE" ]; then | |
33 | echo "event enable/disable trigger is not supported" | |
34 | exit_unsupported | |
35 | fi | |
36 | ||
37 | echo "Test enable_event trigger" | |
38 | echo 0 > events/sched/sched_switch/enable | |
39 | echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger | |
40 | ( echo "forked") | |
41 | if [ `cat events/sched/sched_switch/enable` != '1*' ]; then | |
42 | fail "enable_event trigger on sched_process_fork did not work" | |
43 | fi | |
44 | ||
45 | reset_trigger | |
46 | ||
47 | echo "Test disable_event trigger" | |
48 | echo 1 > events/sched/sched_switch/enable | |
49 | echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger | |
50 | ( echo "forked") | |
51 | if [ `cat events/sched/sched_switch/enable` != '0*' ]; then | |
52 | fail "disable_event trigger on sched_process_fork did not work" | |
53 | fi | |
54 | ||
55 | reset_trigger | |
56 | ||
57 | echo "Test semantic error for event enable/disable trigger" | |
58 | ! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger | |
59 | ! echo 'disable_event+1' > events/sched/sched_process_fork/trigger | |
60 | echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger | |
61 | ! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger | |
62 | ! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger | |
63 | ||
64 | do_reset | |
65 | ||
66 | exit 0 |