tests: check if 'compress' is real or fake
authorPeter Rosin <peda@lysator.liu.se>
Thu, 9 Feb 2012 09:25:20 +0000 (10:25 +0100)
committerPeter Rosin <peda@lysator.liu.se>
Thu, 9 Feb 2012 09:25:20 +0000 (10:25 +0100)
On Cygwin, 'compress' is provided by sharutils and is just a
dummy script that is not able to actually compress (it can
only decompress).  This fake 'compress' is not usable for
our purpose - to create compressed tarballs.

* tests/dist-formats.tap (missing_compressors): Count 'compress'
as missing if it does not support the -c option.

tests/dist-formats.tap

index dd9d896..24d5955 100755 (executable)
@@ -75,10 +75,18 @@ all_compressors=`
   done | tr "$nl" ' '`
 echo All compressors: $all_compressors
 
-# Assume gzip(1) is available on every reasonable portability target.
 missing_compressors=`
   for c in $all_compressors; do
-    test $c = gzip || $c --version </dev/null >&2 && continue
+    case $c in
+      # Assume gzip(1) is available on every reasonable portability target.
+      gzip)     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
+      # is actually able to compress input.
+      compress) $c -c </dev/null >/dev/null && continue;;
+      *)        $c --version </dev/null >&2 && continue;;
+    esac
     echo $c
   done | tr "$nl" ' '`
 echo Missing compressors: $missing_compressors