diff options
author | fche <fche> | 2007-10-02 17:44:25 +0000 |
---|---|---|
committer | fche <fche> | 2007-10-02 17:44:25 +0000 |
commit | 65aeaea0bc47637030ebe4c2d3a103e1fddaa8d8 (patch) | |
tree | 863f412bbf4a1f97af6fa02028bbdbbbf51a4770 /testsuite | |
parent | e59475742dc0363828f05a92979d5f6fa9588dee (diff) | |
download | systemtap-steved-65aeaea0bc47637030ebe4c2d3a103e1fddaa8d8.tar.gz systemtap-steved-65aeaea0bc47637030ebe4c2d3a103e1fddaa8d8.tar.xz systemtap-steved-65aeaea0bc47637030ebe4c2d3a103e1fddaa8d8.zip |
2007-10-02 Frank Ch. Eigler <fche@redhat.com>
PR 5078
* tapsets.cxx (be_derived_probe): Rework to add error probe support.
Emit probe description array in C for traversal by generated code.
* register_standard_tapsets: Add error probes.
* stapprobes.5.in: Document.
* translate.cxx (emit_module_init): Handle errors that may occur
during begin probes.
(emit_module_exit): Use schedule() rather than cpu_relax() during
shutdown synchronization wait loop.
* staptree.cxx (probe::printsig): Put multiple probe points on same
line.
2007-10-02 Frank Ch. Eigler <fche@redhat.com>
PR 5078
* semok/twentysix.stp, systemtap.base/beginenderror.*: New tests.
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 |