#!/bin/sh
# description: event tracing - enable/disable with top level files

do_reset() {
    echo > set_event
    clear_trace
}

fail() { #msg
    do_reset
    echo $1
    exit $FAIL
}

yield() {
    ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1
}

if [ ! -f available_events -o ! -f set_event -o ! -d events ]; then
    echo "event tracing is not supported"
    exit_unsupported
fi

reset_tracer
do_reset

echo '*:*' > set_event

yield

count=`cat trace | grep -v ^# | wc -l`
if [ $count -eq 0 ]; then
    fail "none of events are recorded"
fi

do_reset

echo 1 > events/enable

yield

count=`cat trace | grep -v ^# | wc -l`
if [ $count -eq 0 ]; then
    fail "none of events are recorded"
fi

do_reset

echo 0 > events/enable

yield

count=`cat trace | grep -v ^# | wc -l`
if [ $count -ne 0 ]; then
    fail "any of events should not be recorded"
fi

do_reset

exit 0
