diff options
author | Pádraig Brady <P@draigBrady.com> | 2015-01-13 03:30:33 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2015-01-14 12:20:32 +0000 |
commit | 58cff8a009ed9b8280c5f35074cef97231286023 (patch) | |
tree | 771e8b3fa70fab99b548790931803b75dd272603 /tests/chown | |
parent | 924b1cadff3f2782475516d7eca9aabe856dbf0f (diff) | |
download | coreutils-58cff8a009ed9b8280c5f35074cef97231286023.tar.xz |
tests: add extra protection against unexpected exits
Many tests use `program ... && fail=1` to ensure expected
error situations are indicated. However that would mask
an unexpected exit (like a crash). Therefore explicitly
check the expected exit code.
Note where error messages are also verified, the extra
protection is not added.
* tests/init.sh (returns_): A new helper function to
check the return code of a command, and used
throughout the tests.
* cfg.mk (sc_prohibit_and_fail_1): Add a syntax check
to avoid new instances of this issue.
Diffstat (limited to 'tests/chown')
-rwxr-xr-x | tests/chown/basic.sh | 2 | ||||
-rwxr-xr-x | tests/chown/separator.sh | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/tests/chown/basic.sh b/tests/chown/basic.sh index 3eee15694..e57b9c890 100755 --- a/tests/chown/basic.sh +++ b/tests/chown/basic.sh @@ -34,7 +34,7 @@ printf "ownership of 'f' retained as $(id -nu)\n" > exp compare exp out || fail=1 # Ensure diagnostics work for non existent files. -chown -v 0 nf > out && fail=1 +returns_ 1 chown -v 0 nf > out || fail=1 printf "failed to change ownership of 'nf' to 0\n" > exp compare exp out || fail=1 diff --git a/tests/chown/separator.sh b/tests/chown/separator.sh index 815533036..642b00238 100755 --- a/tests/chown/separator.sh +++ b/tests/chown/separator.sh @@ -59,7 +59,7 @@ for u in $id_u "$id_un" ''; do esac for sep in $seps; do case $u$sep$g in - [0-9]*$sep) chown "$u$sep$g" . 2> /dev/null && fail=1 ;; + [0-9]*$sep) returns_ 1 chown "$u$sep$g" . 2>/dev/null || fail=1 ;; *) chown "$u$sep$g" . || fail=1 ;; esac done |