Mercurial > hg > octave-nkf > gnulib-hg
changeset 17899:28409c0a2a56
tests: provide returns_() to simplify exit status checking
* tests/init.sh (returns_): A new function for use in tests,
to allow for easier checking of return values, where you expect
a command to exit with failure status. By checking for a particular
exit code, you don't hide any crashes for example.
author | Pádraig Brady <P@draigBrady.com> |
---|---|
date | Wed, 11 Feb 2015 00:16:55 +0000 |
parents | e116e136cebd |
children | c4e49082f4e2 |
files | ChangeLog tests/init.sh |
diffstat | 2 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-02-11 Pádraig Brady <P@draigBrady.com> + + tests: provide returns_() to simplify exit status checking + * tests/init.sh (returns_): A new function for use in tests, + to allow for easier checking of return values, where you expect + a command to exit with failure status. By checking for a particular + exit code, you don't hide any crashes for example. + 2015-02-11 Pádraig Brady <P@draigBrady.com> mountlist: only use libmount when specified
--- a/tests/init.sh +++ b/tests/init.sh @@ -93,6 +93,19 @@ fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; } framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } +# This is used to simplify checking of the return value +# which is useful when ensuring a command fails as desired. +# I.e., just doing `command ... &&fail=1` will not catch +# a segfault in command for example. With this helper you +# instead check an explicit exit code like +# returns_ 1 command ... || fail +returns_ () { + local exp_exit="$1" + shift + "$@" + test $? -eq $exp_exit +} + # Sanitize this shell to POSIX mode, if possible. DUALCASE=1; export DUALCASE if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then