This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH 3/3] utrace-probe: testcases for $argN and $return support on utrace-syscall probe
- From: Masami Hiramatsu <mhiramat at redhat dot com>
- To: systemtap-ml <systemtap at sources dot redhat dot com>
- Date: Fri, 05 Sep 2008 12:53:53 -0400
- Subject: [PATCH 3/3] utrace-probe: testcases for $argN and $return support on utrace-syscall probe
Hi,
Here is the patch which adds testcases for accessing $argN/$return
from process.syscall.
Thank you,
--
Masami Hiramatsu
Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division
e-mail: mhiramat@redhat.com
---
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
testsuite/buildok/per-process-syscall.stp | 18 ++++++++++++++++++
testsuite/semko/utrace15.stp | 4 ++++
testsuite/semko/utrace16.stp | 4 ++++
testsuite/semko/utrace17.stp | 4 ++++
testsuite/semko/utrace18.stp | 4 ++++
testsuite/semko/utrace19.stp | 4 ++++
testsuite/semko/utrace20.stp | 4 ++++
7 files changed, 42 insertions(+)
Index: systemtap/testsuite/buildok/per-process-syscall.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/buildok/per-process-syscall.stp
@@ -0,0 +1,18 @@
+#! stap -p4
+#
+# per-process syscall trace test
+
+probe process.syscall {
+print($syscall)
+print($arg1)
+print($arg2)
+print($arg3)
+print($arg4)
+print($arg5)
+print($arg6)
+}
+
+probe process.syscall.return {
+print($syscall)
+print($return)
+}
Index: systemtap/testsuite/semko/utrace15.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace15.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# write to $argN
+probe process("/bin/cat").syscall { $arg1 = 1 }
Index: systemtap/testsuite/semko/utrace16.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace16.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# treat $argN as a pointer
+probe process("/bin/cat").syscall { print($arg1->foo) }
Index: systemtap/testsuite/semko/utrace17.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace17.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# treat $argN as an array
+probe process("/bin/cat").syscall { print($arg1[0]) }
Index: systemtap/testsuite/semko/utrace18.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace18.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# write to $return
+probe process("/bin/cat").syscall.return { $return = 1 }
Index: systemtap/testsuite/semko/utrace19.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace19.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# access to $return from syscall entry
+probe process("/bin/cat").syscall { print($return) }
Index: systemtap/testsuite/semko/utrace20.stp
===================================================================
--- /dev/null
+++ systemtap/testsuite/semko/utrace20.stp
@@ -0,0 +1,4 @@
+#! stap -p2
+
+# treat $return as an array
+probe process("/bin/cat").syscall { print($return[0]) }