From: Stefano Lattarini Date: Sun, 12 Feb 2012 17:03:08 +0000 (+0100) Subject: tests: workaround for shells with broken 'set -e' X-Git-Tag: ng-0.5a~9^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dae8578ed1fbdff7e60e4bb069700182d5ede6a5;p=thirdparty%2Fautomake.git 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. --- 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" ' '`