#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# description: event trigger - test poll wait on histogram
# requires: set_event events/sched/sched_process_exit/trigger events/sched/sched_process_exit/hist
# flags: instance

POLL=${FTRACETEST_ROOT}/poll

if [ ! -x ${POLL} ]; then
  echo "poll program is not compiled!"
  exit_unresolved
fi

EVENT=events/sched/sched_process_exit/

# Check poll ops is supported. Before implementing poll on hist file, it
# returns soon with POLLIN | POLLOUT, but not POLLPRI.

# This must wait >1 sec and return 1 (timeout).
set +e
${POLL} -I -t 1000 ${EVENT}/hist
ret=$?
set -e
if [ ${ret} != 1 ]; then
  echo "poll on hist file is not supported"
  exit_unsupported
fi

# Test POLLIN
echo > trace
echo 'hist:key=comm if comm =="sleep"' > ${EVENT}/trigger
echo 1 > ${EVENT}/enable

# This sleep command will exit after 2 seconds.
sleep 2 &
BGPID=$!
# if timeout happens, poll returns 1.
${POLL} -I -t 4000 ${EVENT}/hist
echo 0 > tracing_on

if [ -d /proc/${BGPID} ]; then
  echo "poll exits too soon"
  kill -KILL ${BGPID} ||:
  exit_fail
fi

if ! grep -qw "sleep" trace; then
  echo "poll exits before event happens"
  exit_fail
fi

# Test POLLPRI
echo > trace
echo 1 > tracing_on

# This sleep command will exit after 2 seconds.
sleep 2 &
BGPID=$!
# if timeout happens, poll returns 1.
${POLL} -P -t 4000 ${EVENT}/hist
echo 0 > tracing_on

if [ -d /proc/${BGPID} ]; then
  echo "poll exits too soon"
  kill -KILL ${BGPID} ||:
  exit_fail
fi

if ! grep -qw "sleep" trace; then
  echo "poll exits before event happens"
  exit_fail
fi

exit_pass
