mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-06-01 12:56:04 +02:00
cb5d8bfe86
This is not totally comprehensive, but at least it's a start for the core functionality. In the next commits, we'll also use this base to add some regression tests.
61 lines
1.2 KiB
Plaintext
61 lines
1.2 KiB
Plaintext
# Tests for the kill builtin.
|
|
#
|
|
# The exit codes 11 and 19 in this file don't mean anything special; they're
|
|
# just exit codes which are specific enough that the failure of `kill` itself
|
|
# can be differentiated from exiting due to executing a trap.
|
|
|
|
%test
|
|
|
|
# Correct invocation
|
|
|
|
if zmodload zsh/system &>/dev/null; then
|
|
(
|
|
trap 'exit 19' TERM
|
|
kill $sysparams[pid]
|
|
)
|
|
else
|
|
ZTST_skip='Cannot zmodload zsh/system, skipping kill with no sigspec'
|
|
fi
|
|
19:kill with no sigspec
|
|
|
|
|
|
if zmodload zsh/system &>/dev/null; then
|
|
(
|
|
trap 'exit 11' USR1
|
|
kill -USR1 $sysparams[pid]
|
|
)
|
|
else
|
|
ZTST_skip='Cannot zmodload zsh/system, skipping kill with sigspec'
|
|
fi
|
|
11:kill with sigspec
|
|
|
|
# Incorrect invocation
|
|
|
|
(
|
|
kill a b c
|
|
)
|
|
3:kill with multiple wrong inputs should increment status
|
|
?(eval):kill:2: illegal pid: a
|
|
?(eval):kill:2: illegal pid: b
|
|
?(eval):kill:2: illegal pid: c
|
|
|
|
(
|
|
kill -INT a b c
|
|
)
|
|
3:kill with sigspec and wrong inputs should increment status
|
|
?(eval):kill:2: illegal pid: a
|
|
?(eval):kill:2: illegal pid: b
|
|
?(eval):kill:2: illegal pid: c
|
|
|
|
(
|
|
kill
|
|
)
|
|
1:kill with no arguments
|
|
?(eval):kill:2: not enough arguments
|
|
|
|
(
|
|
kill -INT
|
|
)
|
|
1:kill with sigspec only
|
|
?(eval):kill:2: not enough arguments
|