* 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. --- ChangeLog | 8 ++++++++ tests/init.sh | 13 +++++++++++++ 2 files changed, 21 insertions(+)
diff --git a/ChangeLog b/ChangeLog index b769bbb..2013908 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2015-02-11 Pádraig Brady <[email protected]> + 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 <[email protected]> + mountlist: only use libmount when specified There are currently many shared libs dependencies introduced by libmount with associated runtime and virt mem overhead. diff --git a/tests/init.sh b/tests/init.sh index 37fc7b6..ac1e1a2 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -93,6 +93,19 @@ skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; } 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 -- 2.1.0
