* systemtap.samples/system_func.*: New test.
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>
--- /dev/null
+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)" }
--- /dev/null
+#! 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")
+}