diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ChangeLog | 6 | ||||
-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 |
4 files changed, 41 insertions, 1 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 2549e27a..8e174efc 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2008-12-09 Frank Ch. Eigler <fche@elastic.org> + + PR6961. + * systemtap.base/backtrace.{exp,stp}: New files. + * systemtap.base/marker.exp: Modified to trigger backtrace. + 2008-12-04 Stan Cox <scox@redhat.com> * systemtap.base/static_uprobes.exp (STAP_PROBE_START): Remove. 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\") { }"} |