Skip to content

Commit 9617414

Browse files
peffgitster
authored andcommitted
t5000: simplify gzip prerequisite checks
In t5000, we test the built-in ".tar.gz" config for git-archive. To make our tests portable, we check that we have a way to both gzip and gunzip, and we respected environment variables to point to alternate commands for doing these operations. However, the $GZIP variable did not actually do anything, as changing it would not affect the baked-in value in archive-tar.c. Moreover, setting the variable $GZIP influences gzip itself. From the gzip man page: The environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. We could rename this variable, and use it to set up custom config (or even have a Makefile knob to affect the built binary), but it is not worth the trouble; nobody has ever reported a problem with the baked-in default, and they can always change it via config if they need to. Let's just drop the variable and use "gzip" in the test (keeping the prerequisite, of course). While we're at it, we can drop the GUNZIP variable and prerequisite; it uses "gzip -d", so if we have GZIP, we will have both. We can also use test_lazy_prereq for the gzip prerequisite, which is simpler and behaves more consistently with the rest of git (e.g., by making output available when the test is run with "-v"). Noticed-by: Christian Hesse <mail@eworm.de> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent a155a5f commit 9617414

1 file changed

Lines changed: 4 additions & 16 deletions

File tree

t/t5000-tar-tree.sh

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ commit id embedding:
2525
'
2626

2727
. ./test-lib.sh
28-
GZIP=${GZIP:-gzip}
29-
GUNZIP=${GUNZIP:-gzip -d}
3028

3129
SUBSTFORMAT=%H%n
3230

@@ -39,6 +37,8 @@ test_lazy_prereq TAR_NEEDS_PAX_FALLBACK '
3937
)
4038
'
4139

40+
test_lazy_prereq GZIP 'gzip --version'
41+
4242
get_pax_header() {
4343
file=$1
4444
header=$2=
@@ -275,12 +275,6 @@ test_expect_success 'only enabled filters are available remotely' '
275275
test_cmp remote.bar config.bar
276276
'
277277

278-
if $GZIP --version >/dev/null 2>&1; then
279-
test_set_prereq GZIP
280-
else
281-
say "Skipping some tar.gz tests because gzip not found"
282-
fi
283-
284278
test_expect_success GZIP 'git archive --format=tgz' '
285279
git archive --format=tgz HEAD >j.tgz
286280
'
@@ -300,14 +294,8 @@ test_expect_success GZIP 'infer tgz from .tar.gz filename' '
300294
test_cmp j.tgz j3.tar.gz
301295
'
302296

303-
if $GUNZIP --version >/dev/null 2>&1; then
304-
test_set_prereq GUNZIP
305-
else
306-
say "Skipping some tar.gz tests because gunzip was not found"
307-
fi
308-
309-
test_expect_success GZIP,GUNZIP 'extract tgz file' '
310-
$GUNZIP -c <j.tgz >j.tar &&
297+
test_expect_success GZIP 'extract tgz file' '
298+
gzip -d -c <j.tgz >j.tar &&
311299
test_cmp b.tar j.tar
312300
'
313301

0 commit comments

Comments
 (0)