From dae8578ed1fbdff7e60e4bb069700182d5ede6a5 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sun, 12 Feb 2012 18:03:08 +0100 Subject: [PATCH] tests: workaround for shells with broken 'set -e' * tests/dist-formats.tap: Some versions of the BSD shell wrongly bail out when the 'errexit' shell flag is active and the left-hand command in a "&&" list fails and that list is the *last* command of a "case" statement. This was causing an incorrect initialization of the '$missing_compressors' variable, and thus potential spurious failures when non-existing programs were assumed to be available. --- tests/dist-formats.tap | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/dist-formats.tap b/tests/dist-formats.tap index 80be9c9e5..612af54a4 100755 --- a/tests/dist-formats.tap +++ b/tests/dist-formats.tap @@ -80,7 +80,8 @@ missing_compressors=` case $c in # Assume gzip(1) is available on every reasonable portability target. gzip) - continue;; + continue + ;; # On Cygwin, as of 9/2/2012, 'compress' is provided by sharutils # and is just a dummy script that is not able to actually compress # (it can only decompress). So, check that the 'compress' program @@ -92,9 +93,13 @@ missing_compressors=` compress) for x in 1 2 3 4 5 6 7 8; do echo aaaaaaaaaaaaaaa - done | $c -c >/dev/null && continue;; + done | $c -c >/dev/null && continue + : For shells with busted 'set -e'. + ;; *) - $c --version &2 && continue;; + $c --version &2 && continue + : For shells with busted 'set -e'. + ;; esac echo $c done | tr "$nl" ' '` -- 2.47.2