automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] {master} tests: workaround for shells with broken 'set -e'


From: Stefano Lattarini
Subject: [FYI] {master} tests: workaround for shells with broken 'set -e'
Date: Sun, 12 Feb 2012 18:06:11 +0100

* 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 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/tests/dist-formats.tap b/tests/dist-formats.tap
index 80be9c9..612af54 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 </dev/null >&2 && continue;;
+        $c --version </dev/null >&2 && continue
+        : For shells with busted 'set -e'.
+        ;;
     esac
     echo $c
   done | tr "$nl" ' '`
-- 
1.7.7.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]