summaryrefslogtreecommitdiff
path: root/ftrace
diff options
context:
space:
mode:
Diffstat (limited to 'ftrace')
-rw-r--r--ftrace/Makefile6
-rw-r--r--ftrace/test.d/00basic/basic4.tc2
-rw-r--r--ftrace/test.d/event/event-enable.tc15
-rw-r--r--ftrace/test.d/event/subsystem-enable.tc15
-rw-r--r--ftrace/test.d/event/toplevel-enable.tc15
-rw-r--r--ftrace/test.d/ftrace/fgraph-filter-stack.tc6
-rw-r--r--ftrace/test.d/ftrace/fgraph-filter.tc2
-rw-r--r--ftrace/test.d/ftrace/func_profiler.tc2
-rw-r--r--ftrace/test.d/kprobe/add_and_remove.tc2
-rw-r--r--ftrace/test.d/kprobe/busy_check.tc2
-rw-r--r--ftrace/test.d/kprobe/kprobe_args.tc2
-rw-r--r--ftrace/test.d/kprobe/kprobe_ftrace.tc14
-rw-r--r--ftrace/test.d/kprobe/kretprobe_args.tc2
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