]> sourceware.org Git - systemtap.git/blob - testsuite/buildok/fortytwo.stp
statement.nearest probes followup: some docs, samples, tweakage
[systemtap.git] / testsuite / buildok / fortytwo.stp
1 #! /bin/sh
2
3 # This is a roundabout test of kernel.statement().
4
5 set -e
6
7 fn="do_readv_writev@fs/read_write.c"
8 var="file"
9
10 fullfn=`stap $@ -wp2 -e 'probe kernel.statement("'$fn'") {}' | grep kernel | cut -f2 -d'"'`
11 lineno=`echo $fullfn | cut -f2 -d:`
12
13 echo "$0: $fn found, starting line $lineno"
14
15 for i in 0 1 2 4 6 10 15 20 25 # some random numbers, not larger than the number of lines in fn
16 do
17 ilineno=`expr $lineno + $i`
18 errors=`stap $@ -u -p4 -e 'probe kernel.statement("'$fn':'$ilineno'") {$'$var'}' 2>&1 >/dev/null ||true `
19 if echo "$errors" | grep -q unable.to.find.local
20 then
21 echo "Unexpected error $errors"; exit 1
22 fi
23 echo 'probe kernel.statement("'$fn':'$ilineno'") {$'$var'}' '#' OK
24 done
25
26 errors=`stap $@ -u -p4 -e 'probe kernel.statement("'$fn':'$lineno'").nearest {$'$var'}' 2>&1 >/dev/null ||true `
27 if echo "$errors" | grep -q unable.to.find.local
28 then
29 echo "Unexpected error $errors"; exit 1
30 fi
31 echo 'probe kernel.statement("'$fn':'$lineno'").nearest {$'$var'}' '#' OK
This page took 0.0422 seconds and 6 git commands to generate.