trigger-stacktrace.tc 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-2.0
  3. # description: event trigger - test stacktrace-trigger
  4. do_reset() {
  5. reset_trigger
  6. echo > set_event
  7. clear_trace
  8. }
  9. fail() { #msg
  10. do_reset
  11. echo $1
  12. exit_fail
  13. }
  14. if [ ! -f set_event -o ! -d events/sched ]; then
  15. echo "event tracing is not supported"
  16. exit_unsupported
  17. fi
  18. if [ ! -f events/sched/sched_process_fork/trigger ]; then
  19. echo "event trigger is not supported"
  20. exit_unsupported
  21. fi
  22. reset_tracer
  23. do_reset
  24. FEATURE=`grep stacktrace events/sched/sched_process_fork/trigger`
  25. if [ -z "$FEATURE" ]; then
  26. echo "stacktrace trigger is not supported"
  27. exit_unsupported
  28. fi
  29. echo "Test stacktrace tigger"
  30. echo 0 > trace
  31. echo 0 > options/stacktrace
  32. echo 'stacktrace' > events/sched/sched_process_fork/trigger
  33. ( echo "forked")
  34. grep "<stack trace>" trace > /dev/null || \
  35. fail "stacktrace trigger on sched_process_fork did not work"
  36. reset_trigger
  37. echo "Test stacktrace semantic errors"
  38. ! echo "stacktrace:foo" > events/sched/sched_process_fork/trigger
  39. echo "stacktrace" > events/sched/sched_process_fork/trigger
  40. ! echo "stacktrace" > events/sched/sched_process_fork/trigger
  41. do_reset
  42. exit 0