1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3# description: event trigger - test event enable/disable trigger
4# requires: set_event events/sched/sched_process_fork/trigger
5# flags: instance
6
7fail() { #msg
8    echo $1
9    exit_fail
10}
11
12FEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
13if [ -z "$FEATURE" ]; then
14    echo "event enable/disable trigger is not supported"
15    exit_unsupported
16fi
17
18echo "Test enable_event trigger"
19echo 0 > events/sched/sched_switch/enable
20echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
21( echo "forked")
22if [ `cat events/sched/sched_switch/enable` != '1*' ]; then
23    fail "enable_event trigger on sched_process_fork did not work"
24fi
25
26reset_trigger
27
28echo "Test disable_event trigger"
29echo 1 > events/sched/sched_switch/enable
30echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
31( echo "forked")
32if [ `cat events/sched/sched_switch/enable` != '0*' ]; then
33    fail "disable_event trigger on sched_process_fork did not work"
34fi
35
36reset_trigger
37
38echo "Test semantic error for event enable/disable trigger"
39! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
40! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
41echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
42! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
43! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
44
45exit 0
46