From: Junio C Hamano Date: Fri, 19 Jun 2009 02:18:37 GMT Subject: [PATCH] t8005: Nobody writes Russian in shift_jis Message-ID: <7vmy85m0ea.fsf@alter.siamese.dyndns.org> The second and third tests of this script expected that Russian strings are converted between ISO-8859-5 and Shift_JIS in the "blame --porcelain" format output correctly. Sure, many platforms may convert between such a combination, but that is only because one of the base character set of Shift_JIS, JIS X 0208, defines codepoints for Russian characters (among others); I do not think anybody uses Shift_JIS when seriously writing Russian, and it is perfectly understandable if iconv() libraries on some platforms fail converting between this combination, as it does not matter in reality. This patch changes the test to verify Japanese strings are converted correctly between EUC-JP and Shift_JIS in the same procedure. The point of the test is not about verifying the platform's iconv() library, but to see if "git blame" makes correct iconv() library calls when it should. We could instead use ISO-8859-5 and KOI8-R as the combination, because they are both meant to represent Russian, in order to make this test meaningful on more platforms, but we already use Shift_JIS vs EUC-JP combinations to test other programs in our test suite, so this combination is safer from the point of view of the portability. Besides, I do not read nor write Russian; sorry ;-) This change allows tests to pass on my (friend's) Solaris 5.11 box. Signed-off-by: Junio C Hamano --- * I am Cc'ing Alexander because he originally wrote this test using cp1251 and shift_jis, and I could be wrong in saying that nobody sane writes Russian in shift_jis. To allow 7-bit mailpath to pass this patch through, I tentatively dropped this in my t/t8005 directory (the file is not tracked): $ echo '*.txt binary' >t/t8005/.gitattributes before running format-patch on this commit. t/t8005-blame-i18n.sh | 26 +++++++++++++------------- t/t8005/euc-japan.txt | Bin 0 -> 66 bytes t/t8005/iso8859-5.txt | Bin 74 -> 0 bytes t/t8005/sjis.txt | Bin 100 -> 56 bytes t/t8005/utf8.txt | Bin 100 -> 71 bytes 5 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 t/t8005/euc-japan.txt delete mode 100644 t/t8005/iso8859-5.txt diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh index 9cca14d..cb39055 100755 --- a/t/t8005-blame-i18n.sh +++ b/t/t8005-blame-i18n.sh @@ -4,7 +4,7 @@ test_description='git blame encoding conversion' . ./test-lib.sh . "$TEST_DIRECTORY"/t8005/utf8.txt -. "$TEST_DIRECTORY"/t8005/iso8859-5.txt +. "$TEST_DIRECTORY"/t8005/euc-japan.txt . "$TEST_DIRECTORY"/t8005/sjis.txt test_expect_success 'setup the repository' ' @@ -13,10 +13,10 @@ test_expect_success 'setup the repository' ' git add file && git commit --author "$UTF8_NAME " -m "$UTF8_MSG" && - echo "ISO-8859-5 LINE" >> file && + echo "EUC-JAPAN LINE" >> file && git add file && - git config i18n.commitencoding ISO8859-5 && - git commit --author "$ISO8859_5_NAME " -m "$ISO8859_5_MSG" && + git config i18n.commitencoding eucJP && + git commit --author "$EUC_JAPAN_NAME " -m "$EUC_JAPAN_MSG" && echo "SJIS LINE" >> file && git add file && @@ -41,17 +41,17 @@ test_expect_success \ ' cat >expected < actual && test_cmp actual expected @@ -76,8 +76,8 @@ test_expect_success \ cat >expected <B3!w{Z}77xOeHsbA^L9uG|B%l(;AZeH-X baoywQw#Q97A2)YAZe0GjapvQOCM7Na%AzF~ literal 100 zcmWFyakGf`bM$q!Rk|?a!lnxwF6>pfF#p2Vi%l0BF6;ve?6}yjaADzv9T&D-*as0( t;tB<6@(p$e>RAL-+IX=EtaRUntqK<#fy{juHeT$!u=T=Tpth|_TmU(XJDmUk -- 1.6.3.2.316.gda4e4