--- old/test/java/lang/System/LoggerFinder/internal/SystemLoggerInPlatformLoader/SystemLoggerInPlatformLoader.java 2016-12-06 12:30:07.431360553 +0300 +++ new/test/java/lang/System/LoggerFinder/internal/SystemLoggerInPlatformLoader/SystemLoggerInPlatformLoader.java 2016-12-06 12:30:07.363360550 +0300 @@ -28,9 +28,10 @@ import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Layer; import java.lang.reflect.Method; -/** +/* * @test 8163162 * @summary Checks that LazyLoggers are returned for System.Logger instances * created by modules in the platform class loader. @@ -105,18 +106,28 @@ } Class sploggerType = splogger.getClass(); System.out.println("splogger: " + sploggerType); - if (!sploggerType.getSimpleName().equals("JdkLazyLogger")) { - throw new RuntimeException(sploggerType.getSimpleName() + boolean simleConsoleOnly = !Layer.boot().findModule("java.logging").isPresent(); + + if (simleConsoleOnly) { + if (!sploggerType.getSimpleName().equals("SimpleConsoleLogger")) { + throw new RuntimeException(sploggerType.getSimpleName() + + ": unexpected class for splogger" + + " (expected a simple console logger class)"); + } + } else { + if (!sploggerType.getSimpleName().equals("JdkLazyLogger")) { + throw new RuntimeException(sploggerType.getSimpleName() + ": unexpected class for splogger" + " (expected a lazy logger for a platform class)"); - } - Class sloggerType = slogger.getClass(); - System.out.println("slogger: " + sloggerType); - if (sloggerType.equals(sploggerType)) { - throw new RuntimeException(sloggerType + } + Class sloggerType = slogger.getClass(); + System.out.println("slogger: " + sloggerType); + if (sloggerType.equals(sploggerType)) { + throw new RuntimeException(sloggerType + ": unexpected class for slogger" + " (a lazy logger was not expected" + " for a non platform class)"); + } } } }