summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.context/pid.tcl
diff options
context:
space:
mode:
authorhunt <hunt>2007-07-03 21:38:40 +0000
committerhunt <hunt>2007-07-03 21:38:40 +0000
commitd1cd4267e903d8bb0190e96e572ed42fcd0b25d1 (patch)
tree2cace504d870b54c24036001743847985a2fd125 /testsuite/systemtap.context/pid.tcl
parent9c94117be7020cbd66563e49ca22e8680145a90a (diff)
downloadsystemtap-steved-d1cd4267e903d8bb0190e96e572ed42fcd0b25d1.tar.gz
systemtap-steved-d1cd4267e903d8bb0190e96e572ed42fcd0b25d1.tar.xz
systemtap-steved-d1cd4267e903d8bb0190e96e572ed42fcd0b25d1.zip
2007-07-03 Martin Hunt <hunt@redhat.com>
* systemtap.context/pid.tcl: Better error reporting. * systemtap.context/args.*: Ditto. * systemtap.context/context.exp: Build in temp dir.
Diffstat (limited to 'testsuite/systemtap.context/pid.tcl')
-rw-r--r--testsuite/systemtap.context/pid.tcl67
1 files changed, 22 insertions, 45 deletions
diff --git a/testsuite/systemtap.context/pid.tcl b/testsuite/systemtap.context/pid.tcl
index 36ee6b9c..e1ae9897 100644
--- a/testsuite/systemtap.context/pid.tcl
+++ b/testsuite/systemtap.context/pid.tcl
@@ -1,54 +1,31 @@
+set tests [list execname pexecname pid ppid tid uid euid gid egid]
spawn stap pid.stp
expect {
-timeout 240
"READY" {
set pid [exec echo 1 > /proc/stap_test_cmd &]
- set uid [exec id -ru]
- set gid [exec id -rg]
- set euid [exec id -u]
- set egid [exec id -g]
- expect {
- -timeout 5
- "execname: echo\r\n" {
- pass "execname"
- exp_continue
- }
- "pexecname: expect\r\n" {
- pass "pexecname"
- exp_continue
- }
- "pid: $pid\r\n" {
- pass "pid"
- exp_continue
- }
- -re {ppid: [^\r\n]+\r\n} {
- pass "ppid"
- exp_continue
- }
- "tid: $pid\r\n" {
- pass "tid"
- exp_continue
- }
- "uid: $uid\r\n" {
- pass "uid"
- exp_continue
- }
- "euid: $euid\r\n" {
- pass "euid"
- exp_continue
- }
- "gid: $gid\r\n" {
- pass "gid"
- exp_continue
- }
- "egid: $egid\r\n" {
- pass "egid"
- exp_continue
- }
- eof {}
- }
+ set ppid [lindex [split [exec grep PPid /proc/$pid/status]] 1]
+ set uid [exec id -ru]
+ set gid [exec id -rg]
+ set euid [exec id -u]
+ set egid [exec id -g]
+ set results [list "execname: echo\r\n" "pexecname: expect\r\n" "pid: $pid\r\n" "ppid: $ppid\r\n" "tid: $pid\r\n" "uid: $uid\r\n" "euid: $euid\r\n" "gid: $gid\r\n" "egid: $egid\r\n"]
+
+ set i 0
+ foreach t $tests {
+ expect {
+ -timeout 5
+ [lindex $results $i] {
+ pass $t
+ }
+ timeout {fail "$t - timeout"}
+ eof {fail "$t - unexpected EOF"}
+ }
+ incr i
+ }
}
- eof {}
+ timeout {fail "all pid tests - timeout"}
+ eof {fail "all pid tests - unexpected EOF"}
}
catch {close}
wait