422a4a5e67
Some Debian pbuilders error out on some of the tests because they cannot find kill to kill the test processes. Now if we cannot find kill we skip those lot of tests. Still need to work out why the S390 doesn't like test_sched References: http://bugs.debian.org/725743
138 lines
3.8 KiB
Plaintext
138 lines
3.8 KiB
Plaintext
#
|
|
# Dejagnu tests for pkill - part of procps
|
|
#
|
|
set mypid [pid]
|
|
set not_ppid [ expr { $mypid + 1 } ]
|
|
set pkill "${topdir}pkill"
|
|
set uid [ exec id -u ]
|
|
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 test "pkill with no arguments"
|
|
spawn $pkill
|
|
expect_pass "$test" "^\(lt-\)\?pkill: no matching criteria specified\\s*"
|
|
|
|
# Tests that don't need the test process go above here
|
|
if { [ catch { exec sh -c "command -v kill" } kill_path] } {
|
|
untested { kill path not found }
|
|
return
|
|
}
|
|
|
|
make_testproc
|
|
set testproc_len [ string length $testproc_comm ]
|
|
set testproc_trim [ string range $testproc_comm 0 [ expr { $testproc_len - 2 } ] ]
|
|
set testproc1_sid [ exec $ps --no-headers -o sid $testproc1_pid ]
|
|
|
|
set test "pkill find both test pids"
|
|
spawn $pkill -0 -e $testproc_comm
|
|
expect_pass "$test" "^$testproc_comm killed \\(pid $testproc1_pid\\)\\s+$testproc_comm killed \\(pid $testproc2_pid\\)\\s*$"
|
|
|
|
set test "pkill signal option order"
|
|
spawn $pkill -e $testproc_comm -0
|
|
expect_pass "$test" "^$testproc_comm killed \\(pid $testproc1_pid\\)\\s+$testproc_comm killed \\(pid $testproc2_pid\\)\\s*$"
|
|
|
|
# In Debian only
|
|
#set test "pkill counts 2 test pids"
|
|
#spawn $pkill -c $testproc
|
|
#expect_pass "$test" "^2\\s*"
|
|
|
|
set test "pkill with matching gid"
|
|
#spawn $pkill -G $gid $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill with not matching gid"
|
|
#spawn $pkill -G $not_gid $testproc
|
|
#expect_blank $test
|
|
untested "$test"
|
|
|
|
set test "pkill with process name"
|
|
#spawn $pkill -l $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc\\s+$testproc2_pid\\s+$testproc\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill find newest test pid"
|
|
#spawn $pkill -n $testproc
|
|
#expect_pass "$test" "^$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill find oldest test pid"
|
|
#spawn $pkill -o $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill matches with parent pid"
|
|
#spawn $pkill -P $mypid $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill doesn't match with bogus parent pid"
|
|
#spawn $pkill -P $not_ppid $testproc
|
|
#expect_blank "$test"
|
|
untested "$test"
|
|
|
|
set test "pkill matches with its own sid"
|
|
#spawn $pkill -s $sleep1_sid $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill doesn't match with bogus sid"
|
|
#spawn $pkill -s 1 $testproc
|
|
#expect_blank "$test"
|
|
untested "$test"
|
|
|
|
set test "pkill matches on tty"
|
|
#spawn $pkill -t $tty $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill doesn't match with bogus tty"
|
|
#spawn $pkill -t glass $testproc
|
|
#expect_blank "$test"
|
|
untested "$test"
|
|
|
|
set test "pkill with matching euid"
|
|
#spawn $pkill -u $uid $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill with not matching euid"
|
|
#spawn $pkill -u $not_uid $testproc
|
|
#expect_blank $test
|
|
untested "$test"
|
|
|
|
set test "pkill with matching uid"
|
|
#spawn $pkill -U $uid $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill with not matching uid"
|
|
#spawn $pkill -U $not_uid $testproc
|
|
#expect_blank $test
|
|
untested "$test"
|
|
|
|
set test "pkill matches on substring"
|
|
#spawn $pkill $testproc_trim
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill matches full string with exact"
|
|
#spawn $pkill -x $testproc
|
|
#expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
|
|
untested "$test"
|
|
|
|
set test "pkill does not match substring with exact"
|
|
#spawn $pkill -x $testproc_trim
|
|
#expect_blank $test
|
|
untested "$test"
|
|
|
|
|
|
# Cleanup
|
|
eval exec "$kill_path $testproc1_pid"
|
|
eval exec "$kill_path $testproc2_pid"
|
|
exec rm $testproc_path
|