aboutsummaryrefslogtreecommitdiffstats
path: root/tests/misc/truncate-overflow.sh
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/misc/truncate-overflow.sh
parenttests: avoid skipping some df tests with libmount (diff)
downloadcoreutils-58cff8a009ed9b8280c5f35074cef97231286023.tar.gz
coreutils-58cff8a009ed9b8280c5f35074cef97231286023.zip
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/misc/truncate-overflow.sh')
-rwxr-xr-xtests/misc/truncate-overflow.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/misc/truncate-overflow.sh b/tests/misc/truncate-overflow.sh
index a4a513cf0..c690c4068 100755
--- a/tests/misc/truncate-overflow.sh
+++ b/tests/misc/truncate-overflow.sh
@@ -27,13 +27,13 @@ truncate -s-1 create-zero-len-file || fail=1
echo > non-empty-file
# signed overflow
-truncate -s$OFF_T_OFLOW file && fail=1
+returns_ 1 truncate -s$OFF_T_OFLOW file || fail=1
# += signed overflow
-truncate -s+$OFF_T_MAX non-empty-file && fail=1
+returns_ 1 truncate -s+$OFF_T_MAX non-empty-file || fail=1
# *= signed overflow
IO_BLOCK_OFLOW=$(expr $OFF_T_MAX / $(stat -f -c%s .) + 1)
-truncate --io-blocks --size=$IO_BLOCK_OFLOW file && fail=1
+returns_ 1 truncate --io-blocks --size=$IO_BLOCK_OFLOW file || fail=1
Exit $fail