trigger-eventonoff.tc 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/sh
  2. # description: event trigger - test event enable/disable trigger
  3. do_reset() {
  4. reset_trigger
  5. echo > set_event
  6. clear_trace
  7. }
  8. fail() { #msg
  9. do_reset
  10. echo $1
  11. exit $FAIL
  12. }
  13. if [ ! -f set_event -o ! -d events/sched ]; then
  14. echo "event tracing is not supported"
  15. exit_unsupported
  16. fi
  17. if [ ! -f events/sched/sched_process_fork/trigger ]; then
  18. echo "event trigger is not supported"
  19. exit_unsupported
  20. fi
  21. reset_tracer
  22. do_reset
  23. FEATURE=`grep enable_event events/sched/sched_process_fork/trigger`
  24. if [ -z "$FEATURE" ]; then
  25. echo "event enable/disable trigger is not supported"
  26. exit_unsupported
  27. fi
  28. echo "Test enable_event trigger"
  29. echo 0 > events/sched/sched_switch/enable
  30. echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
  31. ( echo "forked")
  32. if [ `cat events/sched/sched_switch/enable` != '1*' ]; then
  33. fail "enable_event trigger on sched_process_fork did not work"
  34. fi
  35. reset_trigger
  36. echo "Test disable_event trigger"
  37. echo 1 > events/sched/sched_switch/enable
  38. echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
  39. ( echo "forked")
  40. if [ `cat events/sched/sched_switch/enable` != '0*' ]; then
  41. fail "disable_event trigger on sched_process_fork did not work"
  42. fi
  43. reset_trigger
  44. echo "Test semantic error for event enable/disable trigger"
  45. ! echo 'enable_event:nogroup:noevent' > events/sched/sched_process_fork/trigger
  46. ! echo 'disable_event+1' > events/sched/sched_process_fork/trigger
  47. echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
  48. ! echo 'enable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
  49. ! echo 'disable_event:sched:sched_switch' > events/sched/sched_process_fork/trigger
  50. do_reset
  51. exit 0