diff options
Diffstat (limited to 'testsuite/systemtap.base/onoffprobe.exp')
-rw-r--r-- | testsuite/systemtap.base/onoffprobe.exp | 67 |
1 files changed, 25 insertions, 42 deletions
diff --git a/testsuite/systemtap.base/onoffprobe.exp b/testsuite/systemtap.base/onoffprobe.exp index 41e107d7..b86de4ea 100644 --- a/testsuite/systemtap.base/onoffprobe.exp +++ b/testsuite/systemtap.base/onoffprobe.exp @@ -4,54 +4,37 @@ if {![installtest_p]} { untested $test; return } spawn stap $srcdir/$subdir/$test.stp -m $test set pid $spawn_id set ok 0 + +proc advance {} { + global test + global expect_out + global ok + pass "$test $expect_out(1,string)" + incr ok + exec echo $ok > /proc/systemtap/$test/switch + exec echo dummy > /dev/null + exp_continue +} + 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" - } + -re "(begin1 probed)\r\n" { advance } + -re "^(function return probed)\r\n" { advance } + -re "^(function entry probed)\r\n" { advance } + -re "^(timer probed)\r\n" { advance } + -re "^(profile probed)\r\n" { advance } + -re "^(alias\.one\.a and alias\.one and alias\.\* probed)\r\n" { advance } + -re "^(alias\.one\.b and alias\.one and alias\.\* probed)\r\n" { advance } + -re "^(alias\.two and alias\.\* probed)\r\n" { + pass "$test $expect_out(1,string)" + incr ok } - timeout { fail "$test (timeout)" } - eof { } + 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)"} +if {$ok != 8} {fail "conditional probes ($ok)"} |