[Top][All Lists]
[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