MinGW: disable legacy encoding tests

On Windows, all native APIs are Unicode-based. It is impossible to pass
legacy encoded byte arrays to a process via command line or environment
variables. Disable the tests that try to do so.

In t3901, most tests still work if we don't mess up the repository encoding
in setup, so don't switch to ISO-8859-1 on MinGW.

Note that i18n tests that do their encoding tricks via encoded files (such
as t3900) are not affected by this.

Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Karsten Blees 2014-07-17 17:37:02 +02:00 committed by Junio C Hamano
parent 480cd53014
commit 32f4cb6cee
3 changed files with 18 additions and 15 deletions

View File

@ -54,10 +54,13 @@ test_expect_success setup '
git add yours && git add yours &&
git commit -s -m "Second on side" && git commit -s -m "Second on side" &&
if test_have_prereq NOT_MINGW
then
# the second one on the side branch is ISO-8859-1 # the second one on the side branch is ISO-8859-1
git config i18n.commitencoding ISO8859-1 && git config i18n.commitencoding ISO8859-1 &&
# use author and committer name in ISO-8859-1 to match it. # use author and committer name in ISO-8859-1 to match it.
. "$TEST_DIRECTORY"/t3901-8859-1.txt && . "$TEST_DIRECTORY"/t3901-8859-1.txt
fi &&
test_tick && test_tick &&
echo Yet another >theirs && echo Yet another >theirs &&
git add theirs && git add theirs &&
@ -119,7 +122,7 @@ test_expect_success 'rebase (U/L)' '
check_encoding 2 check_encoding 2
' '
test_expect_success 'rebase (L/L)' ' test_expect_success NOT_MINGW 'rebase (L/L)' '
# In this test we want ISO-8859-1 encoded commits as the result # In this test we want ISO-8859-1 encoded commits as the result
git config i18n.commitencoding ISO8859-1 && git config i18n.commitencoding ISO8859-1 &&
git config i18n.logoutputencoding ISO8859-1 && git config i18n.logoutputencoding ISO8859-1 &&
@ -131,7 +134,7 @@ test_expect_success 'rebase (L/L)' '
check_encoding 2 8859 check_encoding 2 8859
' '
test_expect_success 'rebase (L/U)' ' test_expect_success NOT_MINGW 'rebase (L/U)' '
# This is pathological -- use UTF-8 as intermediate form # This is pathological -- use UTF-8 as intermediate form
# to get ISO-8859-1 results. # to get ISO-8859-1 results.
git config i18n.commitencoding ISO8859-1 && git config i18n.commitencoding ISO8859-1 &&
@ -159,7 +162,7 @@ test_expect_success 'cherry-pick(U/U)' '
check_encoding 3 check_encoding 3
' '
test_expect_success 'cherry-pick(L/L)' ' test_expect_success NOT_MINGW 'cherry-pick(L/L)' '
# Both the commitencoding and logoutputencoding is set to ISO-8859-1 # Both the commitencoding and logoutputencoding is set to ISO-8859-1
git config i18n.commitencoding ISO8859-1 && git config i18n.commitencoding ISO8859-1 &&
@ -189,7 +192,7 @@ test_expect_success 'cherry-pick(U/L)' '
check_encoding 3 check_encoding 3
' '
test_expect_success 'cherry-pick(L/U)' ' test_expect_success NOT_MINGW 'cherry-pick(L/U)' '
# Again, the commitencoding is set to ISO-8859-1 but # Again, the commitencoding is set to ISO-8859-1 but
# logoutputencoding is set to UTF-8. # logoutputencoding is set to UTF-8.

View File

@ -93,7 +93,7 @@ test_expect_success 'output from user-defined format is re-wrapped' '
test_cmp expect log.predictable test_cmp expect log.predictable
' '
test_expect_success 'shortlog wrapping' ' test_expect_success NOT_MINGW 'shortlog wrapping' '
cat >expect <<\EOF && cat >expect <<\EOF &&
A U Thor (5): A U Thor (5):
Test Test
@ -114,7 +114,7 @@ EOF
test_cmp expect out test_cmp expect out
' '
test_expect_success 'shortlog from non-git directory' ' test_expect_success NOT_MINGW 'shortlog from non-git directory' '
git log HEAD >log && git log HEAD >log &&
GIT_DIR=non-existing git shortlog -w <log >out && GIT_DIR=non-existing git shortlog -w <log >out &&
test_cmp expect out test_cmp expect out
@ -159,7 +159,7 @@ $DSCHO (2):
EOF EOF
test_expect_success 'shortlog encoding' ' test_expect_success NOT_MINGW 'shortlog encoding' '
git reset --hard "$commit" && git reset --hard "$commit" &&
git config --unset i18n.commitencoding && git config --unset i18n.commitencoding &&
echo 2 > a1 && echo 2 > a1 &&

View File

@ -33,7 +33,7 @@ author $SJIS_NAME
summary $SJIS_MSG summary $SJIS_MSG
EOF EOF
test_expect_success \ test_expect_success NOT_MINGW \
'blame respects i18n.commitencoding' ' 'blame respects i18n.commitencoding' '
git blame --incremental file | \ git blame --incremental file | \
egrep "^(author|summary) " > actual && egrep "^(author|summary) " > actual &&
@ -49,7 +49,7 @@ author $EUC_JAPAN_NAME
summary $EUC_JAPAN_MSG summary $EUC_JAPAN_MSG
EOF EOF
test_expect_success \ test_expect_success NOT_MINGW \
'blame respects i18n.logoutputencoding' ' 'blame respects i18n.logoutputencoding' '
git config i18n.logoutputencoding eucJP && git config i18n.logoutputencoding eucJP &&
git blame --incremental file | \ git blame --incremental file | \
@ -66,7 +66,7 @@ author $UTF8_NAME
summary $UTF8_MSG summary $UTF8_MSG
EOF EOF
test_expect_success \ test_expect_success NOT_MINGW \
'blame respects --encoding=UTF-8' ' 'blame respects --encoding=UTF-8' '
git blame --incremental --encoding=UTF-8 file | \ git blame --incremental --encoding=UTF-8 file | \
egrep "^(author|summary) " > actual && egrep "^(author|summary) " > actual &&
@ -82,7 +82,7 @@ author $UTF8_NAME
summary $UTF8_MSG summary $UTF8_MSG
EOF EOF
test_expect_success \ test_expect_success NOT_MINGW \
'blame respects --encoding=none' ' 'blame respects --encoding=none' '
git blame --incremental --encoding=none file | \ git blame --incremental --encoding=none file | \
egrep "^(author|summary) " > actual && egrep "^(author|summary) " > actual &&