trigger-eventonoff.tc 1.8 KB

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