1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-06-01 12:56:04 +02:00
zsh/Test/B11kill.ztst
Chris Down cb5d8bfe86 45451: builtins: kill: Add basic test suite
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.
2020-02-18 12:59:51 +00:00

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