From 7a061649358367ddd62dce4c31029532ed733447 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 10 Apr 2013 15:26:47 -0700 Subject: [PATCH] tests: work even if non-GNU gzip is installed in /usr/local/bin Problem reported by Antonio Diaz Diaz in . * tests/help-version (zdiff_setup, zcat_setup, znew_setup, zgrep_setup) (gzexe_setup): Pass --__bindir so that subsidiary programs are our own's, not /usr/local/bin's. This requires using 'eval' on the result. (zcmp_setup, gunzip_setup, zmore_setup, zless_setup, zforce_setup) (zegrep_setup, zfgrep_setup): Invoke one of the other setup functions, to make the patterns more obvious and simplify future maintenance. * zcmp.in, zegrep.in, zfgrep.in: Pass __bindir to subsidiary program. --- tests/help-version | 26 +++++++++++++------------- zcmp.in | 2 +- zegrep.in | 2 +- zfgrep.in | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/help-version b/tests/help-version index 24f16f9..695b384 100755 --- a/tests/help-version +++ b/tests/help-version @@ -151,18 +151,18 @@ cmp_setup () { args="$tmp_in $tmp_in2"; } # The transfer rate would vary between runs. dd_setup () { args=status=noxfer; } -zdiff_setup () { args="$zin $zin2"; } -zcmp_setup () { args="$zin $zin2"; } -zcat_setup () { args=$zin; } -gunzip_setup () { args=$zin; } -zmore_setup () { args=$zin; } -zless_setup () { args=$zin; } -znew_setup () { args=$bigZ_in; } -zforce_setup () { args=$zin; } -zgrep_setup () { args="z $zin"; } -zegrep_setup () { args="z $zin"; } -zfgrep_setup () { args="z $zin"; } -gzexe_setup () { args=$tmp_in; } +zdiff_setup () { args="--__bindir '$abs_top_builddir' $zin $zin2"; } +zcmp_setup () { zdiff_setup; } +zcat_setup () { args="--__bindir '$abs_top_builddir' $zin"; } +gunzip_setup () { zcat_setup; } +zmore_setup () { zcat_setup; } +zless_setup () { zcat_setup; } +znew_setup () { args="--__bindir '$abs_top_builddir' $bigZ_in"; } +zforce_setup () { zcat_setup; } +zgrep_setup () { args="--__bindir '$abs_top_builddir' z $zin"; } +zegrep_setup () { zgrep_setup; } +zfgrep_setup () { zgrep_setup; } +gzexe_setup () { args="--__bindir '$abs_top_builddir' $tmp_in"; } # We know that $tmp_in contains a "0" grep_setup () { args="0 $tmp_in"; } @@ -257,7 +257,7 @@ for i in $built_programs; do else args= fi - if env $i $args < $tmp_in > $tmp_out; then + if eval "env \$i $args < \$tmp_in > \$tmp_out"; then : # ok else echo FAIL: $i diff --git a/zcmp.in b/zcmp.in index 3752cc1..28b9350 100644 --- a/zcmp.in +++ b/zcmp.in @@ -48,4 +48,4 @@ case $1 in --version) echo "$version" || st=2; exit $st;; esac -exec zdiff --__cmp "$@" +exec zdiff --__bindir "$bindir" --__cmp "$@" diff --git a/zegrep.in b/zegrep.in index 800210f..99855ef 100644 --- a/zegrep.in +++ b/zegrep.in @@ -4,4 +4,4 @@ case $1 in --__bindir) bindir=${2?}; shift; shift;; esac PATH=$bindir:$PATH -exec zgrep -E "$@" +exec zgrep --__bindir "$bindir" -E "$@" diff --git a/zfgrep.in b/zfgrep.in index c458d96..df17201 100644 --- a/zfgrep.in +++ b/zfgrep.in @@ -4,4 +4,4 @@ case $1 in --__bindir) bindir=${2?}; shift; shift;; esac PATH=$bindir:$PATH -exec zgrep -F "$@" +exec zgrep --__bindir "$bindir" -F "$@" -- 2.30.2