From: Bruno Haible Date: Thu, 13 Aug 2009 20:16:54 +0000 (+0200) Subject: Explain why the msgexec-4 test fails on mingw. X-Git-Tag: v0.18~147 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e12667722432313e22a390abde5e237349640cf;p=thirdparty%2Fgettext.git Explain why the msgexec-4 test fails on mingw. --- diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index e113d78f7..268ceeaa4 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -2,7 +2,7 @@ * msgexec-1: Filter out msgexec's warning about locale charset. * msgexec-2: Likewise. - * msgexec-4: Likewise. + * msgexec-4: Likewise. Explain why this test fails on mingw. 2009-08-10 Bruno Haible diff --git a/gettext-tools/tests/msgexec-4 b/gettext-tools/tests/msgexec-4 index e80bcbe24..9683b4067 100755 --- a/gettext-tools/tests/msgexec-4 +++ b/gettext-tools/tests/msgexec-4 @@ -2,6 +2,19 @@ # Test msgexec on a PO file with contexts. +# This test fails on mingw (in a Cygwin environment), due to the combination +# of two reasons: +# 1. The value of the environment variable MSGEXEC_MSGCTXT is stored +# in UTF-8 encoding (i.e. the PO file's encoding); it should be stored +# in the GetACP() encoding instead. This problem is inherent in msgexec, +# and msgexec warns about it - but in this test, we filter the warnings +# away. +# 2. The child process is Cygwin's sh.exe, and is affected by a Cygwin bug: +# the values returned by getenv() in the child process, when the parent +# process is a mingw program, are in the GetOEMCP() encoding (should be +# in the GetACP() encoding). This has been reported at +# . + tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15