summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r--testsuite/systemtap.base/array_size.exp7
-rw-r--r--testsuite/systemtap.base/array_size.stp30
2 files changed, 37 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/array_size.exp b/testsuite/systemtap.base/array_size.exp
new file mode 100644
index 00000000..86aec8ab
--- /dev/null
+++ b/testsuite/systemtap.base/array_size.exp
@@ -0,0 +1,7 @@
+# Check that specifying an array size gives more room than MAXMAPENTRIES
+
+load_lib "stap_run.exp"
+
+set test "array_size"
+
+stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string -DMAXMAPENTRIES=1
diff --git a/testsuite/systemtap.base/array_size.stp b/testsuite/systemtap.base/array_size.stp
new file mode 100644
index 00000000..cf597a61
--- /dev/null
+++ b/testsuite/systemtap.base/array_size.stp
@@ -0,0 +1,30 @@
+/*
+ * array_size.stp
+ *
+ * Check that specifying an array size gives more room than MAXMAPENTRIES
+ *
+ * Call with MAXMAPENTRIES << 100
+ */
+
+probe begin { log("systemtap starting probe") }
+probe end { log("systemtap ending probe") }
+
+global a[100]
+
+probe begin {
+ for (i=42; i<142; ++i)
+ a[i] = i*i
+}
+
+probe end(1) {
+ for (i=42; i<142; ++i) {
+ if (a[i] == i*i)
+ ++ok
+ else
+ ++bad
+ }
+ if (ok == 100 && bad == 0)
+ log("systemtap test success")
+ else
+ printf("systemtap test failure - ok:%d, bad:%d\n", ok, bad)
+}