summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.samples/primes.exp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.samples/primes.exp')
-rw-r--r--testsuite/systemtap.samples/primes.exp21
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/systemtap.samples/primes.exp b/testsuite/systemtap.samples/primes.exp
new file mode 100644
index 00000000..5381494d
--- /dev/null
+++ b/testsuite/systemtap.samples/primes.exp
@@ -0,0 +1,21 @@
+set test "primes"
+if {![installtest_p]} { untested $test; return }
+
+spawn stap $srcdir/$subdir/primes.stp
+set ok 0
+expect {
+ -timeout 30
+ -ex {odds[0] = 1} { incr ok; exp_continue }
+ -ex {odds[1] = 3} { incr ok; exp_continue }
+ -ex {odds[3] = 7} { incr ok; exp_continue }
+ -ex {odds[4] = 9} { incr ok; exp_continue }
+ -ex {evens[2] = 6} { incr ok; exp_continue }
+ -ex {evens[1] = 4} { incr ok; exp_continue }
+ -ex {evens[0] = 2} { incr ok; exp_continue }
+ timeout { fail "$test (timeout)" }
+ eof { }
+}
+#FIXME does not handle case of hanging primes.stp correctly
+wait
+
+if {$ok == 7} { pass "$test" } { fail "$test" }