Merge branch 'js/tests-windows-port-fix'
* js/tests-windows-port-fix: tests: undo special treatment of CRLF for Windows Windows: a test_cmp that is agnostic to random LF <> CRLF conversions t5300-pack-object: do not compare binary data using test_cmp
This commit is contained in:
commit
fbaa22678b
@ -18,10 +18,6 @@ check() {
|
|||||||
cat stderr &&
|
cat stderr &&
|
||||||
false
|
false
|
||||||
fi &&
|
fi &&
|
||||||
if test_have_prereq MINGW
|
|
||||||
then
|
|
||||||
dos2unix -q stderr
|
|
||||||
fi &&
|
|
||||||
test_cmp expect-stdout stdout &&
|
test_cmp expect-stdout stdout &&
|
||||||
test_cmp expect-stderr stderr
|
test_cmp expect-stderr stderr
|
||||||
}
|
}
|
||||||
|
@ -151,7 +151,7 @@ test_expect_success \
|
|||||||
git cat-file $t $object || return 1
|
git cat-file $t $object || return 1
|
||||||
done <obj-list
|
done <obj-list
|
||||||
} >current &&
|
} >current &&
|
||||||
test_cmp expect current'
|
cmp expect current'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'use packed deltified (REF_DELTA) objects' \
|
'use packed deltified (REF_DELTA) objects' \
|
||||||
@ -166,7 +166,7 @@ test_expect_success \
|
|||||||
git cat-file $t $object || return 1
|
git cat-file $t $object || return 1
|
||||||
done <obj-list
|
done <obj-list
|
||||||
} >current &&
|
} >current &&
|
||||||
test_cmp expect current'
|
cmp expect current'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'use packed deltified (OFS_DELTA) objects' \
|
'use packed deltified (OFS_DELTA) objects' \
|
||||||
@ -181,7 +181,7 @@ test_expect_success \
|
|||||||
git cat-file $t $object || return 1
|
git cat-file $t $object || return 1
|
||||||
done <obj-list
|
done <obj-list
|
||||||
} >current &&
|
} >current &&
|
||||||
test_cmp expect current'
|
cmp expect current'
|
||||||
|
|
||||||
unset GIT_OBJECT_DIRECTORY
|
unset GIT_OBJECT_DIRECTORY
|
||||||
|
|
||||||
@ -195,9 +195,9 @@ test_expect_success 'survive missing objects/pack directory' '
|
|||||||
rm -fr $GOP &&
|
rm -fr $GOP &&
|
||||||
git index-pack --stdin --keep=test <../test-3-${packname_3}.pack &&
|
git index-pack --stdin --keep=test <../test-3-${packname_3}.pack &&
|
||||||
test -f $GOP/pack-${packname_3}.pack &&
|
test -f $GOP/pack-${packname_3}.pack &&
|
||||||
test_cmp $GOP/pack-${packname_3}.pack ../test-3-${packname_3}.pack &&
|
cmp $GOP/pack-${packname_3}.pack ../test-3-${packname_3}.pack &&
|
||||||
test -f $GOP/pack-${packname_3}.idx &&
|
test -f $GOP/pack-${packname_3}.idx &&
|
||||||
test_cmp $GOP/pack-${packname_3}.idx ../test-3-${packname_3}.idx &&
|
cmp $GOP/pack-${packname_3}.idx ../test-3-${packname_3}.idx &&
|
||||||
test -f $GOP/pack-${packname_3}.keep
|
test -f $GOP/pack-${packname_3}.keep
|
||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
@ -254,10 +254,6 @@ test_expect_success 'ensure "status --cached --recursive" preserves the --cached
|
|||||||
) &&
|
) &&
|
||||||
git submodule status --cached --recursive -- nested1 > ../actual
|
git submodule status --cached --recursive -- nested1 > ../actual
|
||||||
) &&
|
) &&
|
||||||
if test_have_prereq MINGW
|
|
||||||
then
|
|
||||||
dos2unix actual
|
|
||||||
fi &&
|
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@ test_expect_success $PREREQ \
|
|||||||
echo do
|
echo do
|
||||||
echo " echo \"!\$a!\""
|
echo " echo \"!\$a!\""
|
||||||
echo "done >commandline\$output"
|
echo "done >commandline\$output"
|
||||||
test_have_prereq MINGW && echo "dos2unix commandline\$output"
|
|
||||||
echo "cat > msgtxt\$output"
|
echo "cat > msgtxt\$output"
|
||||||
) >fake.sendmail &&
|
) >fake.sendmail &&
|
||||||
chmod +x ./fake.sendmail &&
|
chmod +x ./fake.sendmail &&
|
||||||
|
@ -710,3 +710,69 @@ test_ln_s_add () {
|
|||||||
git update-index --add --cacheinfo 120000 $ln_s_obj "$2"
|
git update-index --add --cacheinfo 120000 $ln_s_obj "$2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# The following mingw_* functions obey POSIX shell syntax, but are actually
|
||||||
|
# bash scripts, and are meant to be used only with bash on Windows.
|
||||||
|
|
||||||
|
# A test_cmp function that treats LF and CRLF equal and avoids to fork
|
||||||
|
# diff when possible.
|
||||||
|
mingw_test_cmp () {
|
||||||
|
# Read text into shell variables and compare them. If the results
|
||||||
|
# are different, use regular diff to report the difference.
|
||||||
|
local test_cmp_a= test_cmp_b=
|
||||||
|
|
||||||
|
# When text came from stdin (one argument is '-') we must feed it
|
||||||
|
# to diff.
|
||||||
|
local stdin_for_diff=
|
||||||
|
|
||||||
|
# Since it is difficult to detect the difference between an
|
||||||
|
# empty input file and a failure to read the files, we go straight
|
||||||
|
# to diff if one of the inputs is empty.
|
||||||
|
if test -s "$1" && test -s "$2"
|
||||||
|
then
|
||||||
|
# regular case: both files non-empty
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_a <"$1"
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_b <"$2"
|
||||||
|
elif test -s "$1" && test "$2" = -
|
||||||
|
then
|
||||||
|
# read 2nd file from stdin
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_a <"$1"
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_b
|
||||||
|
stdin_for_diff='<<<"$test_cmp_b"'
|
||||||
|
elif test "$1" = - && test -s "$2"
|
||||||
|
then
|
||||||
|
# read 1st file from stdin
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_a
|
||||||
|
mingw_read_file_strip_cr_ test_cmp_b <"$2"
|
||||||
|
stdin_for_diff='<<<"$test_cmp_a"'
|
||||||
|
fi
|
||||||
|
test -n "$test_cmp_a" &&
|
||||||
|
test -n "$test_cmp_b" &&
|
||||||
|
test "$test_cmp_a" = "$test_cmp_b" ||
|
||||||
|
eval "diff -u \"\$@\" $stdin_for_diff"
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1 is the name of the shell variable to fill in
|
||||||
|
mingw_read_file_strip_cr_ () {
|
||||||
|
# Read line-wise using LF as the line separator
|
||||||
|
# and use IFS to strip CR.
|
||||||
|
local line
|
||||||
|
while :
|
||||||
|
do
|
||||||
|
if IFS=$'\r' read -r -d $'\n' line
|
||||||
|
then
|
||||||
|
# good
|
||||||
|
line=$line$'\n'
|
||||||
|
else
|
||||||
|
# we get here at EOF, but also if the last line
|
||||||
|
# was not terminated by LF; in the latter case,
|
||||||
|
# some text was read
|
||||||
|
if test -z "$line"
|
||||||
|
then
|
||||||
|
# EOF, really
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
eval "$1=\$$1\$line"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
@ -752,6 +752,7 @@ case $(uname -s) in
|
|||||||
test_set_prereq NOT_CYGWIN
|
test_set_prereq NOT_CYGWIN
|
||||||
test_set_prereq SED_STRIPS_CR
|
test_set_prereq SED_STRIPS_CR
|
||||||
test_set_prereq GREP_STRIPS_CR
|
test_set_prereq GREP_STRIPS_CR
|
||||||
|
GIT_TEST_CMP=mingw_test_cmp
|
||||||
;;
|
;;
|
||||||
*CYGWIN*)
|
*CYGWIN*)
|
||||||
test_set_prereq POSIXPERM
|
test_set_prereq POSIXPERM
|
||||||
|
Loading…
Reference in New Issue
Block a user