diff options
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/be_order.exp | 7 | ||||
-rw-r--r-- | testsuite/systemtap.base/be_order.stp | 37 | ||||
-rw-r--r-- | testsuite/systemtap.base/maxactive.exp | 9 | ||||
-rw-r--r-- | testsuite/systemtap.base/probefunc.exp | 4 |
4 files changed, 52 insertions, 5 deletions
diff --git a/testsuite/systemtap.base/be_order.exp b/testsuite/systemtap.base/be_order.exp new file mode 100644 index 00000000..a40c7684 --- /dev/null +++ b/testsuite/systemtap.base/be_order.exp @@ -0,0 +1,7 @@ +# Simple function to test that ordering of begin/end probes works + +load_lib "stap_run.exp" + +set test "be_order" + +stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string diff --git a/testsuite/systemtap.base/be_order.stp b/testsuite/systemtap.base/be_order.stp new file mode 100644 index 00000000..eb8ef0c8 --- /dev/null +++ b/testsuite/systemtap.base/be_order.stp @@ -0,0 +1,37 @@ +/* + * add.stp + * + * Check that ordering of begin/end probes works + */ + +probe begin { log("systemtap starting probe") } +probe end { log("systemtap ending probe") } + +global beginstr, endstr + +probe begin { beginstr .= "c" } +probe begin(1) { beginstr .= "d" } +probe begin(-1) { beginstr .= "b" } +probe begin(0) { beginstr .= "c" } +probe begin(9223372036854775807) { beginstr .= "e" } +probe begin(-9223372036854775808) { beginstr .= "a" } + +probe end { endstr .= "x" } +probe end(1) { endstr .= "y" } +probe end(-1) { endstr .= "w" } +probe end(0) { endstr .= "x" } +probe end(9223372036854775807) { + endstr .= "z" + + if (beginstr == "abccde") + log("systemtap test success") + else + printf("systemtap test failure - beginstr:%s != abccde\n", beginstr) + + if (endstr == "vwxxyz") + log("systemtap test success") + else + printf("systemtap test failure - endstr:%s != vwxxyz\n", endstr) +} +probe end(-9223372036854775808) { endstr .= "v" } + diff --git a/testsuite/systemtap.base/maxactive.exp b/testsuite/systemtap.base/maxactive.exp index b5cb7dd7..8754ff6e 100644 --- a/testsuite/systemtap.base/maxactive.exp +++ b/testsuite/systemtap.base/maxactive.exp @@ -3,6 +3,8 @@ # Check to see if using the 'maxactive(N)' limit on return probes # works, by seeing if skipped probes increases when using it. +load_lib "stap_run.exp" + if {[info procs installtest_p] != "" && ![installtest_p]} { untested "MAXACTIVE" return @@ -42,7 +44,8 @@ set script2 { } # Run script2 and save the number of skipped probes. -stap_run "MAXACTIVE02" sleep_five_sec "" -e $script2 +set output_string "(WARNING: Number of errors: 0, skipped probes: \\d+\r\n)?" +stap_run "MAXACTIVE02" sleep_five_sec $output_string -e $script2 set skipped2 $skipped_probes # If the number of skipped probes for script 1 is less than the number @@ -52,8 +55,8 @@ set skipped2 $skipped_probes # Note that this isn't 100% accurate based on the system load at the # time of the scripts. set test "MAXACTIVE03" -if {$skipped1 < $skipped2} { - pass "$test ($skipped1 skipped probes < $skipped2 skipped probes)" +if {$skipped1 <= $skipped2} { + pass "$test ($skipped1 skipped probes <= $skipped2 skipped probes)" } else { fail "$test ($skipped1 skipped probes > $skipped2 skipped probes)" } diff --git a/testsuite/systemtap.base/probefunc.exp b/testsuite/systemtap.base/probefunc.exp index 10190fc9..b9c02552 100644 --- a/testsuite/systemtap.base/probefunc.exp +++ b/testsuite/systemtap.base/probefunc.exp @@ -41,7 +41,7 @@ close $symfd set prefix "probefunc:" # test probefunc() with kernel.statement() -set output_string "\\mscheduler_tick\\M" +set output_string "\\mscheduler_tick\\M\r\n" set probepoint "kernel.statement(0x$addr)" set script [format $systemtap_script $probepoint] stap_run $prefix$probepoint sleep_one_sec $output_string -e $script @@ -52,7 +52,7 @@ set script [format $systemtap_script $probepoint] stap_run $prefix$probepoint sleep_one_sec $output_string -e $script # test probefunc() with kernel.inline() -set output_string "\\mcontext_switch\\M" +set output_string "\\mcontext_switch\\M\r\n" set probepoint "kernel.inline(\"context_switch\")" set script [format $systemtap_script $probepoint] stap_run $prefix$probepoint sleep_one_sec $output_string -e $script |