diff options
author | Craig Small <csmall@enc.com.au> | 2015-05-09 17:48:12 +1000 |
---|---|---|
committer | Craig Small <csmall@enc.com.au> | 2015-05-09 17:48:12 +1000 |
commit | 4050148a4533e8a79cef0d7dcd0c058d78c48a31 (patch) | |
tree | 5111d58cea4cf183adffba17a70e92c3eec2b627 | |
parent | c7abb6a6ed67fa970051bca2d2f2596b7118b888 (diff) | |
download | procps-ng-4050148a4533e8a79cef0d7dcd0c058d78c48a31.tar.gz |
Fix some sched and tty tests
The ps sched test has been disabled. There are too many
odd build farms this fails in strange ways.
Other odd build farms have no tty and so some tests check
for no tty and skip if not found.
-rw-r--r-- | testsuite/config/unix.exp | 9 | ||||
-rw-r--r-- | testsuite/pgrep.test/pgrep.exp | 11 | ||||
-rw-r--r-- | testsuite/pkill.test/pkill.exp | 3 | ||||
-rw-r--r-- | testsuite/ps.test/ps_output.exp | 2 | ||||
-rw-r--r-- | testsuite/ps.test/ps_sched_batch.exp | 16 |
5 files changed, 26 insertions, 15 deletions
diff --git a/testsuite/config/unix.exp b/testsuite/config/unix.exp index 522efb1..1318e9a 100644 --- a/testsuite/config/unix.exp +++ b/testsuite/config/unix.exp @@ -146,3 +146,12 @@ proc kill_testproc { } { kill_process $testproc2_pid file delete $testproc_path } + +proc get_tty {} { + if { [catch { set raw_tty [ exec tty ] } msg]} { + warning "No TTY found" + return "" + } + regexp "/dev/(.+)" $raw_tty > tty + return $tty +} diff --git a/testsuite/pgrep.test/pgrep.exp b/testsuite/pgrep.test/pgrep.exp index 152b6ec..1c6cec6 100644 --- a/testsuite/pgrep.test/pgrep.exp +++ b/testsuite/pgrep.test/pgrep.exp @@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ] set gid [ exec id -g ] set not_gid [ expr { $gid + 1 } ] set ps "${topdir}ps/pscommand" -set raw_tty [ exec tty ] -regexp "/dev/(.+)" $raw_tty > tty +set tty [ get_tty ] set test "pgprep with no arguments" spawn $pgrep @@ -80,8 +79,12 @@ spawn $pgrep -s 1 $testproc_comm expect_blank "$test" set test "pgrep matches on tty" -spawn $pgrep -t $tty $testproc_comm -expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$" +if { $tty == "" } { + untested "$test" +} else { + spawn $pgrep -t $tty $testproc_comm + expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$" +} set test "pgrep doesn't match with bogus tty" spawn $pgrep -t glass $testproc_comm diff --git a/testsuite/pkill.test/pkill.exp b/testsuite/pkill.test/pkill.exp index 5eece7d..c583cbe 100644 --- a/testsuite/pkill.test/pkill.exp +++ b/testsuite/pkill.test/pkill.exp @@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ] set gid [ exec id -g ] set not_gid [ expr { $gid + 1 } ] set ps "${topdir}ps/pscommand" -set raw_tty [ exec tty ] -regexp "/dev/(.+)" $raw_tty > tty +set tty [ get_tty ] set test "pkill with no arguments" spawn $pkill diff --git a/testsuite/ps.test/ps_output.exp b/testsuite/ps.test/ps_output.exp index 3a6f3d8..1b2c097 100644 --- a/testsuite/ps.test/ps_output.exp +++ b/testsuite/ps.test/ps_output.exp @@ -9,8 +9,6 @@ set uid [ exec id -u ] set not_uid [ expr { $uid + 1 } ] set gid [ exec id -g ] set not_gid [ expr { $gid + 1 } ] -set raw_tty [ exec tty ] -regexp "/dev/(.+)" $raw_tty > tty # All the fields # Cannot do args,cmd,comm diff --git a/testsuite/ps.test/ps_sched_batch.exp b/testsuite/ps.test/ps_sched_batch.exp index e0c31ff..c58b9a2 100644 --- a/testsuite/ps.test/ps_sched_batch.exp +++ b/testsuite/ps.test/ps_sched_batch.exp @@ -1,12 +1,14 @@ # # check the ps SCHED_BATCH scheduler policy output # -set ps "${topdir}ps/pscommand" -set schedbatch "${topdir}testsuite/test-schedbatch" - -spawn $schedbatch 18 - +# This is too flaky on certain build systems to be +# reliable - CS +#set ps "${topdir}ps/pscommand" +#set schedbatch "${topdir}testsuite/test-schedbatch" +# +#spawn $schedbatch 18 +# set test "ps SCHED_BATCH scheduler" -spawn $ps --no-header -o comm,cls,nice -a -expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18" +#spawn $ps --no-header -o comm,cls,nice -a +#expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18" untested "$test" |