diff options
Diffstat (limited to 'ftrace')
-rw-r--r-- | ftrace/Makefile | 6 | ||||
-rw-r--r-- | ftrace/test.d/00basic/basic4.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/event/event-enable.tc | 15 | ||||
-rw-r--r-- | ftrace/test.d/event/subsystem-enable.tc | 15 | ||||
-rw-r--r-- | ftrace/test.d/event/toplevel-enable.tc | 15 | ||||
-rw-r--r-- | ftrace/test.d/ftrace/fgraph-filter-stack.tc | 6 | ||||
-rw-r--r-- | ftrace/test.d/ftrace/fgraph-filter.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/ftrace/func_profiler.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/kprobe/add_and_remove.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/kprobe/busy_check.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/kprobe/kprobe_args.tc | 2 | ||||
-rw-r--r-- | ftrace/test.d/kprobe/kprobe_ftrace.tc | 14 | ||||
-rw-r--r-- | ftrace/test.d/kprobe/kretprobe_args.tc | 2 |
13 files changed, 58 insertions, 27 deletions
diff --git a/ftrace/Makefile b/ftrace/Makefile index 76cc9f1..4e6ed13 100644 --- a/ftrace/Makefile +++ b/ftrace/Makefile @@ -1,7 +1,9 @@ all: -run_tests: - @/bin/sh ./ftracetest || echo "ftrace selftests: [FAIL]" +TEST_PROGS := ftracetest +TEST_DIRS := test.d + +include ../lib.mk clean: rm -rf logs/* diff --git a/ftrace/test.d/00basic/basic4.tc b/ftrace/test.d/00basic/basic4.tc index fd9c49a..aa51f6c 100644 --- a/ftrace/test.d/00basic/basic4.tc +++ b/ftrace/test.d/00basic/basic4.tc @@ -2,4 +2,4 @@ # description: Basic event tracing check test -f available_events -a -f set_event -a -d events # check scheduler events are available -grep -q sched available_events && exit 0 || exit -1
\ No newline at end of file +grep -q sched available_events && exit 0 || exit $FAIL diff --git a/ftrace/test.d/event/event-enable.tc b/ftrace/test.d/event/event-enable.tc index 668616d..87eb9d6 100644 --- a/ftrace/test.d/event/event-enable.tc +++ b/ftrace/test.d/event/event-enable.tc @@ -9,7 +9,11 @@ do_reset() { fail() { #msg do_reset echo $1 - exit -1 + exit $FAIL +} + +yield() { + ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1 } if [ ! -f set_event -o ! -d events/sched ]; then @@ -21,7 +25,8 @@ reset_tracer do_reset echo 'sched:sched_switch' > set_event -usleep 1 + +yield count=`cat trace | grep sched_switch | wc -l` if [ $count -eq 0 ]; then @@ -31,7 +36,8 @@ fi do_reset echo 1 > events/sched/sched_switch/enable -usleep 1 + +yield count=`cat trace | grep sched_switch | wc -l` if [ $count -eq 0 ]; then @@ -41,7 +47,8 @@ fi do_reset echo 0 > events/sched/sched_switch/enable -usleep 1 + +yield count=`cat trace | grep sched_switch | wc -l` if [ $count -ne 0 ]; then diff --git a/ftrace/test.d/event/subsystem-enable.tc b/ftrace/test.d/event/subsystem-enable.tc index 655c415..ced27ef 100644 --- a/ftrace/test.d/event/subsystem-enable.tc +++ b/ftrace/test.d/event/subsystem-enable.tc @@ -9,7 +9,11 @@ do_reset() { fail() { #msg do_reset echo $1 - exit -1 + exit $FAIL +} + +yield() { + ping localhost -c 1 || sleep .001 || usleep 1 || sleep 1 } if [ ! -f set_event -o ! -d events/sched ]; then @@ -21,7 +25,8 @@ reset_tracer do_reset echo 'sched:*' > set_event -usleep 1 + +yield count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l` if [ $count -lt 3 ]; then @@ -31,7 +36,8 @@ fi do_reset echo 1 > events/sched/enable -usleep 1 + +yield count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l` if [ $count -lt 3 ]; then @@ -41,7 +47,8 @@ fi do_reset echo 0 > events/sched/enable -usleep 1 + +yield count=`cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l` if [ $count -ne 0 ]; then diff --git a/ftrace/test.d/event/toplevel-enable.tc b/ftrace/test.d/event/toplevel-enable.tc index 4808457..0bb5df3 100644 --- a/ftrace/test.d/event/toplevel-enable.tc +++ b/ftrace/test.d/event/toplevel-enable.tc @@ -9,7 +9,11 @@ do_reset() { fail() { #msg do_reset echo $1 - exit -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 @@ -21,6 +25,9 @@ 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" @@ -29,6 +36,9 @@ 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" @@ -37,6 +47,9 @@ 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" diff --git a/ftrace/test.d/ftrace/fgraph-filter-stack.tc b/ftrace/test.d/ftrace/fgraph-filter-stack.tc index c15e018..15c2dba 100644 --- a/ftrace/test.d/ftrace/fgraph-filter-stack.tc +++ b/ftrace/test.d/ftrace/fgraph-filter-stack.tc @@ -16,7 +16,9 @@ fi do_reset() { reset_tracer - echo 0 > /proc/sys/kernel/stack_tracer_enabled + if [ -e /proc/sys/kernel/stack_tracer_enabled ]; then + echo 0 > /proc/sys/kernel/stack_tracer_enabled + fi enable_tracing clear_trace echo > set_ftrace_filter @@ -25,7 +27,7 @@ do_reset() { fail() { # msg do_reset echo $1 - exit -1 + exit $FAIL } disable_tracing diff --git a/ftrace/test.d/ftrace/fgraph-filter.tc b/ftrace/test.d/ftrace/fgraph-filter.tc index 6af5f63..0ab2189 100644 --- a/ftrace/test.d/ftrace/fgraph-filter.tc +++ b/ftrace/test.d/ftrace/fgraph-filter.tc @@ -17,7 +17,7 @@ do_reset() { fail() { # msg do_reset echo $1 - exit -1 + exit $FAIL } disable_tracing diff --git a/ftrace/test.d/ftrace/func_profiler.tc b/ftrace/test.d/ftrace/func_profiler.tc index 2e719cb..7808336 100644 --- a/ftrace/test.d/ftrace/func_profiler.tc +++ b/ftrace/test.d/ftrace/func_profiler.tc @@ -31,7 +31,7 @@ fail() { # mesg reset_tracer echo > set_ftrace_filter echo $1 - exit -1 + exit $FAIL } echo "Testing function tracer with profiler:" diff --git a/ftrace/test.d/kprobe/add_and_remove.tc b/ftrace/test.d/kprobe/add_and_remove.tc index a5a4262..c3843ed 100644 --- a/ftrace/test.d/kprobe/add_and_remove.tc +++ b/ftrace/test.d/kprobe/add_and_remove.tc @@ -5,7 +5,7 @@ echo 0 > events/enable echo > kprobe_events -echo p:myevent do_fork > kprobe_events +echo p:myevent _do_fork > kprobe_events grep myevent kprobe_events test -d events/kprobes/myevent echo > kprobe_events diff --git a/ftrace/test.d/kprobe/busy_check.tc b/ftrace/test.d/kprobe/busy_check.tc index d8c7bb6..74507db 100644 --- a/ftrace/test.d/kprobe/busy_check.tc +++ b/ftrace/test.d/kprobe/busy_check.tc @@ -5,7 +5,7 @@ echo 0 > events/enable echo > kprobe_events -echo p:myevent do_fork > kprobe_events +echo p:myevent _do_fork > kprobe_events test -d events/kprobes/myevent echo 1 > events/kprobes/myevent/enable echo > kprobe_events && exit 1 # this must fail diff --git a/ftrace/test.d/kprobe/kprobe_args.tc b/ftrace/test.d/kprobe/kprobe_args.tc index c45ee27..64949d4 100644 --- a/ftrace/test.d/kprobe/kprobe_args.tc +++ b/ftrace/test.d/kprobe/kprobe_args.tc @@ -5,7 +5,7 @@ echo 0 > events/enable echo > kprobe_events -echo 'p:testprobe do_fork $stack $stack0 +0($stack)' > kprobe_events +echo 'p:testprobe _do_fork $stack $stack0 +0($stack)' > kprobe_events grep testprobe kprobe_events test -d events/kprobes/testprobe echo 1 > events/kprobes/testprobe/enable diff --git a/ftrace/test.d/kprobe/kprobe_ftrace.tc b/ftrace/test.d/kprobe/kprobe_ftrace.tc index ab41d2b..d6f2f49 100644 --- a/ftrace/test.d/kprobe/kprobe_ftrace.tc +++ b/ftrace/test.d/kprobe/kprobe_ftrace.tc @@ -6,31 +6,31 @@ grep function available_tracers || exit_unsupported # this is configurable # prepare echo nop > current_tracer -echo do_fork > set_ftrace_filter +echo _do_fork > set_ftrace_filter echo 0 > events/enable echo > kprobe_events -echo 'p:testprobe do_fork' > kprobe_events +echo 'p:testprobe _do_fork' > kprobe_events # kprobe on / ftrace off echo 1 > events/kprobes/testprobe/enable echo > trace ( echo "forked") grep testprobe trace -! grep 'do_fork <-' trace +! grep '_do_fork <-' trace # kprobe on / ftrace on echo function > current_tracer echo > trace ( echo "forked") grep testprobe trace -grep 'do_fork <-' trace +grep '_do_fork <-' trace # kprobe off / ftrace on echo 0 > events/kprobes/testprobe/enable echo > trace ( echo "forked") ! grep testprobe trace -grep 'do_fork <-' trace +grep '_do_fork <-' trace # kprobe on / ftrace on echo 1 > events/kprobes/testprobe/enable @@ -38,14 +38,14 @@ echo function > current_tracer echo > trace ( echo "forked") grep testprobe trace -grep 'do_fork <-' trace +grep '_do_fork <-' trace # kprobe on / ftrace off echo nop > current_tracer echo > trace ( echo "forked") grep testprobe trace -! grep 'do_fork <-' trace +! grep '_do_fork <-' trace # cleanup echo nop > current_tracer diff --git a/ftrace/test.d/kprobe/kretprobe_args.tc b/ftrace/test.d/kprobe/kretprobe_args.tc index 3171798..0d09546 100644 --- a/ftrace/test.d/kprobe/kretprobe_args.tc +++ b/ftrace/test.d/kprobe/kretprobe_args.tc @@ -5,7 +5,7 @@ echo 0 > events/enable echo > kprobe_events -echo 'r:testprobe2 do_fork $retval' > kprobe_events +echo 'r:testprobe2 _do_fork $retval' > kprobe_events grep testprobe2 kprobe_events test -d events/kprobes/testprobe2 echo 1 > events/kprobes/testprobe2/enable |