18c2ecf20Sopenharmony_ci#!/bin/sh
28c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
38c2ecf20Sopenharmony_ci# description: event trigger - test event enable/disable trigger
48c2ecf20Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger
58c2ecf20Sopenharmony_ci# flags: instance
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cifail() { #msg
88c2ecf20Sopenharmony_ci    echo $1
98c2ecf20Sopenharmony_ci    exit_fail
108c2ecf20Sopenharmony_ci}
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciFEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
138c2ecf20Sopenharmony_ciif [ -z "$FEATURE" ]; then
148c2ecf20Sopenharmony_ci    echo "event enable/disable trigger is not supported"
158c2ecf20Sopenharmony_ci    exit_unsupported
168c2ecf20Sopenharmony_cifi
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciecho "Test enable_event trigger"
198c2ecf20Sopenharmony_ciecho 0 > events/sched/sched_switch/enable
208c2ecf20Sopenharmony_ciecho 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
218c2ecf20Sopenharmony_ci( echo "forked")
228c2ecf20Sopenharmony_ciif [ `cat events/sched/sched_switch/enable` != '1*' ]; then
238c2ecf20Sopenharmony_ci    fail "enable_event trigger on sched_process_fork did not work"
248c2ecf20Sopenharmony_cifi
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cireset_trigger
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciecho "Test disable_event trigger"
298c2ecf20Sopenharmony_ciecho 1 > events/sched/sched_switch/enable
308c2ecf20Sopenharmony_ciecho 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
318c2ecf20Sopenharmony_ci( echo "forked")
328c2ecf20Sopenharmony_ciif [ `cat events/sched/sched_switch/enable` != '0*' ]; then
338c2ecf20Sopenharmony_ci    fail "disable_event trigger on sched_process_fork did not work"
348c2ecf20Sopenharmony_cifi
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cireset_trigger
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciecho "Test semantic error for event enable/disable trigger"
398c2ecf20Sopenharmony_ci! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
408c2ecf20Sopenharmony_ci! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
418c2ecf20Sopenharmony_ciecho 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
428c2ecf20Sopenharmony_ci! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
438c2ecf20Sopenharmony_ci! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciexit 0
46