--- old/test/jdk/java/util/Locale/LocaleProviders.java 2018-12-27 18:44:16.398069642 -0800 +++ new/test/jdk/java/util/Locale/LocaleProviders.java 2018-12-27 18:44:15.889022483 -0800 @@ -237,12 +237,16 @@ } static void bug8027289Test(String expectedCodePoint) { - char[] expectedSymbol = Character.toChars(Integer.valueOf(expectedCodePoint, 16)); - NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA); - char formatted = nf.format(7000).charAt(0); - System.out.println("returned: " + formatted + ", expected: " + expectedSymbol[0]); - if (formatted != expectedSymbol[0]) { - throw new RuntimeException("Unexpected Chinese currency symbol. returned: " + formatted + ", expected: " + expectedSymbol[0]); + if (System.getProperty("os.name").startsWith("Windows")) { + char[] expectedSymbol = Character.toChars(Integer.valueOf(expectedCodePoint, 16)); + NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA); + char formatted = nf.format(7000).charAt(0); + System.out.println("returned: " + formatted + ", expected: " + expectedSymbol[0]); + if (formatted != expectedSymbol[0]) { + throw new RuntimeException( + "Unexpected Chinese currency symbol. returned: " + + formatted + ", expected: " + expectedSymbol[0]); + } } } }