diff options
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/backtrace.exp | 32 | ||||
-rw-r--r-- | testsuite/systemtap.base/backtrace.stp | 2 | ||||
-rw-r--r-- | testsuite/systemtap.base/marker.exp | 2 |
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\") { }"} |