diff options
Diffstat (limited to 'testsuite/buildok/fortytwo.stp')
-rwxr-xr-x | testsuite/buildok/fortytwo.stp | 24 |
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 |