From c7aa10339aa40d37dc52e6dcec102f8dca114634 Mon Sep 17 00:00:00 2001 From: Justin Lu Date: Thu, 4 Dec 2025 18:34:51 +0000 Subject: [PATCH] 8372844: Improve usage of test/jdk/java/text/testlib/TestUtils.java locale methods Reviewed-by: naoto --- .../text/Format/DateFormat/Bug4407042.java | 27 ++-- .../text/Format/DateFormat/Bug4845901.java | 17 ++- .../text/Format/DateFormat/Bug6530336.java | 134 ++++++++---------- .../DateFormat/DateFormatRegression.java | 7 +- .../MessageFormat/MessageRegression.java | 9 +- .../Format/NumberFormat/NumberRegression.java | 7 +- .../java/util/Calendar/CalendarLimitTest.java | 9 +- .../util/Calendar/CalendarRegression.java | 52 +++---- test/jdk/java/util/Calendar/CalendarTest.java | 15 +- test/jdk/java/util/Calendar/bug4409072.java | 9 +- test/jdk/java/util/Locale/LocaleCategory.java | 18 +-- .../util/TimeZone/TimeZoneRegression.java | 13 +- 12 files changed, 136 insertions(+), 181 deletions(-) diff --git a/test/jdk/java/text/Format/DateFormat/Bug4407042.java b/test/jdk/java/text/Format/DateFormat/Bug4407042.java index 1960cb2b151..85825ff8b21 100644 --- a/test/jdk/java/text/Format/DateFormat/Bug4407042.java +++ b/test/jdk/java/text/Format/DateFormat/Bug4407042.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,29 +27,31 @@ * @summary Make sure that cloned SimpleDateFormat objects work * independently in multiple threads. * @library /java/text/testlib - * @run main Bug4407042 10 + * @run junit Bug4407042 */ +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.Test; + import java.io.*; import java.text.*; import java.util.*; -// Usage: java Bug4407042 [duration] public class Bug4407042 { static final String TIME_STRING = "2000/11/18 00:01:00"; static final long UTC_LONG = 974534460000L; static SimpleDateFormat masterFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); static boolean runrun = true; - static int duration = 100; + static int duration = 10; + @Test void test() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesAsciiDigits(locale) - || !TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesAsciiDigits(locale), + locale + " does not use ASCII digits"); + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); masterFormat.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles")); DateParseThread d1 = new DateParseThread(); @@ -124,11 +126,4 @@ public class Bug4407042 { } } } - - public static void main (String[] args) { - if (args.length == 1) { - duration = Math.max(10, Integer.parseInt(args[0])); - } - new Bug4407042().test(); - } } diff --git a/test/jdk/java/text/Format/DateFormat/Bug4845901.java b/test/jdk/java/text/Format/DateFormat/Bug4845901.java index 363a3518bf0..754197dbe0d 100644 --- a/test/jdk/java/text/Format/DateFormat/Bug4845901.java +++ b/test/jdk/java/text/Format/DateFormat/Bug4845901.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,19 +28,22 @@ * the same time zone abbreviation for standard and daylight saving * time. * @library /java/text/testlib - * @run main Bug4845901 + * @run junit/othervm Bug4845901 */ +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.Test; + import java.util.*; import java.text.SimpleDateFormat; public class Bug4845901 { - public static void main (String args[]) { + + @Test + void test() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); TimeZone savedTZ = TimeZone.getDefault(); TimeZone.setDefault(TimeZone.getTimeZone("Australia/Sydney")); diff --git a/test/jdk/java/text/Format/DateFormat/Bug6530336.java b/test/jdk/java/text/Format/DateFormat/Bug6530336.java index 552343cb1ba..880e8b3ae2b 100644 --- a/test/jdk/java/text/Format/DateFormat/Bug6530336.java +++ b/test/jdk/java/text/Format/DateFormat/Bug6530336.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,93 +25,73 @@ * @test * @bug 6530336 6537997 8008577 8174269 8333582 * @library /java/text/testlib - * @run main Bug6530336 + * @run junit/othervm Bug6530336 */ +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.FieldSource; + import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.TimeZone; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class Bug6530336 { - public static void main(String[] args) throws Exception { - Locale defaultLocale = Locale.getDefault(); - TimeZone defaultTimeZone = TimeZone.getDefault(); + private static final Locale[] locales = Locale.getAvailableLocales(); + private static final TimeZone[] timezones = { + TimeZone.getTimeZone("America/New_York"), + TimeZone.getTimeZone("America/Denver"), + }; + private static final TimeZone timezone_LA = TimeZone.getTimeZone("America/Los_Angeles"); + private static final String[] expected = { + "Sun Jul 15 12:00:00 PDT 2007", + "Sun Jul 15 14:00:00 PDT 2007", + }; + private static final Date[] dates = new Date[2]; - boolean err = false; - - try { - Locale locales[] = Locale.getAvailableLocales(); - TimeZone timezone_LA = TimeZone.getTimeZone("America/Los_Angeles"); - TimeZone.setDefault(timezone_LA); - - TimeZone timezones[] = { - TimeZone.getTimeZone("America/New_York"), - TimeZone.getTimeZone("America/Denver"), - }; - - String[] expected = { - "Sun Jul 15 12:00:00 PDT 2007", - "Sun Jul 15 14:00:00 PDT 2007", - }; - - Date[] dates = new Date[2]; - - for (int i = 0; i < locales.length; i++) { - Locale locale = locales[i]; - if (!TestUtils.usesGregorianCalendar(locale)) { - continue; - } - - Locale.setDefault(locale); - - for (int j = 0; j < timezones.length; j++) { - Calendar cal = Calendar.getInstance(timezones[j]); - cal.set(2007, 6, 15, 15, 0, 0); - dates[j] = cal.getTime(); - } - - SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); - - for (int j = 0; j < timezones.length; j++) { - sdf.setTimeZone(timezones[j]); - String date = sdf.format(dates[j]); - // CLDR localizes GMT format into for some locales. Ignore those cases - if (date.matches(".*GMT[\\s+-]\\D.*") || - date.contains("UTC") || - date.contains("TMG") || // Interlingue - date.contains("\u07dc\u07ed\u07d5\u07d6") || // N’Ko - date.contains("\ua2e7\ua0c5\ua395\ua3e6\ua12e\ua209") || // Sichuan Yi, Nuosu - date.contains("\u06af\u0631\u06cc\u0646\u06cc\u0686")) { // Central Kurdish - continue; - } - sdf.setTimeZone(timezone_LA); - String date_LA = sdf.parse(date).toString(); - - if (!expected[j].equals(date_LA)) { - System.err.println("Got wrong Pacific time (" + - date_LA + ") for (" + date + ") in " + locale + - " in " + timezones[j] + - ".\nExpected=" + expected[j]); - err = true; - } - } - } - } - catch (Exception e) { - e.printStackTrace(); - err = true; - } - finally { - Locale.setDefault(defaultLocale); - TimeZone.setDefault(defaultTimeZone); - - if (err) { - throw new RuntimeException("Failed."); - } - } + @BeforeAll + static void setup() { + TimeZone.setDefault(timezone_LA); } + @ParameterizedTest + @FieldSource("locales") + void test(Locale locale) { + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); + Locale.setDefault(locale); + + for (int j = 0; j < timezones.length; j++) { + Calendar cal = Calendar.getInstance(timezones[j]); + cal.set(2007, 6, 15, 15, 0, 0); + dates[j] = cal.getTime(); + } + + SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); + + for (int j = 0; j < timezones.length; j++) { + sdf.setTimeZone(timezones[j]); + String date = sdf.format(dates[j]); + // CLDR localizes GMT format into for some locales. Ignore those cases + if (date.matches(".*GMT[\\s+-]\\D.*") || + date.contains("UTC") || + date.contains("TMG") || // Interlingue + date.contains("ߜ߭ߕߖ") || // N’Ko + date.contains("ꋧꃅꎕꏦꄮꈉ") || // Sichuan Yi, Nuosu + date.contains("گرینیچ")) { // Central Kurdish + continue; + } + sdf.setTimeZone(timezone_LA); + String date_LA = assertDoesNotThrow(() -> sdf.parse(date).toString()); + assertEquals(expected[j], date_LA, + "Got wrong Pacific time (%s) for (%s) in %s in %s.".formatted(date_LA, date, locale, timezones[j])); + } + } } diff --git a/test/jdk/java/text/Format/DateFormat/DateFormatRegression.java b/test/jdk/java/text/Format/DateFormat/DateFormatRegression.java index dbd12e66f60..2e3fed17ce5 100644 --- a/test/jdk/java/text/Format/DateFormat/DateFormatRegression.java +++ b/test/jdk/java/text/Format/DateFormat/DateFormatRegression.java @@ -25,6 +25,7 @@ import java.text.*; import java.util.*; import java.io.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -170,10 +171,8 @@ public class DateFormatRegression { @Test public void Test4059917() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesAsciiDigits(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesAsciiDigits(locale), + locale + " does not use ASCII digits"); SimpleDateFormat fmt; String myDate; diff --git a/test/jdk/java/text/Format/MessageFormat/MessageRegression.java b/test/jdk/java/text/Format/MessageFormat/MessageRegression.java index e10e4899202..31aa5189ba2 100644 --- a/test/jdk/java/text/Format/MessageFormat/MessageRegression.java +++ b/test/jdk/java/text/Format/MessageFormat/MessageRegression.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,6 +53,7 @@ import java.io.ObjectOutputStream; import java.io.ObjectInputStream; import java.io.Serializable; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -126,10 +127,8 @@ public class MessageRegression { @Test public void Test4031438() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesAsciiDigits(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesAsciiDigits(locale), + locale + " does not use ASCII digits"); String pattern1 = "Impossible {1} has occurred -- status code is {0} and message is {2}."; String pattern2 = "Double '' Quotes {0} test and quoted '{1}' test plus 'other {2} stuff'."; diff --git a/test/jdk/java/text/Format/NumberFormat/NumberRegression.java b/test/jdk/java/text/Format/NumberFormat/NumberRegression.java index a0a096e6782..90f60151197 100644 --- a/test/jdk/java/text/Format/NumberFormat/NumberRegression.java +++ b/test/jdk/java/text/Format/NumberFormat/NumberRegression.java @@ -58,6 +58,7 @@ import java.math.BigDecimal; import java.io.*; import java.math.BigInteger; +import org.junit.jupiter.api.Assumptions; import sun.util.resources.LocaleData; import org.junit.jupiter.api.Test; @@ -109,10 +110,8 @@ public class NumberRegression { @Test public void Test4088161 (){ Locale locale = Locale.getDefault(); - if (!TestUtils.usesAsciiDigits(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesAsciiDigits(locale), + locale + " does not use ASCII digits"); DecimalFormat df = new DecimalFormat(); double d = 100; diff --git a/test/jdk/java/util/Calendar/CalendarLimitTest.java b/test/jdk/java/util/Calendar/CalendarLimitTest.java index e8a92f180ec..552aa5f9866 100644 --- a/test/jdk/java/util/Calendar/CalendarLimitTest.java +++ b/test/jdk/java/util/Calendar/CalendarLimitTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,6 +32,7 @@ import java.util.*; import java.text.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -130,10 +131,8 @@ public class CalendarLimitTest public void TestCalendarLimit() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); ORIGIN = julianDayToMillis(JAN_1_1_JULIAN_DAY); Calendar cal = Calendar.getInstance(); diff --git a/test/jdk/java/util/Calendar/CalendarRegression.java b/test/jdk/java/util/Calendar/CalendarRegression.java index 7b0f2025005..6e5148c0c20 100644 --- a/test/jdk/java/util/Calendar/CalendarRegression.java +++ b/test/jdk/java/util/Calendar/CalendarRegression.java @@ -55,6 +55,7 @@ import java.util.function.Predicate; import static java.util.Calendar.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -575,10 +576,8 @@ public class CalendarRegression { @Test public void Test4100311() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance(); cal.set(YEAR, 1997); @@ -593,10 +592,8 @@ public class CalendarRegression { @Test public void Test4103271() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); SimpleDateFormat sdf = new SimpleDateFormat(); int numYears = 40, startYear = 1997, numDays = 15; @@ -833,10 +830,8 @@ public class CalendarRegression { @Test public void Test4114578() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); int ONE_HOUR = 60 * 60 * 1000; TimeZone saveZone = TimeZone.getDefault(); @@ -921,10 +916,8 @@ public class CalendarRegression { @Test public void Test4125881() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance(); DateFormat fmt = new SimpleDateFormat("MMMM d, yyyy G"); @@ -947,10 +940,8 @@ public class CalendarRegression { @Test public void Test4125892() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance(); DateFormat fmt = new SimpleDateFormat("MMMM d, yyyy G"); @@ -1373,10 +1364,8 @@ public class CalendarRegression { @Test public void Test4173516() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); int[][] fieldsList = { {1997, FEBRUARY, 1, 10, 45, 15, 900}, @@ -1852,11 +1841,10 @@ public class CalendarRegression { @Test public void Test4685354() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesAsciiDigits(locale) - || !TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesAsciiDigits(locale), + locale + " does not use ASCII digits"); + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); Calendar calendar = Calendar.getInstance(Locale.US); DateFormat df = new SimpleDateFormat("yyyy/MM/dd", Locale.US); @@ -1961,10 +1949,8 @@ public class CalendarRegression { @Test public void Test4655637() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); Calendar cal = Calendar.getInstance(); cal.setTime(new Date(1029814211523L)); diff --git a/test/jdk/java/util/Calendar/CalendarTest.java b/test/jdk/java/util/Calendar/CalendarTest.java index 5092c6adec0..0b50b07179d 100644 --- a/test/jdk/java/util/Calendar/CalendarTest.java +++ b/test/jdk/java/util/Calendar/CalendarTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,6 +48,7 @@ import java.util.TimeZone; import static java.util.Calendar.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -223,10 +224,8 @@ public class CalendarTest { @Test public void TestGenericAPI() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); String str; Date when = new Date(90, APRIL, 15); @@ -625,10 +624,8 @@ public class CalendarTest { @Test public void TestGMTvsLocal4064654() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); // Sample output 1: // % /usr/local/java/jdk1.1.3/solaris/bin/java test 1997 1 1 12 0 0 diff --git a/test/jdk/java/util/Calendar/bug4409072.java b/test/jdk/java/util/Calendar/bug4409072.java index 617550fe1aa..132934daa98 100644 --- a/test/jdk/java/util/Calendar/bug4409072.java +++ b/test/jdk/java/util/Calendar/bug4409072.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,6 +32,7 @@ import java.util.*; import static java.util.Calendar.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -44,10 +45,8 @@ public class bug4409072 { @Test public void Test4409072() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); Locale savedLocale = Locale.getDefault(); TimeZone savedTZ = TimeZone.getDefault(); diff --git a/test/jdk/java/util/Locale/LocaleCategory.java b/test/jdk/java/util/Locale/LocaleCategory.java index ed63203916a..ec4277d43c0 100644 --- a/test/jdk/java/util/Locale/LocaleCategory.java +++ b/test/jdk/java/util/Locale/LocaleCategory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,14 +29,17 @@ * @library /java/text/testlib * @build TestUtils LocaleCategory * @comment test user.xxx.display user.xxx.format properties - * @run main/othervm -Duser.language.display=ja + * @run junit/othervm -Duser.language.display=ja * -Duser.language.format=zh LocaleCategory * @comment test user.xxx properties overriding user.xxx.display/format - * @run main/othervm -Duser.language=en + * @run junit/othervm -Duser.language=en * -Duser.language.display=ja * -Duser.language.format=zh LocaleCategory */ +import org.junit.jupiter.api.Assumptions; +import org.junit.jupiter.api.Test; + import java.util.Locale; public class LocaleCategory { @@ -44,12 +47,11 @@ public class LocaleCategory { private static Locale disp = null; private static Locale fmt = null; - public static void main(String[] args) { + @Test + void test() { Locale reservedLocale = Locale.getDefault(); - if (TestUtils.hasSpecialVariant(reservedLocale)) { - System.out.println("Skipping this test because locale is " + reservedLocale); - return; - } + Assumptions.assumeFalse(TestUtils.hasSpecialVariant(reservedLocale), + reservedLocale + " has special variant"); try { Locale.Builder builder = new Locale.Builder(); diff --git a/test/jdk/java/util/TimeZone/TimeZoneRegression.java b/test/jdk/java/util/TimeZone/TimeZoneRegression.java index 241afd3f7cf..c1b1b98369e 100644 --- a/test/jdk/java/util/TimeZone/TimeZoneRegression.java +++ b/test/jdk/java/util/TimeZone/TimeZoneRegression.java @@ -34,6 +34,7 @@ import java.util.*; import java.io.*; import java.text.*; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.fail; @@ -164,10 +165,8 @@ public class TimeZoneRegression { @Test public void Test4109314() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); // test both SimpleTimeZone and ZoneInfo objects. // @since 1.4 @@ -292,10 +291,8 @@ public class TimeZoneRegression { @Test public void Test4126678() { Locale locale = Locale.getDefault(); - if (!TestUtils.usesGregorianCalendar(locale)) { - System.out.println("Skipping this test because locale is " + locale); - return; - } + Assumptions.assumeTrue(TestUtils.usesGregorianCalendar(locale), + locale + " does not use a Gregorian calendar"); // Note: this test depends on the PST time zone. TimeZone initialZone = TimeZone.getDefault();