On Thu, 20 Nov 2025 22:55:41 GMT, Justin Lu <[email protected]> wrote:

> JDK-8260555 exposed 
> test/jdk/java/text/Format/NumberFormat/NumberRoundTrip.java as being 
> susceptible to timeouts.
> While the timeout factor is reverted, this test was testing too many inputs, 
> and should be changed. 
> Originally, it was testing (~1000 locales * 4 factories) against ~30 numeric 
> inputs. The test does not need to be exhaustive to this degree.
> 
> The total amount of locales is changed to sample around a 1/4 of those 
> provided by the provider. The numeric inputs are reduced to about ~20. (The 
> fixed ones remain, and the random ones are cut in half.)
> 
> Locally, I observe average execution for this test to be about ~1.3 seconds, 
> compared to ~3.4 seconds previously. The PR also does a drive-by clean up of 
> the test, i.e. getting rid of the unnecessary escaping + string 
> manipulation/printing and separating the test inputs from the actual testing 
> work done.

test/jdk/java/text/Format/NumberFormat/NumberRoundTrip.java line 143:

> 141:     // Return a random value from -range..+range.
> 142:     private static double randomDouble(double range) {
> 143:         double a = Math.random();

I would suggest using `jdk.test.lib.RandomFactory`, as this supports 
reproducible values in case of a randomised test failure.


import jdk.test.lib.RandomFactory;
...
 * @library /test/lib
 * @build jdk.test.lib.RandomFactory
...
    private static final Random RANDOM = RandomFactory.getRandom();
...
    private static double randomDouble(double range) {
        double a = RANDOM.nextDouble();
...

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28443#discussion_r2549709717

Reply via email to