162306a36Sopenharmony_ci#!/bin/sh
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
362306a36Sopenharmony_ci# description: event trigger - test event enable/disable trigger
462306a36Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger
562306a36Sopenharmony_ci# flags: instance
662306a36Sopenharmony_ci
762306a36Sopenharmony_cifail() { #msg
862306a36Sopenharmony_ci    echo $1
962306a36Sopenharmony_ci    exit_fail
1062306a36Sopenharmony_ci}
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciFEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
1362306a36Sopenharmony_ciif [ -z "$FEATURE" ]; then
1462306a36Sopenharmony_ci    echo "event enable/disable trigger is not supported"
1562306a36Sopenharmony_ci    exit_unsupported
1662306a36Sopenharmony_cifi
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciecho "Test enable_event trigger"
1962306a36Sopenharmony_ciecho 0 > events/sched/sched_switch/enable
2062306a36Sopenharmony_ciecho 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
2162306a36Sopenharmony_ci( echo "forked")
2262306a36Sopenharmony_ciif [ `cat events/sched/sched_switch/enable` != '1*' ]; then
2362306a36Sopenharmony_ci    fail "enable_event trigger on sched_process_fork did not work"
2462306a36Sopenharmony_cifi
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cireset_trigger
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciecho "Test disable_event trigger"
2962306a36Sopenharmony_ciecho 1 > events/sched/sched_switch/enable
3062306a36Sopenharmony_ciecho 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
3162306a36Sopenharmony_ci( echo "forked")
3262306a36Sopenharmony_ciif [ `cat events/sched/sched_switch/enable` != '0*' ]; then
3362306a36Sopenharmony_ci    fail "disable_event trigger on sched_process_fork did not work"
3462306a36Sopenharmony_cifi
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cireset_trigger
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciecho "Test semantic error for event enable/disable trigger"
3962306a36Sopenharmony_ci! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
4062306a36Sopenharmony_ci! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
4162306a36Sopenharmony_ciecho 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
4262306a36Sopenharmony_ci! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
4362306a36Sopenharmony_ci! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciexit 0
46