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/df | |
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/df')
-rwxr-xr-x | tests/df/no-mtab-status.sh | 26 | ||||
-rwxr-xr-x | tests/df/skip-rootfs.sh | 2 |
2 files changed, 14 insertions, 14 deletions
diff --git a/tests/df/no-mtab-status.sh b/tests/df/no-mtab-status.sh index d9899c4ad..0c1bec8ef 100755 --- a/tests/df/no-mtab-status.sh +++ b/tests/df/no-mtab-status.sh @@ -77,22 +77,22 @@ LD_PRELOAD=./k.so df -Ti '.' || fail=1 LD_PRELOAD=./k.so df --total '.' || fail=1 # These tests are supposed to fail: -LD_PRELOAD=./k.so df && fail=1 -LD_PRELOAD=./k.so df -i && fail=1 -LD_PRELOAD=./k.so df -T && fail=1 -LD_PRELOAD=./k.so df -Ti && fail=1 -LD_PRELOAD=./k.so df --total && fail=1 +LD_PRELOAD=./k.so returns_ 1 df || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -i || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -T || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -Ti || fail=1 +LD_PRELOAD=./k.so returns_ 1 df --total || fail=1 -LD_PRELOAD=./k.so df -a && fail=1 -LD_PRELOAD=./k.so df -a '.' && fail=1 +LD_PRELOAD=./k.so returns_ 1 df -a || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -a '.' || fail=1 -LD_PRELOAD=./k.so df -l && fail=1 -LD_PRELOAD=./k.so df -l '.' && fail=1 +LD_PRELOAD=./k.so returns_ 1 df -l || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -l '.' || fail=1 -LD_PRELOAD=./k.so df -t hello && fail=1 -LD_PRELOAD=./k.so df -t hello '.' && fail=1 +LD_PRELOAD=./k.so returns_ 1 df -t hello || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -t hello '.' || fail=1 -LD_PRELOAD=./k.so df -x hello && fail=1 -LD_PRELOAD=./k.so df -x hello '.' && fail=1 +LD_PRELOAD=./k.so returns_ 1 df -x hello || fail=1 +LD_PRELOAD=./k.so returns_ 1 df -x hello '.' || fail=1 Exit $fail diff --git a/tests/df/skip-rootfs.sh b/tests/df/skip-rootfs.sh index ed5364eb3..c42253dc3 100755 --- a/tests/df/skip-rootfs.sh +++ b/tests/df/skip-rootfs.sh @@ -34,7 +34,7 @@ grep '^rootfs' out && { fail=1; cat out; } # Ensure that rootfs is yet skipped when explicitly specifying "-t rootfs". # As df emits "no file systems processed" in this case, it would be a failure # if df exited with status Zero. -df -t rootfs >out && fail=1 +returns_ 1 df -t rootfs >out || fail=1 grep '^rootfs' out && { fail=1; cat out; } # Ensure that the rootfs is shown when explicitly both specifying "-t rootfs" |