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/mv/no-target-dir.sh | |
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/mv/no-target-dir.sh')
-rwxr-xr-x | tests/mv/no-target-dir.sh | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/mv/no-target-dir.sh b/tests/mv/no-target-dir.sh index 9f8ece0a1..d7bca59b1 100755 --- a/tests/mv/no-target-dir.sh +++ b/tests/mv/no-target-dir.sh @@ -20,6 +20,8 @@ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mv +LS_FAILURE=2 + mkdir -p d/sub empty src d2/sub e2 || framework_failure_ touch f || framework_failure_ @@ -35,15 +37,15 @@ mv a b || mv -fT d empty || fail=1 # Ensure that the source, d, is gone. -ls -d d > /dev/null 2>&1 && fail=1 +returns_ $LS_FAILURE ls -d d > /dev/null 2>&1 || fail=1 # Ensure that the dest dir now has a subdirectory. test -d empty/sub || fail=1 # rename must fail, since the dest is non-empty. -mv -fT src d2 2> /dev/null && fail=1 +returns_ 1 mv -fT src d2 2> /dev/null || fail=1 # rename must fail, since the src is not a directory. -mv -fT f e2 2> /dev/null && fail=1 +returns_ 1 mv -fT f e2 2> /dev/null || fail=1 Exit $fail |