RFR: 8006039 : test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C
Naoto Sato
naoto.sato at oracle.com
Fri Feb 22 18:22:56 UTC 2013
Hi Brent,
I think the condition needs to check if it is on Unix environment, and
check not only "C" but also other locales that do not use UTF-8
encoding. Also, "LC_ALL" precedes "LANG" environment variable, so I'd
check "LC_ALL" first, and if it is not exported then check "LANG" variable.
Naoto
On 2/21/13 4:34 PM, Brent Christian wrote:
> Hi,
>
> This test started failing after 8003228 [1] was putback (setting
> sun.jnu.encoding to UTF-8 on Mac). It tests if java is able to launch a
> .jar stored in a directory named with two-byte characters.
>
> The code comments in the test case state that (on Unix) it expects
> LC_ALL to be set (to ja_JP.UTF-8/ja_JP.utf8/ja_JP.ujis), though it also
> seems to work with en_US.UTF-8).
>
> Our automated build+test Macs have LANG=C, so the test has been
> "passing" without actually testing the functionality.
>
> The test case determines if the environment is suitable for testing by
> checking if sun.jnu.encoding is either "MS932" or "UTF-8" (on Mac, this
> is now always UTF-8). The test doesn't actually check LC_ALL.
>
> I think the test should also check the LANG & LC_ALL env vars, and go
> back to "fake passing" the test if either is set to 'C'. This would
> allow the test to continue to run "for real" in the default Mac
> environment (LANG=en_US.UTF-8), and stop the test from failing on the
> build+test Macs.
>
> Of course it would be even better to update the test so the automated
> test machines actually test the intended functionality. On UNIX at
> least, perhaps it could find something suitable to set LC_ALL to before
> attempting to launch the .jar. I can file a separate bug for this.
>
> Webrev is here:
> http://cr.openjdk.java.net/~bchristi/8006039/webrev.00/
>
> Thanks,
> -Brent
>
> [1]
> http://bugs.sun.com/view_bug.do?bug_id=8003228
More information about the core-libs-dev
mailing list