procps/testsuite/kill.test/kill.exp
Craig Small 557fda8f98 build-sys: Enable testing of sigqueue
The referenced commits enavled both pkill and kill to send an integer to
the killed or signalled process. The test_process now will report on the
integer if sent and the testsuite changes take advantage of this
new feature.

Another process make/destroy set had to be made as using spawn
instead of exec changes both the SID and TTY for the underlying
process, making other tests fail.

References:
 commit 7d55409b82
 commit 2b804a532a
2020-05-11 16:59:18 +10:00

66 lines
1.9 KiB
Plaintext

#
# Dejagnu testsuite for kill - part of procps
#
set kill ${topdir}kill
if { ![ file exists $kill ] } {
untested { skipping (not build)}
return
}
set test "kill with no arguments"
spawn $kill
expect_pass "$test" "Usage:\\s+\(lt-\)?kill \\\[options\\\] <pid> \\\[...\\\]\\s+Options:\\s+<pid> \\\[...\\\]\\s+send signal to every <pid> listed\\s+-<signal>, -s, --signal <signal>\\s+specify the <signal> to be sent\\s+-l, --list=\\\[<signal>\\\]\\s+list all signal names, or convert one to a name\\\s+-L, --table\\s+list all signal names in a nice table$usage_help$usage_version$usage_man"
set test "kill list signal names"
spawn $kill -l
expect_pass "$test" "^\(\[A-Z12+-\]\\s*\)+$"
set test "kill list signal names in table"
spawn $kill -L
expect_pass "$test" "^\(\\s+\\d+ \[A-Z12+-\]+\)+\\s*$"
set test "kill convert signal name to number no space"
spawn $kill -lHUP
expect_pass "$test" "^1\\s*"
set test "kill convert signal name to number with space"
spawn $kill -l HUP
expect_pass "$test" "^1\\s*"
set test "kill convert SIG-prefixed signal name to number no space"
spawn $kill -lSIGHUP
expect_pass "$test" "^1\\s*$"
set test "kill convert SIG-prefixed signal name to number with space"
spawn $kill -l SIGHUP
expect_pass "$test" "^1\\s*$"
set test "kill convert signal number to name no space"
spawn $kill -l1
expect_pass "$test" "^HUP\\s*"
set test "kill convert signal number to name with space"
spawn $kill -l 1
expect_pass "$test" "^HUP\\s*"
make_pipeproc
set test "kill with SIGUSR1"
spawn $kill -USR1 $pipeproc_pid
expect_blank_continue "$test"
expect_pipeproc_pass "$test" "SIG SIGUSR1"
set test "kill with long SIGUSR2"
spawn $kill -s SIGUSR2 $pipeproc_pid
expect_blank_continue "$test"
expect_pipeproc_pass "$test" "SIG SIGUSR2"
set test "kill with queued int"
spawn $kill -USR1 -q 42 $pipeproc_pid
expect_blank_continue "$test"
expect_pipeproc_pass "$test" "SIG SIGUSR1 value=42"
kill_pipeproc