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.
This commit is contained in:
Craig Small 2015-05-09 17:48:12 +10:00
parent c7abb6a6ed
commit 4050148a45
5 changed files with 26 additions and 15 deletions

View File

@ -146,3 +146,12 @@ proc kill_testproc { } {
kill_process $testproc2_pid kill_process $testproc2_pid
file delete $testproc_path 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
}

View File

@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
set gid [ exec id -g ] set gid [ exec id -g ]
set not_gid [ expr { $gid + 1 } ] set not_gid [ expr { $gid + 1 } ]
set ps "${topdir}ps/pscommand" set ps "${topdir}ps/pscommand"
set raw_tty [ exec tty ] set tty [ get_tty ]
regexp "/dev/(.+)" $raw_tty > tty
set test "pgprep with no arguments" set test "pgprep with no arguments"
spawn $pgrep spawn $pgrep
@ -80,8 +79,12 @@ spawn $pgrep -s 1 $testproc_comm
expect_blank "$test" expect_blank "$test"
set test "pgrep matches on tty" set test "pgrep matches on tty"
spawn $pgrep -t $tty $testproc_comm if { $tty == "" } {
expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$" 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" set test "pgrep doesn't match with bogus tty"
spawn $pgrep -t glass $testproc_comm spawn $pgrep -t glass $testproc_comm

View File

@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
set gid [ exec id -g ] set gid [ exec id -g ]
set not_gid [ expr { $gid + 1 } ] set not_gid [ expr { $gid + 1 } ]
set ps "${topdir}ps/pscommand" set ps "${topdir}ps/pscommand"
set raw_tty [ exec tty ] set tty [ get_tty ]
regexp "/dev/(.+)" $raw_tty > tty
set test "pkill with no arguments" set test "pkill with no arguments"
spawn $pkill spawn $pkill

View File

@ -9,8 +9,6 @@ set uid [ exec id -u ]
set not_uid [ expr { $uid + 1 } ] set not_uid [ expr { $uid + 1 } ]
set gid [ exec id -g ] set gid [ exec id -g ]
set not_gid [ expr { $gid + 1 } ] set not_gid [ expr { $gid + 1 } ]
set raw_tty [ exec tty ]
regexp "/dev/(.+)" $raw_tty > tty
# All the fields # All the fields
# Cannot do args,cmd,comm # Cannot do args,cmd,comm

View File

@ -1,12 +1,14 @@
# #
# check the ps SCHED_BATCH scheduler policy output # check the ps SCHED_BATCH scheduler policy output
# #
set ps "${topdir}ps/pscommand" # This is too flaky on certain build systems to be
set schedbatch "${topdir}testsuite/test-schedbatch" # reliable - CS
#set ps "${topdir}ps/pscommand"
spawn $schedbatch 18 #set schedbatch "${topdir}testsuite/test-schedbatch"
#
#spawn $schedbatch 18
#
set test "ps SCHED_BATCH scheduler" set test "ps SCHED_BATCH scheduler"
spawn $ps --no-header -o comm,cls,nice -a #spawn $ps --no-header -o comm,cls,nice -a
expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18" #expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
untested "$test" untested "$test"