On Mon, 2 May 2022 20:50:11 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> Ichiroh Takiguchi has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   8285517: System.getenv() returns unexpected value if environment variable 
>> has non ASCII character
>
> test/jdk/java/lang/System/i18nEnvArg.java line 63:
> 
>> 61:     }
>> 62: 
>> 63:     public static class Start {
> 
> Do we need `Start` class? Can it be merged with the parent to reduce the 
> complexity?

I'm not sure, it expected one...

I created i18nEnvArg.sh for start-up, then add `@modules jdk.charsets` and 
remove `i18nEnvArg$Start` class.

> test/jdk/java/lang/System/i18nEnvArg.java line 87:
> 
>> 85:                 System.getProperty("java.class.path"),
>> 86:                 "i18nEnvArg$Verify",
>> 87:                 EUC_JP_TEXT);
> 
> Can utilize `ProcessTools` class.

Use `ProcessTools`

> test/jdk/java/lang/System/i18nEnvArg.java line 130:
> 
>> 128:             environ_mid.setAccessible(true);
>> 129:             byte[][] environ = (byte[][]) environ_mid.invoke(null,
>> 130:                 (Object[])null);
> 
> I am not sure I like this piece, invoking a package private method of 
> `ProcessEnvironment` class. Can we simply verify the result of 
> `System.getenv(EUC_JP_TEXT)`?

I think 3 processes required for this testing.
1. Start test process on ja_JP.eucjp locale
2. Set the test data by encoder
3. Verify the encoded data by decoder

To verify the encoded data, I think I need to check the byte data.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8378

Reply via email to