summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.samples/args.exp
diff options
context:
space:
mode:
authorfche <fche>2006-08-12 05:13:09 +0000
committerfche <fche>2006-08-12 05:13:09 +0000
commit814bc89d4635f101b2c0077598f31aad95ed15b7 (patch)
tree407a49dbaf446af4751f5068607a7fb8dad0611d /testsuite/systemtap.samples/args.exp
parent6b6d04673a1ef175821afc7d4fabdb496698e8e3 (diff)
downloadsystemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.tar.gz
systemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.tar.xz
systemtap-steved-814bc89d4635f101b2c0077598f31aad95ed15b7.zip
2006-08-12 Frank Ch. Eigler <fche@elastic.org>
* configure.ac, Makefile.am: Descend into testsuite/ directory. Remove local test logic. * configure, Makefile.in: Regenerated. * runtest.sh: Not yet removed. * HACKING: Update for new testsuite layout. 2006-08-12 Frank Ch. Eigler <fche@elastic.org> * all: Reorganized old pass-1..4 tests one dejagnu bucket. Moved over old pass-5 tests, except for disabled syscalls tests. * Makefile (installcheck): New target for running pass-1..5 tests against installed systemtap.
Diffstat (limited to 'testsuite/systemtap.samples/args.exp')
-rw-r--r--testsuite/systemtap.samples/args.exp72
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuite/systemtap.samples/args.exp b/testsuite/systemtap.samples/args.exp
new file mode 100644
index 00000000..14f19f17
--- /dev/null
+++ b/testsuite/systemtap.samples/args.exp
@@ -0,0 +1,72 @@
+set test "args"
+if {![installtest_p]} { untested $test; return }
+
+set stappath [exec which stap]
+set stpdpath [exec dirname $stappath]/../libexec/systemtap/stpd
+
+if [file exists $stpdpath] {
+ pass "$test search for stpd ($stpdpath)"
+} else {
+ fail "$test search for stpd"
+ return
+}
+
+set modname "args_[pid]"
+spawn stap -k -p4 -m $modname $srcdir/$subdir/args.stp
+set tmpdir NO_SUCH_FILE
+expect {
+ -timeout 30
+ -re {Keeping temporary directory "([/a-zA-Z0-9_]*)"} { pass "$test compile";
+ set tmpdir $expect_out(1,string) }
+ timeout { fail "$test compile (timeout)" }
+ eof { }
+}
+catch {close}; wait
+if [file exists $tmpdir] {
+ pass "$test search for tmpdir ($tmpdir)"
+} else {
+ fail "$test search for tmpdir"
+ return
+}
+
+set modpath "$tmpdir/$modname.ko"
+if [file exists $modpath] {
+ pass "$test search for probe module ($modpath)"
+} else {
+ fail "$test search for probe module"
+ return
+}
+
+spawn sudo $stpdpath -r -d [pid] $modpath foo=hello bar=999
+set ok 0
+expect {
+ -timeout 30
+ -re {foo=hello bar=999} { incr ok }
+ timeout { }
+ eof { }
+}
+catch {close}; wait
+if {$ok == 1} {
+ pass "$test run 1"
+} else {
+ fail "$test run 1"
+}
+
+spawn sudo $stpdpath -r -d [pid] $modpath foo=goodbye bar=0
+set ok 0
+expect {
+ -timeout 30
+ -re {foo=goodbye bar=0} { incr ok }
+ timeout { }
+ eof { }
+}
+catch {close}; wait
+if {$ok == 1} {
+ pass "$test run 2"
+} else {
+ fail "$test run 2"
+}
+
+
+
+exec /bin/rm -rf $tmpdir