bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] tests: provide returns_() to simplify exit status checking


From: Pádraig Brady
Subject: [PATCH] tests: provide returns_() to simplify exit status checking
Date: Wed, 11 Feb 2015 00:23:05 +0000

* 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  <address@hidden>
 
+       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  <address@hidden>
+
        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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]