diff options
Diffstat (limited to 'testsuite/systemtap.context/pid.tcl')
-rw-r--r-- | testsuite/systemtap.context/pid.tcl | 67 |
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 |