| #!/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 |