summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r--testsuite/systemtap.base/backtrace.exp32
-rw-r--r--testsuite/systemtap.base/backtrace.stp2
-rw-r--r--testsuite/systemtap.base/marker.exp2
3 files changed, 35 insertions, 1 deletions
diff --git a/testsuite/systemtap.base/backtrace.exp b/testsuite/systemtap.base/backtrace.exp
new file mode 100644
index 00000000..721d3214
--- /dev/null
+++ b/testsuite/systemtap.base/backtrace.exp
@@ -0,0 +1,32 @@
+set test "backtrace"
+
+if {![installtest_p]} { untested $test; return }
+
+set ok 0
+set ok2 0
+spawn stap $srcdir/$subdir/backtrace.stp
+expect {
+ -timeout 30
+ -re {^[^\r\n ]*\r\n} { incr ok; exp_continue }
+ -re {^ [^\r\n]*\r\n} { incr ok2; exp_continue }
+ eof { }
+ timeout { fail "$test (timeout)" }
+}
+catch { close }; wait
+if {$ok == 3 && $ok2 >= $ok} then { pass "$test ($ok $ok2)" } else { fail "$test ($ok $ok2)" }
+
+
+set test "backtrace-unwindsyms"
+
+set ok 0
+set ok2 0
+spawn stap $srcdir/$subdir/backtrace.stp -d kernel
+expect {
+ -timeout 30
+ -re {^[^\r\n ]*\r\n} { incr ok; exp_continue }
+ -re {^ [^\r\n]*\r\n} { incr ok2; exp_continue }
+ eof { }
+ timeout { fail "$test (timeout)" }
+}
+catch { close }; wait
+if {$ok == 3 && $ok2 >= $ok} then { pass "$test ($ok $ok2)" } else { fail "$test ($ok $ok2)" }
diff --git a/testsuite/systemtap.base/backtrace.stp b/testsuite/systemtap.base/backtrace.stp
new file mode 100644
index 00000000..07ea11de
--- /dev/null
+++ b/testsuite/systemtap.base/backtrace.stp
@@ -0,0 +1,2 @@
+probe begin, end, procfs("foo").read, procfs("foo").write { log(pp()) print_backtrace() }
+probe timer.s(1) { log(pp()) print_backtrace() exit() }
diff --git a/testsuite/systemtap.base/marker.exp b/testsuite/systemtap.base/marker.exp
index 0cacf60d..04d0402f 100644
--- a/testsuite/systemtap.base/marker.exp
+++ b/testsuite/systemtap.base/marker.exp
@@ -12,7 +12,7 @@ set num_marker_found 0
set num_marker_name ""
set kernel_script {"probe kernel.mark(\"%s\") { }"}
-set kernel_script_arg {"probe kernel.mark(\"%s\") { print(%s) }"}
+set kernel_script_arg {"probe kernel.mark(\"%s\") { print(%s) print_backtrace() }"}
set kernel_script_arg2 {"probe kernel.mark(\"%s\") { %s = 0 }"}
set kernel_script_arg3 {"probe kernel.mark(\"%s\") { print(\$arg1%s) }"}
set kernel_format_script {"probe kernel.mark(\"%s\").format(\"%s\") { }"}