summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.context
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.context')
-rw-r--r--testsuite/systemtap.context/symbols.exp14
-rw-r--r--testsuite/systemtap.context/symbols.stp11
2 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/systemtap.context/symbols.exp b/testsuite/systemtap.context/symbols.exp
new file mode 100644
index 00000000..0c599b58
--- /dev/null
+++ b/testsuite/systemtap.context/symbols.exp
@@ -0,0 +1,14 @@
+set test "symbols"
+if {![installtest_p]} { untested $test; return }
+
+spawn stap -g $srcdir/$subdir/symbols.stp
+set ok 0
+expect {
+ -timeout 120
+ -re { 0x[a-f0-9]+[^\r]*\r} { incr ok; exp_continue }
+ timeout { fail "$test (timeout)" }
+ eof { }
+}
+#FIXME does not handle case of hanging symbols.stp correctly
+wait
+if {$ok == 11} { pass "$test ($ok)" } { fail "$test ($ok)" }
diff --git a/testsuite/systemtap.context/symbols.stp b/testsuite/systemtap.context/symbols.stp
new file mode 100644
index 00000000..040c3444
--- /dev/null
+++ b/testsuite/systemtap.context/symbols.stp
@@ -0,0 +1,11 @@
+#! stap
+
+probe begin {
+ # a spectrum of figures for 32-bit x86
+ print_stack ("0x0 0x80000000 0xc0000000 0xe0000000 0xf0000000 0xffffffff")
+ # for x86_64
+ print_stack ("0xffffffff00000000 0xffffffff80000000 0xffffffff80120000")
+ print_stack ("0xffffffff88000000 0xffffffffffffffff")
+ # ... for a total of 11 lines, which symbols.exp counts
+ exit ()
+}