summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/ChangeLog4
-rw-r--r--testsuite/systemtap.base/stmtvars.exp31
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 }