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/install | |
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/install')
-rwxr-xr-x | tests/install/basic-1.sh | 4 | ||||
-rwxr-xr-x | tests/install/install-C.sh | 4 | ||||
-rwxr-xr-x | tests/install/strip-program.sh | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh index 3a1bfae8d..db3b3c31d 100755 --- a/tests/install/basic-1.sh +++ b/tests/install/basic-1.sh @@ -80,8 +80,8 @@ iwd=$(pwd) mkdir sub || fail=1 (cd sub && chmod 0 . && - ginstall -d "$iwd/xx/yy" rel/sub1 rel/sub2 2> /dev/null -) && fail=1 + returns_ 1 ginstall -d "$iwd/xx/yy" rel/sub1 rel/sub2 2> /dev/null +) || fail=1 chmod 755 sub # Ensure that the first argument-dir has been created. diff --git a/tests/install/install-C.sh b/tests/install/install-C.sh index 214e3ae14..630005c89 100755 --- a/tests/install/install-C.sh +++ b/tests/install/install-C.sh @@ -107,9 +107,9 @@ ginstall -Cv -m$mode2 a b > out || fail=1 compare out out_empty || fail=1 # options -C and --preserve-timestamps are mutually exclusive -ginstall -C --preserve-timestamps a b && fail=1 +returns_ 1 ginstall -C --preserve-timestamps a b || fail=1 # options -C and --strip are mutually exclusive -ginstall -C --strip --strip-program=echo a b && fail=1 +returns_ 1 ginstall -C --strip --strip-program=echo a b || fail=1 Exit $fail diff --git a/tests/install/strip-program.sh b/tests/install/strip-program.sh index 1350e30d2..7ac2165ea 100755 --- a/tests/install/strip-program.sh +++ b/tests/install/strip-program.sh @@ -34,7 +34,7 @@ ginstall src dest -s --strip-program=./b || fail=1 compare exp dest || fail=1 # Check that install cleans up properly if strip fails. -ginstall src dest2 -s --strip-program=./FOO && fail=1 +returns_ 1 ginstall src dest2 -s --strip-program=./FOO || fail=1 test -e dest2 && fail=1 Exit $fail |