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