diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | testsuite/systemtap.base/stmtvars.exp | 31 |
2 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index 1760d0aa..38d893db 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2008-02-22 Frank Ch. Eigler <fche@elastic.org> + + * systemtap.base/stmtvars.exp: New test for PR 5787. + 2008-02-21 Will Cohen <wcohen@redhat.com> * systemtap.base/beginenderror.exp: Increase timeout for slow machines. diff --git a/testsuite/systemtap.base/stmtvars.exp b/testsuite/systemtap.base/stmtvars.exp new file mode 100644 index 00000000..6e950ea0 --- /dev/null +++ b/testsuite/systemtap.base/stmtvars.exp @@ -0,0 +1,31 @@ +set test "stmtvars" +# PR 5787 + +set pc 0 +set vars "" +spawn stap -e "probe kernel.function(\"sys_open\") {\$foo}" -p4 -vv -u +expect { + -re {probe sys_open.*pc=(0x.*)\r\n} { set pc $expect_out(1,string); exp_continue } + -re {alternatives: ([^\r\n]*) identifier [^\r\n]*\r\n} { set vars $expect_out(1,string) + exp_continue } + timeout { fail "$test (timeout)" } + eof + } +wait +verbose -log "pc=$pc vars=$vars" +if {$pc != 0 && $vars != ""} { pass "$test - .function" } { fail "$test - .function" } + +set pc2 0 +set vars2 "" +spawn stap -e "probe kernel.statement($pc) {\$foo}" -p4 -vv -u +expect { + -re {probe sys_open.*pc=(0x.*)\r\n} { set pc2 $expect_out(1,string); exp_continue } + -re {alternatives: ([^\r\n]*) identifier [^\r\n]*\r\n} { set vars2 $expect_out(1,string) + exp_continue } + timeout { fail "$test (timeout)" } + eof + } +wait + +verbose -log "pc2=$pc2 vars2=$vars2" +if {$pc == $pc2 && $vars == $vars2} { pass $test } { fail $test } |