<i18n dev> [8]: diff patch for jdk test on a non US platform

Stuart Marks stuart.marks at oracle.com
Tue Nov 5 15:27:41 PST 2013



On 11/4/13 7:39 PM, Francis ANDRE wrote:
> Stuart. the jtreg jdk test should pass OK on all platforms where OpenJDK could
> be build.

Yes. On this, we agree. At least, all the tests should pass, on platforms and 
locales that OpenJDK supports. It looks like localizations are present in 
OpenJDK for de, es, fr, it, ja, ko, pt_BR, sv, zh_CN, and zh_TW, so all the 
tests should pass when set to any of these locales.

I imagine that your system is set to the French locale, and you observed test 
failures. You're correct in pointing out that this is a problem. The first thing 
we need to do is to file a set of bugs on the test failures, and then we need to 
figure out how to deal with the test failures. (More below.)

> So tests that test the localization feature of the jdk should be
> localized, otherwise they will failed on non US platform.

Two points: first, not all of these tests are tests of localization features of 
the jdk, and second, localizing the tests is not the correct approach for fixing 
the tests.

To be absolutely clear, in my statement above (and in my previous messages) I'm 
using "localize" in a very specific fashion. That is, to localize means to 
modify the code so that its message strings are loaded from a resource bundle, 
or perhaps from some data structure, instead of being hardcoded. (There are 
probably other kinds of localization, but in this context, we're mainly 
concerned with message strings.)

In general, we don't localize tests. In the specific cases of the RMI CheckUsage 
and SetChildEnv tests, modifying them to use different message strings based on 
the current locale is unacceptable.

>> Bottom line is that I do not think it makes sense to localize these tests.
> Stuart, as I already mention before, what is important is that the jdk tests
> pass OK whatever country there are run. So those specific tests that fails even
> if the localization is preset to Locale.US must be corrected to pass in non US
> country or removed.

Our statements aren't actually contradicting each other. I agree that the 
failing tests need to be corrected or removed. I'm also stating the localizing 
the tests is not the way to correct them. They must be dealt with some other way.

* * *

OK, let's step back from this and take inventory. The patch contained fixes for 
the following tests, presumably because they failed when run in the French 
locale. For each failing test, what should be done about it?

test/java/rmi/activation/CommandEnvironment/SetChildEnv.java
  - JDK-8027873: fix RMI test library to run rmid in the US locale

test/java/rmi/activation/checkusage/CheckUsage.java
  - JDK-8027810: this test should be removed

test/java/util/Formattable/StockName.java
test/java/util/ResourceBundle/ResourceBundleTest.java
test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java
test/java/util/logging/LocalizedLevelName.java
test/java/util/logging/SimpleFormatterFormat.java
test/sun/util/logging/SourceClassName.java

  - Internationalization folks, what should be done about these tests?


s'marks


More information about the i18n-dev mailing list