diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | testsuite/semok/twentysix.stp | 4 | ||||
-rw-r--r-- | testsuite/systemtap.base/beginenderror.exp | 22 | ||||
-rw-r--r-- | testsuite/systemtap.base/beginenderror.stp | 5 |
4 files changed, 36 insertions, 0 deletions
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index a9f4488f..270b2caf 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-02 Frank Ch. Eigler <fche@redhat.com> + + PR 5078 + * semok/twentysix.stp, systemtap.base/beginenderror.*: New tests. + 2007-10-02 William Cohen <wcohen@redhat.com> * systemtap.syscall/signal.c: diff --git a/testsuite/semok/twentysix.stp b/testsuite/semok/twentysix.stp new file mode 100644 index 00000000..b18a490d --- /dev/null +++ b/testsuite/semok/twentysix.stp @@ -0,0 +1,4 @@ +#! stap -p2 + +probe begin,begin(10),end,end(10),error,error(10) +{ println (pp()) } diff --git a/testsuite/systemtap.base/beginenderror.exp b/testsuite/systemtap.base/beginenderror.exp new file mode 100644 index 00000000..9ad596cb --- /dev/null +++ b/testsuite/systemtap.base/beginenderror.exp @@ -0,0 +1,22 @@ +set test "beginenderror" + +if {![installtest_p]} {untested $test; return} + +spawn stap $srcdir/$subdir/beginenderror.stp +set ok1 0 +set ok2 0 +set ko 0 +expect { + -re {^ERROR:[^\r\n]*\r\n} { incr ok1; exp_continue } + -re {^WARNING:[^\r\n]*\r\n} { incr ok1; exp_continue } + -re {^ok[^\r\n]*\r\n} { incr ok2; exp_continue } + -re {^ko[^\r\n]*\r\n} { incr ko; exp_continue } + timeout { fail "$test (timeout)" } + eof { } +} +wait +if {$ok1 == 4 && $ok2 == 3 && $ko == 0} then { + pass "$test ($ok1 $ok2 $ko)" +} else { + fail "$test ($ok1 $ok2 $ko)" +} diff --git a/testsuite/systemtap.base/beginenderror.stp b/testsuite/systemtap.base/beginenderror.stp new file mode 100644 index 00000000..8d0772cd --- /dev/null +++ b/testsuite/systemtap.base/beginenderror.stp @@ -0,0 +1,5 @@ +probe begin { println ("ok ".pp()) println (1/0) println ("ko ".pp()) } # handler should unwind before seemenot message +probe begin(10) { println ("ko ".pp()) } # this late begin probe shouldn't run, ERROR +probe end, end(10) { println ("ko ".pp()) } # end probes won't be run due to ERROR state +probe error, error(10) { println ("ok ".pp()) } # these handlers should be run +probe error(20),error(30) { println (1/0) println ("ko ".pp()) } # likewise |