summaryrefslogtreecommitdiffstats
path: root/testsuite/buildok/fortytwo.stp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/buildok/fortytwo.stp')
-rwxr-xr-xtestsuite/buildok/fortytwo.stp24
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/buildok/fortytwo.stp b/testsuite/buildok/fortytwo.stp
new file mode 100755
index 00000000..c37d19af
--- /dev/null
+++ b/testsuite/buildok/fortytwo.stp
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+# This is a roundabout test of kernel.statement().
+
+set -e
+
+fn="do_readv_writev@fs/read_write.c"
+var="file"
+
+fullfn=`stap -p2 -e 'probe kernel.statement("'$fn'") {}' | grep kernel | cut -f2 -d'"'`
+lineno=`echo $fullfn | cut -f2 -d:`
+
+echo "$0: $fn found, starting line $lineno"
+
+for i in 0 1 2 4 6 10 15 20 25 # some random numbers, not larger than the number of lines in fn
+do
+ ilineno=`expr $lineno + $i`
+ errors=`stap -u -p4 -e 'probe kernel.statement("'$fn':'$ilineno'") {$'$var'}' 2>&1 >/dev/null ||true `
+ if echo "$errors" | grep -q unable.to.find.local
+ then
+ echo "Unexpected error $errors"; exit 1
+ fi
+ echo 'probe kernel.statement("'$fn':'$ilineno'") {$'$var'}' '#' OK
+done