summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r--testsuite/systemtap.base/be_order.exp7
-rw-r--r--testsuite/systemtap.base/be_order.stp37
-rw-r--r--testsuite/systemtap.base/maxactive.exp9
-rw-r--r--testsuite/systemtap.base/probefunc.exp4
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