summaryrefslogtreecommitdiff
path: root/ftrace/test.d/kprobe
diff options
context:
space:
mode:
authorMilosz Wasilewski <milosz.wasilewski@hackbox.linaro.org>2014-12-11 23:02:10 +0000
committerMilosz Wasilewski <milosz.wasilewski@hackbox.linaro.org>2014-12-11 23:02:10 +0000
commitee83914ac12d243b45bd70572e4acb4d89af8efd (patch)
tree577968289c0967e81480c7fad4c1282854232153 /ftrace/test.d/kprobe
parent4e1989a283f4f9253950de19c98e6120fc450b60 (diff)
Update to commit: 70e71ca0af244f48a5dcf56dc435243792e3a495
from repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git branch: master
Diffstat (limited to 'ftrace/test.d/kprobe')
-rw-r--r--ftrace/test.d/kprobe/add_and_remove.tc1
-rw-r--r--ftrace/test.d/kprobe/busy_check.tc1
-rw-r--r--ftrace/test.d/kprobe/kprobe_args.tc1
-rw-r--r--ftrace/test.d/kprobe/kprobe_ftrace.tc55
-rw-r--r--ftrace/test.d/kprobe/kretprobe_args.tc1
5 files changed, 59 insertions, 0 deletions
diff --git a/ftrace/test.d/kprobe/add_and_remove.tc b/ftrace/test.d/kprobe/add_and_remove.tc
index 1b8b665..a5a4262 100644
--- a/ftrace/test.d/kprobe/add_and_remove.tc
+++ b/ftrace/test.d/kprobe/add_and_remove.tc
@@ -9,3 +9,4 @@ echo p:myevent do_fork > kprobe_events
grep myevent kprobe_events
test -d events/kprobes/myevent
echo > kprobe_events
+clear_trace
diff --git a/ftrace/test.d/kprobe/busy_check.tc b/ftrace/test.d/kprobe/busy_check.tc
index b55c840..d8c7bb6 100644
--- a/ftrace/test.d/kprobe/busy_check.tc
+++ b/ftrace/test.d/kprobe/busy_check.tc
@@ -11,3 +11,4 @@ echo 1 > events/kprobes/myevent/enable
echo > kprobe_events && exit 1 # this must fail
echo 0 > events/kprobes/myevent/enable
echo > kprobe_events # this must succeed
+clear_trace
diff --git a/ftrace/test.d/kprobe/kprobe_args.tc b/ftrace/test.d/kprobe/kprobe_args.tc
index a603d3f..c45ee27 100644
--- a/ftrace/test.d/kprobe/kprobe_args.tc
+++ b/ftrace/test.d/kprobe/kprobe_args.tc
@@ -12,5 +12,6 @@ echo 1 > events/kprobes/testprobe/enable
( echo "forked")
echo 0 > events/kprobes/testprobe/enable
echo "-:testprobe" >> kprobe_events
+clear_trace
test -d events/kprobes/testprobe && exit 1 || exit 0
diff --git a/ftrace/test.d/kprobe/kprobe_ftrace.tc b/ftrace/test.d/kprobe/kprobe_ftrace.tc
new file mode 100644
index 0000000..ab41d2b
--- /dev/null
+++ b/ftrace/test.d/kprobe/kprobe_ftrace.tc
@@ -0,0 +1,55 @@
+#!/bin/sh
+# description: Kprobe dynamic event with function tracer
+
+[ -f kprobe_events ] || exit_unsupported # this is configurable
+grep function available_tracers || exit_unsupported # this is configurable
+
+# prepare
+echo nop > current_tracer
+echo do_fork > set_ftrace_filter
+echo 0 > events/enable
+echo > 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
+
+# kprobe on / ftrace on
+echo function > current_tracer
+echo > trace
+( echo "forked")
+grep testprobe 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
+
+# kprobe on / ftrace on
+echo 1 > events/kprobes/testprobe/enable
+echo function > current_tracer
+echo > trace
+( echo "forked")
+grep testprobe trace
+grep 'do_fork <-' trace
+
+# kprobe on / ftrace off
+echo nop > current_tracer
+echo > trace
+( echo "forked")
+grep testprobe trace
+! grep 'do_fork <-' trace
+
+# cleanup
+echo nop > current_tracer
+echo > set_ftrace_filter
+echo 0 > events/kprobes/testprobe/enable
+echo > kprobe_events
+echo > trace
diff --git a/ftrace/test.d/kprobe/kretprobe_args.tc b/ftrace/test.d/kprobe/kretprobe_args.tc
index 283c29e..3171798 100644
--- a/ftrace/test.d/kprobe/kretprobe_args.tc
+++ b/ftrace/test.d/kprobe/kretprobe_args.tc
@@ -12,4 +12,5 @@ echo 1 > events/kprobes/testprobe2/enable
( echo "forked")
echo 0 > events/kprobes/testprobe2/enable
echo '-:testprobe2' >> kprobe_events
+clear_trace
test -d events/kprobes/testprobe2 && exit 1 || exit 0