summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base/stmt_rel.stp
diff options
context:
space:
mode:
authorStan Cox <scox@redhat.com>2008-06-09 14:31:02 -0400
committerStan Cox <scox@redhat.com>2008-06-09 14:31:02 -0400
commit1bd128a3bfbd8943cc42e497d91a426d4312f515 (patch)
tree3bf38f020c02f10882553b81c13b7766a0b6563e /testsuite/systemtap.base/stmt_rel.stp
parent14cdaa0b0196d5ce8e45beae9f82de73e0c4a28d (diff)
downloadsystemtap-steved-1bd128a3bfbd8943cc42e497d91a426d4312f515.tar.gz
systemtap-steved-1bd128a3bfbd8943cc42e497d91a426d4312f515.tar.xz
systemtap-steved-1bd128a3bfbd8943cc42e497d91a426d4312f515.zip
Add test and doc for kernel.statement relative line number.
Diffstat (limited to 'testsuite/systemtap.base/stmt_rel.stp')
-rw-r--r--testsuite/systemtap.base/stmt_rel.stp43
1 files changed, 43 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/stmt_rel.stp b/testsuite/systemtap.base/stmt_rel.stp
new file mode 100644
index 00000000..a5f1cc2a
--- /dev/null
+++ b/testsuite/systemtap.base/stmt_rel.stp
@@ -0,0 +1,43 @@
+global stack2, stack2pp, stack2func
+
+probe kernel.statement("bio_init@fs/bio.c+2") {
+ stack2 = tokenize(backtrace(), " ")
+ stack2func = probefunc()
+ stack2pp = pp()
+}
+probe kernel.statement("bio_init@fs/bio.c+3") {
+ stack3 = tokenize(backtrace(), " " )
+ stack3func = probefunc()
+ stack3pp = pp()
+
+ stack2pp = tokenize(stack2pp,":")
+ stack2pp = tokenize("",":")
+ stack3pp = tokenize(stack3pp,":")
+ stack3pp = tokenize("",":")
+
+ stack2line = strtol (substr(stack2pp,0,strlen(stack2pp)-2), 10)
+ stack3line = strtol (substr(stack3pp,0,strlen(stack3pp)-2), 10)
+
+ if (stack2func == stack3func) {
+ printf ("PASS %s\n", stack2func)
+ }
+ else {
+ printf ("FAIL %s %s\n", stack2func, stack3func)
+ }
+
+ if ((stack2line + 1) == stack3line) {
+ printf ("PASS line number\n")
+ }
+ else {
+ printf ("FAIL line number %d %d\n", stack2line, stack3line)
+ }
+
+ if (stack2 < stack3) {
+ printf ("PASS address\n")
+ }
+ else {
+ printf ("FAIL address %s %s\n", stack2, stack3)
+ }
+
+ exit()
+}