diff options
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/beginenderror.exp | 22 | ||||
-rw-r--r-- | testsuite/systemtap.base/beginenderror.stp | 5 |
2 files changed, 27 insertions, 0 deletions
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 |