diff options
author | hiramatu <hiramatu> | 2007-12-05 20:02:01 +0000 |
---|---|---|
committer | hiramatu <hiramatu> | 2007-12-05 20:02:01 +0000 |
commit | dfd11cc3ea340096a2829f5ecda29998c73a0acb (patch) | |
tree | ba66a58789f0df1006a1ece1c616b2b38b15d29a /testsuite/systemtap.base/onoffprobe.exp | |
parent | 0c218afb69ed53355a69e4264cbc5584908d65b4 (diff) | |
download | systemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.tar.gz systemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.tar.xz systemtap-steved-dfd11cc3ea340096a2829f5ecda29998c73a0acb.zip |
2007-12-05 Masami Hiramatsu <mhiramat@redhat.com>
PR 4935
* tapsets.cxx (dwarf_derived_probe::dwarf_derived_probe): Allow user
to access kernel variables in the condition of probe points.
* stapprobes.5.in : Document the conditional probe point.
* NEWS : Ditto.
* parseok/five.stp: Add an example of conditional probe point.
* parseko/probepoint04.stp: New test for conditional probe point.
* parseko/probepoint05.stp: Ditto.
* parseko/probepoint06.stp: Ditto.
* parseko/probepoint07.stp: Ditto.
* parseko/probepoint08.stp: Ditto.
* parseko/probepoint09.stp: Ditto.
* semok/twentynine.stp: Ditto.
* semko/thirtynine.stp: Ditto.
* systemtap.base/onoffprobe.*: Ditto.
Diffstat (limited to 'testsuite/systemtap.base/onoffprobe.exp')
-rw-r--r-- | testsuite/systemtap.base/onoffprobe.exp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/onoffprobe.exp b/testsuite/systemtap.base/onoffprobe.exp new file mode 100644 index 00000000..41e107d7 --- /dev/null +++ b/testsuite/systemtap.base/onoffprobe.exp @@ -0,0 +1,57 @@ +set test "onoffprobe" +if {![installtest_p]} { untested $test; return } + +spawn stap $srcdir/$subdir/$test.stp -m $test +set pid $spawn_id +set ok 0 +expect { + -timeout 240 + "begin probed\r\n" { + if {$ok == 0} { + incr ok + pass "conditional begin probe" + exec echo 1 > /proc/systemtap/$test/switch + exec echo "dummy" > /dev/null + exp_continue; + } + } + "function return probed\r\n" { + if {$ok == 1} { + incr ok + pass "conditional dwarf probe (return)" + exec echo 2 > /proc/systemtap/$test/switch + exec echo "dummy" > /dev/null + exp_continue; + } + } + "function entry probed\r\n" { + if {$ok == 2} { + incr ok + pass "conditional dwarf probe (entry)" + exec echo 3 > /proc/systemtap/$test/switch + exp_continue; + } + } + "timer probed\r\n" { + if {$ok == 3} { + incr ok + pass "conditional timer probe" + exec echo 4 > /proc/systemtap/$test/switch + exp_continue; + } + } + "profile probed\r\n" { + if {$ok == 4} { + incr ok + pass "conditional profile probe" + } + } + timeout { fail "$test (timeout)" } + eof { } +} +send "\003" +#FIXME does not handle case of hanging pfaults.stp correctly +wait +exec rm -f $test.ko +if {$ok != 5} {fail "conditional probes ($ok)"} + |