Merge branch 'jk/test-match-signal'
The test framework learned a new helper test_match_signal to check an exit code from getting killed by an expected signal. * jk/test-match-signal: t/lib-git-daemon: use test_match_signal test_must_fail: use test_match_signal t0005: use test_match_signal as appropriate tests: factor portable signal check out of t0005
This commit is contained in:
@ -612,7 +612,7 @@ test_must_fail () {
|
||||
then
|
||||
echo >&2 "test_must_fail: command succeeded: $*"
|
||||
return 1
|
||||
elif test $exit_code -eq 141 && list_contains "$_test_ok" sigpipe
|
||||
elif test_match_signal 13 $exit_code && list_contains "$_test_ok" sigpipe
|
||||
then
|
||||
return 0
|
||||
elif test $exit_code -gt 129 && test $exit_code -le 192
|
||||
@ -962,6 +962,21 @@ test_env () {
|
||||
)
|
||||
}
|
||||
|
||||
# Returns true if the numeric exit code in "$2" represents the expected signal
|
||||
# in "$1". Signals should be given numerically.
|
||||
test_match_signal () {
|
||||
if test "$2" = "$((128 + $1))"
|
||||
then
|
||||
# POSIX
|
||||
return 0
|
||||
elif test "$2" = "$((256 + $1))"
|
||||
then
|
||||
# ksh
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
# Read up to "$1" bytes (or to EOF) from stdin and write them to stdout.
|
||||
test_copy_bytes () {
|
||||
perl -e '
|
||||
|
Reference in New Issue
Block a user