summaryrefslogtreecommitdiff
path: root/tests/df
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2015-01-13 03:30:33 +0000
committerPádraig Brady <P@draigBrady.com>2015-01-14 12:20:32 +0000
commit58cff8a009ed9b8280c5f35074cef97231286023 (patch)
tree771e8b3fa70fab99b548790931803b75dd272603 /tests/df
parent924b1cadff3f2782475516d7eca9aabe856dbf0f (diff)
downloadcoreutils-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-xtests/df/no-mtab-status.sh26
-rwxr-xr-xtests/df/skip-rootfs.sh2
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"