]> sourceware.org Git - systemtap.git/commitdiff
2007-05-01 Martin Hunt <hunt@redhat.com>
authorhunt <hunt>
Tue, 1 May 2007 17:20:57 +0000 (17:20 +0000)
committerhunt <hunt>
Tue, 1 May 2007 17:20:57 +0000 (17:20 +0000)
* systemtap.samples/system_func.*: New test.

testsuite/ChangeLog
testsuite/systemtap.samples/system_func.exp [new file with mode: 0644]
testsuite/systemtap.samples/system_func.stp [new file with mode: 0644]

index 97f569c81916f89cf2bb4895a0f22231e5690abf..00a30a3d380697eeed4d92470c53ec080b57b8be 100644 (file)
@@ -1,5 +1,9 @@
 2007-05-01  Martin Hunt  <hunt@redhat.com>
 
+       * systemtap.samples/system_func.*: New test.
+
+2007-05-01  Martin Hunt  <hunt@redhat.com>
+       
        * systemtap.samples/sysopen*: Deleted.
 
 2007-04-29  Frank Ch. Eigler  <fche@elastic.org>
diff --git a/testsuite/systemtap.samples/system_func.exp b/testsuite/systemtap.samples/system_func.exp
new file mode 100644 (file)
index 0000000..1fef171
--- /dev/null
@@ -0,0 +1,18 @@
+set test "system_func"
+if {![installtest_p]} { untested $test; return }
+spawn stap $srcdir/$subdir/system_func.stp
+set open 0
+set done 0
+set saw_user 0
+set user [exec whoami]
+set timeout 30
+expect {
+    -re "$user\[^\r\]\*\r\n" {incr saw_user; exp_continue}
+    -re {sys_open[^\r]*\r\n} {incr open; exp_continue }
+    -re {DONE[^\r]*\r\n} {incr done; exp_continue }
+    timeout { fail "$test (timeout)" }
+    eof { }
+}
+catch {close}; wait
+#puts "open=$open saw_user=$saw_user, done=$done"
+if {$open > 0 && $saw_user == 1 && $done == 1 } { pass "$test" } { fail "$test ($open,$saw_user,$done)" }
diff --git a/testsuite/systemtap.samples/system_func.stp b/testsuite/systemtap.samples/system_func.stp
new file mode 100644 (file)
index 0000000..60d9a72
--- /dev/null
@@ -0,0 +1,24 @@
+#! stap
+
+# test the system() function
+
+probe kernel.function("sys_open") {
+  # very inefficient. Testing only. DO NOT DO THIS
+  msg="echo sys_open"
+  system(msg)
+}
+
+probe begin {
+  # should succeed
+  system("whoami")
+
+  # should fail
+  system("cat __xyzzy123ABC__")
+
+  exit()
+}
+
+probe end {
+  # should succeed
+  system("echo DONE")
+}
This page took 0.03247 seconds and 5 git commands to generate.