tests: avoid potential overflows with `expr`
commitff6cc22d062c493c9fee27cfe1d2e6328d502a43
authorPádraig Brady <P@draigBrady.com>
Wed, 20 Apr 2016 13:03:05 +0000 (20 14:03 +0100)
committerPádraig Brady <P@draigBrady.com>
Thu, 21 Apr 2016 18:34:18 +0000 (21 19:34 +0100)
treedf43a7f32e55778478f5b3833373066c8469b0e0
parent163c70d970ca3e216e24970fc5ebb1b48fdb855e
tests: avoid potential overflows with `expr`

* cfg.mk (sc_prohibit_expr_unsigned): expr uses intmax_t internally
when GMP is not available, so flag any uses of unsigned limits.
* tests/misc/timeout-parameters.sh: Remove the overflow related
to UINT_MAX as it's handled by the following case.  Change the
following case from 99... to $TIME_T_OFLOW to be more expressive
in what it's actually testing.  Directly check that commands succeed,
rather than inspecting $? afterwards.
* tests/dd/skip-seek-past-dev.sh: Guard against large device sizes.
* tests/id/setgid.sh: Protect: Guard against large group IDs.
* tests/misc/cut-huge-range.sh: Tweak comment to avoid syntax check.
It's tempting to simplify to just skip the test if expr fails,
but SIZE_MAX > INTMAX_MAX is the common case.
cfg.mk
tests/dd/skip-seek-past-dev.sh
tests/id/setgid.sh
tests/misc/cut-huge-range.sh
tests/misc/timeout-parameters.sh