git/t/t0024-crlf-archive.sh
René Scharfe ac00128298 t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
InfoZIP's unzip takes default parameters from the environment variable
UNZIP.  Unset it in the test library and use GIT_UNZIP for specifying
alternate versions of the unzip command instead.

t0024 wasn't even using variable for the actual extraction.  t5000
was, but when setting it to InfoZIP's unzip it would try to extract
from itself (because it treats the contents of $UNZIP as parameters),
which failed of course.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-01-06 23:37:40 -08:00

47 lines
795 B
Bash
Executable file

#!/bin/sh
test_description='respect crlf in git archive'
. ./test-lib.sh
GIT_UNZIP=${GIT_UNZIP:-unzip}
test_expect_success setup '
git config core.autocrlf true &&
printf "CRLF line ending\r\nAnd another\r\n" > sample &&
git add sample &&
test_tick &&
git commit -m Initial
'
test_expect_success 'tar archive' '
git archive --format=tar HEAD |
( mkdir untarred && cd untarred && "$TAR" -xf - ) &&
test_cmp sample untarred/sample
'
"$GIT_UNZIP" -v >/dev/null 2>&1
if [ $? -eq 127 ]; then
say "Skipping ZIP test, because unzip was not found"
else
test_set_prereq UNZIP
fi
test_expect_success UNZIP 'zip archive' '
git archive --format=zip HEAD >test.zip &&
( mkdir unzipped && cd unzipped && "$GIT_UNZIP" ../test.zip ) &&
test_cmp sample unzipped/sample
'
test_done