diff --git a/test/java/util/Locale/LocaleProviders.java b/test/java/util/Locale/LocaleProviders.java index 811e78ff3abe8ed3219155bf60dd45962c281fcb..59fd4f12a4fc6acbbaddedeb4f0e25ba537cb092 100644 --- a/test/java/util/Locale/LocaleProviders.java +++ b/test/java/util/Locale/LocaleProviders.java @@ -80,6 +80,12 @@ public class LocaleProviders { static void adapterTest(String expected, String lang, String ctry) { Locale testLocale = new Locale(lang, ctry); + LocaleProviderAdapter ldaExpected = + LocaleProviderAdapter.forType(LocaleProviderAdapter.Type.valueOf(expected)); + if (!ldaExpected.getDateFormatProvider().isSupportedLocale(testLocale)) { + System.out.println("test locale: "+testLocale+" is not supported by the expected provider: "+ldaExpected+". Ignoring the test."); + return; + } String preference = System.getProperty("java.locale.providers", ""); LocaleProviderAdapter lda = LocaleProviderAdapter.getAdapter(DateFormatProvider.class, testLocale); LocaleProviderAdapter.Type type = lda.getAdapterType(); diff --git a/test/java/util/Locale/LocaleProviders.sh b/test/java/util/Locale/LocaleProviders.sh index bf8b7af2b328269744226c22257e8f826d985c1d..db6e4a92d62fbd851ca1eebd5d2bbac45c9882e6 100644 --- a/test/java/util/Locale/LocaleProviders.sh +++ b/test/java/util/Locale/LocaleProviders.sh @@ -24,7 +24,7 @@ # # @test # @bug 6336885 7196799 7197573 7198834 8000245 8000615 8001440 8010666 -# 8013086 8013233 8013903 8015960 +# 8013086 8013233 8013903 8015960 8028771 # @summary tests for "java.locale.providers" system property # @compile -XDignore.symbol.file LocaleProviders.java # @run shell/timeout=600 LocaleProviders.sh