1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3# description: event trigger - test inter-event histogram trigger snapshot action
4# requires: set_event snapshot events/sched/sched_process_fork/hist
5
6fail() { #msg
7    echo $1
8    exit_fail
9}
10
11grep -q "onchange(var)" README || exit_unsupported # version issue
12
13grep -q "snapshot()" README || exit_unsupported # version issue
14
15echo "Test snapshot action"
16
17echo 1 > events/sched/enable
18
19echo 'hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio):onchange($newprio).snapshot() if comm=="ping"' >> events/sched/sched_waking/trigger
20
21ping $LOCALHOST -c 3
22nice -n 1 ping $LOCALHOST -c 3
23
24echo 0 > tracing_on
25
26if ! grep -q "changed:" events/sched/sched_waking/hist; then
27    fail "Failed to create onchange action inter-event histogram"
28fi
29
30if ! grep -q "comm=ping" snapshot; then
31    fail "Failed to create snapshot action inter-event histogram"
32fi
33
34exit 0
35