https://bugs.gentoo.org/461302 From 4050148a4533e8a79cef0d7dcd0c058d78c48a31 Mon Sep 17 00:00:00 2001 From: Craig Small Date: Sat, 9 May 2015 17:48:12 +1000 Subject: [PATCH] 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. --- testsuite/config/unix.exp | 9 +++++++++ testsuite/pgrep.test/pgrep.exp | 11 +++++++---- testsuite/pkill.test/pkill.exp | 3 +-- testsuite/ps.test/ps_output.exp | 2 -- 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" -- 2.4.0