5d8746b941
The test assumes only one process appears which, depending on the speed of things, may not be true. It now matches one to many process lines.
38 lines
1.5 KiB
Plaintext
38 lines
1.5 KiB
Plaintext
#
|
|
# Dejagnu tests for ps (output options) - part of procps
|
|
#
|
|
set ps ${topdir}ps/pscommand
|
|
|
|
set mypid [pid]
|
|
set not_ppid [ expr { $mypid + 1 } ]
|
|
set uid [ exec id -u ]
|
|
set not_uid [ expr { $uid + 1 } ]
|
|
set gid [ exec id -g ]
|
|
set not_gid [ expr { $gid + 1 } ]
|
|
|
|
# All the fields
|
|
# Cannot do args,cmd,comm
|
|
set ps_digit "\\d+\\s*"
|
|
set ps_state "\[A-Z<sl+\]\\s*"
|
|
#set ps_pct "\\d{1,2}\\.\\d\\s*"
|
|
set ps_pct "\\d"
|
|
set ps_hex "\[0-9a-f\]\\s*"
|
|
set ps_time "\\d{1,3}:\\d{2}\\s*"
|
|
set ps_time "\(\d+-\)?\\\d{1,3}:\\d{2}\\s*"
|
|
set ps_class "\[A-Z?-\]\\s*"
|
|
|
|
set flag_match {
|
|
"%cpu,pcpu,%mem,pmem" "%CPU\\s+%CPU\\s+%MEM\\s+%MEM\\s+\(\\d+\.\\d+\\s*\){4}$"
|
|
"blocked,sig_block,sigmask,caught,sigcatch,sig_catch" "\(BLOCKED\\s+\){3}\(CAUGHT\\s+\){2}CATCHED\\s+\(<?\[0-9a-f\]+\\s*\){6}$"
|
|
"bsdstart,start,lstart" "\\s*START\\s+STARTED\\s+STARTED\\s+\(\\s*\(\[A-Z\]\[a-z\]{2} \\d+|\\d+:\\d{2}\)\\s+\(\[A-Z\]\[a-z\]{2} \\d+|\\d+:\\d{2}:\\d{2}\)\\s+\[A-Z\]\[a-z\]{2} \[A-Z\]\[a-z\]{2}\\s+\\d+ \\d{2}:\\d{2}:\\d{2} \\d{4}\\s*\)+$"
|
|
"bsdtime,cputime,etime,etimes" "\\s*TIME\\s+TIME\\s+ELAPSED\\s+ELAPSED\\s*\(\\s*\\d+:\\d{2}\\s+\\d{2}:\\d{2}:\\d{2}\\s+\(\\d{2}:\)?\\d{2}:\\d{2}\\s+\\d+\\s*\)+$"
|
|
"user,ruser,group,rgroup,uid,ruid,gid,rgid" "\\s*USER\\s+RUSER\\s+GROUP\\s+RGROUP\\s+UID\\s+RUID\\s+GID\\s+RGID\\s+\(\(\\s*\[A-Za-z0-9_+-\]+\\s+\){4}\(\\d+\\s+\){4}\\s*\)+$"
|
|
"cputimes,times" "\\s*TIME\\s+TIME\\s+\\d+\\s+\\d+\\s*"
|
|
}
|
|
|
|
foreach { flag match } $flag_match {
|
|
set test "ps with output flag $flag"
|
|
spawn $ps -o $flag
|
|
expect_pass "$test" $match
|
|
}
|