On 2017/6/16 17:14, Felix Yang wrote:
Hamlin,
this may be not a blocker. if you prefer 'pure' java, it can be
achieved by adjusting environment for ProcessBuilder.
see Amy's patch:
http://cr.openjdk.java.net/~amlu/8181395/webrev.00/test/java/nio/charset/Charset/DefaultCharsetTest.java.html
In further, you may extend and wrap such usage in ProcessTools,
because this looks to be a common usage, at least in encoding use cases.
Good point. Thank you Felix, I will do it.
Thank you
-Hamlin
-Felix
On 2017/6/16 11:40, Hamlin Li wrote:
Hi Felix,
Thank you for your suggestions.
But I think it's just a java wrapper around a shell, not a real java.
Thank you
-Hamlin
On 2017/6/16 9:41, Felix Yang wrote:
Hi Hamlin,
I think you need something like:
/ProcessTools.executeCommand("sh", "-c", yourTestCmd).../
yourTestCmd is like the original cmd in shell "
export LC_ALL=en_US.UTF-8 ;${TESTJAVA}/bin/java ${TESTVMOPTS} -cp ${TESTCLASSES}
MacPathTest"
-Felix
On 2017/6/16 9:32, Naoto Sato wrote:
Hi Hamlin,
What I meant was that setting the java locale either through
Locale.setDefault() or user.language/user.country properties won't
affect the default encoding determination. Other properties
(file.encoding/sun.jnu.encoding) would set the default, but I am
not sure how they are supposed to be used in regression tests.
Naoto
On 6/15/17 4:59 PM, Hamlin Li wrote:
Hi Naoto,
Thank you for comments.
Do you mean there is no way to set encoding through system
property or java API? And can I understand it as it's better to
keep the shell test rather than convert it to java test.
Thank you
-Hamlin
On 2017/6/16 0:45, Naoto Sato wrote:
Hi,
Setting the default Java Locale and/or user.* properties has
nothing to do with the default encoding. The default encoding on
mac/unix environments is determined from the environment variable
LC_CTYPE.
Naoto
On 6/14/17 8:35 PM, Hamlin Li wrote:
On 2017/6/15 1:22, Alan Bateman wrote:
On 12/06/2017 09:00, Hamlin Li wrote:
Would you please review the below patch?
bug: https://bugs.openjdk.java.net/browse/JDK-8181912
webrev: http://cr.openjdk.java.net/~mli/8181912/webrev.00/
Are you sure that setting the user.* properties on the command
actually works? I assume we'll have to change this back at some
point to launch the test with LC_ALL set to UTF-8.
Hi Alan,
Besides of setting user.language and user.country, the patch
also sets file.encoding, and sun.jnu.encoding as UTF-8.
I understand your concern: we're not sure if setting -Dxxx
properties will have totally same functionality as setting env
variable LC_ALL. I have no answer for this question.
What tests have been done:
1. set user.* properties will affect what Locale.getDefault()
gets, set file.encoding will affect what
java.nio.charset.Charset.defaultCharset() gets.
2. jprt passed.
3. test on some other mac machine in SQE pool.
Do you suggest we should keep this test as shell?
Thank you
-Hamlin
-Alan