rearranged testsuite

This commit is contained in:
Craig Small 2011-11-27 18:32:10 +11:00
parent 2cad7c5667
commit 5c48d8b79a
7 changed files with 99 additions and 5 deletions

View File

@ -2,4 +2,11 @@ AUTOMAKE_OPTIONS = dejagnu
export DEJAGNU
DEJATOOL = \
procps-ng
free \
pgrep \
pmap \
pwdx \
w

View File

@ -14,9 +14,20 @@ proc pwdx_version {} {
proc free_load { arg } { }
proc free_exit {} {}
proc free_version {} {
set tmp [ exec free --version ]
global topdir
set tmp [ exec ${topdir}free --version ]
regexp "procps-ng version (\[0-9.\]*)" $tmp tmp version
clone_output "free version $version\n"
clone_output "${topdir}free version $version\n"
}
# w functions
proc w_load { arg } { }
proc w_exit {} {}
proc w_version {} {
global topdir
set tmp [ exec ${topdir}w -V ]
regexp "procps-ng version (\[0-9.\]*)" $tmp tmp version
clone_output "${topdir}w version $version\n"
}
#
@ -45,3 +56,19 @@ proc expect_blank { testname } {
timeout { pass "$testname" }
}
}
proc make_testproc { } {
global testproc_path testproc_comm testproc1_pid testproc2_pid
set testproc_path [ exec mktemp -u ]
exec ln -s "/bin/sleep" $testproc_path
set testproc1_pid [ exec $testproc_path 600 & ]
set testproc2_pid [ exec $testproc_path 600 & ]
set testproc_comm [ exec basename $testproc_path ]
spawn readlink $testproc_path
expect {
-re "^/bin/sleep\\s*$" { }
timeout { perror "test proc does not link to sleep 1" }
eof { perror "test proc does not link to sleep 1" }
}
}

View File

@ -45,8 +45,8 @@ spawn $pgrep -d : $newsleep
expect_pass "$test" "^${sleep1_pid}:${sleep2_pid}\\s*$"
# FIXME - Need to test against -f flag
set test "pgrep match against full process name"
untested $test
#set test "pgrep match against full process name"
#untested $test
set test "pgrep with matching gid"
spawn $pgrep -G $gid $newsleep
@ -122,4 +122,6 @@ expect_blank $test
# Cleanup
exec kill $sleep1_pid
exec kill $sleep2_pid
exec rm $newsleep_path

View File

@ -0,0 +1,5 @@
#
# Dejagnu tests for pgrep - part of procps
#
set pmap "${topdir}pmap"

53
testsuite/w.test/w.exp Normal file
View File

@ -0,0 +1,53 @@
#
# Dejagnu tests for w - part of procps
#
# FIXME - the user lines only go to idle
set w "${topdir}w"
set w_uptime "\\s+\\d{2}:\\d{2}:\\d{2} up (\\d+ days?,)\\s*\\d+(min|:\\d+), +\\d+ users, +load average: \[0-9.\]+, \[0-9.\]+, \[0-9.\]+\\s+"
set w_std_header "${w_uptime}USER\\s+TTY\\s+LOGIN@\\s+IDLE\\s+JCPU\\s+PCPU\\s+WHAT\\s+"
set w_short_header "${w_uptime}USER\\s+TTY\\s+IDLE\\s+WHAT\\s+"
set w_from_header "${w_uptime}USER\\s+TTY\\s+FROM\\s+LOGIN@\\s+IDLE\\s+JCPU\\s+PCPU\\s+WHAT\\s+"
set w_fromshort_header "${w_uptime}USER\\s+TTY\\s+FROM\\s+IDLE\\s+WHAT\\s+"
set w_user "\[A-Za-z0-9_-\]+"
set w_tty "\[a-z0-9/]+"
set w_from "\[A-Za-z0-9.:-\]+"
set w_login "\(\\d+\[A-Z\]\[a-z\]{2}\\d+\|\[A-Z\]\[a-z\]{2}\\d+\|\\d+:\\d+\)"
set w_idle "\(\\?xdm\\?\|\\?\|\\d+days\|\\d+:\\d+m?\|\\d+.\\d+s\)"
set w_ival7 "\(\\?\|\\d+days\|\\d+:\\d+m?\|\\d+.\\d+s\)"
set w_what "\[A-Za-z0-9_\/\\-\]+"
set w_std_userlines "\(${w_user}\\s+${w_tty}\\s+${w_login}\\s+${w_idle}\\s+${w_ival7}\\s+${w_ival7}\\s+${w_what}\\s*\){1,}"
set w_short_userlines "\(${w_user}\\s+${w_tty}\\s+${w_idle}\\s+${w_what}\\s*\){1,}"
set w_from_userlines "\(${w_user}\\s+${w_tty}\\s+${w_from}\\s+${w_login}\\s+${w_idle}\\s+${w_ival7}\\s+${w_ival7}\\s+${w_what}\\s*\){1,}"
set w_fromshort_userlines "\(${w_user}\\s+${w_tty}\\s+${w_from}\\s+${w_idle}\\s+${w_what}\\s*\){1,}"
set test "w with no arguments"
spawn $w
expect_pass "$test" "^${w_std_header}${w_std_userlines}"
set test "w with no headers"
spawn $w -h
expect_pass "$test" "^${w_std_userlines}"
set test "w with -u flag"
spawn $w -u
expect_pass "$test" "^${w_std_header}${w_std_userlines}"
set test "w with short output"
spawn $w -s
expect_pass "$test" "^${w_short_header}${w_short_userlines}"
set test "w with from flag"
spawn $w -f
expect_pass "$test" "^${w_from_header}${w_from_userlines}"
set test "w with from and short flags"
spawn $w -fs
expect_pass "$test" "^${w_fromshort_header}${w_fromshort_userlines}"
set test "w with short and from flags"
spawn $w -sf
expect_pass "$test" "^${w_fromshort_header}${w_fromshort_userlines}"