1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0 3# description: event trigger - test trigger filter 4# flags: instance 5 6fail() { #msg 7 echo $1 8 exit_fail 9} 10 11if [ ! -f set_event -o ! -d events/sched ]; then 12 echo "event tracing is not supported" 13 exit_unsupported 14fi 15 16if [ ! -f events/sched/sched_process_fork/trigger ]; then 17 echo "event trigger is not supported" 18 exit_unsupported 19fi 20 21echo "Test trigger filter" 22echo 1 > tracing_on 23echo 'traceoff if child_pid == 0' > events/sched/sched_process_fork/trigger 24( echo "forked") 25if [ `cat tracing_on` -ne 1 ]; then 26 fail "traceoff trigger on sched_process_fork did not work" 27fi 28 29reset_trigger 30 31echo "Test semantic error for trigger filter" 32! echo 'traceoff if a' > events/sched/sched_process_fork/trigger 33! echo 'traceoff if common_pid=0' > events/sched/sched_process_fork/trigger 34! echo 'traceoff if common_pid==b' > events/sched/sched_process_fork/trigger 35echo 'traceoff if common_pid == 0' > events/sched/sched_process_fork/trigger 36echo '!traceoff' > events/sched/sched_process_fork/trigger 37! echo 'traceoff if common_pid == child_pid' > events/sched/sched_process_fork/trigger 38echo 'traceoff if common_pid <= 0' > events/sched/sched_process_fork/trigger 39echo '!traceoff' > events/sched/sched_process_fork/trigger 40echo 'traceoff if common_pid >= 0' > events/sched/sched_process_fork/trigger 41echo '!traceoff' > events/sched/sched_process_fork/trigger 42echo 'traceoff if parent_pid >= 0 && child_pid >= 0' > events/sched/sched_process_fork/trigger 43echo '!traceoff' > events/sched/sched_process_fork/trigger 44echo 'traceoff if parent_pid >= 0 || child_pid >= 0' > events/sched/sched_process_fork/trigger 45echo '!traceoff' > events/sched/sched_process_fork/trigger 46 47exit 0 48