< prev index next >

test/java/lang/System/LoggerFinder/internal/BaseLoggerBridgeTest/BaseLoggerBridgeTest.java

Print this page

        

*** 45,54 **** --- 45,55 ---- import sun.util.logging.PlatformLogger; import java.lang.System.LoggerFinder; import java.lang.System.Logger; import java.lang.System.Logger.Level; import java.util.stream.Stream; + import java.lang.reflect.Module; /** * @test * @bug 8140364 * @summary JDK implementation specific unit test for JDK internal artifacts.
*** 207,218 **** @Override public String toString() { return Arrays.deepToString(toArray(false)); } - - @Override public boolean equals(Object obj) { return obj instanceof LogEvent && Objects.deepEquals(toArray(callSupplier(obj)), ((LogEvent)obj).toArray(callSupplier(obj))); } --- 208,217 ----
*** 340,358 **** } ! public Logger getLogger(String name, Class<?> caller); ! public Logger getLocalizedLogger(String name, ResourceBundle bundle, Class<?> caller); } public static class BaseLoggerFinder extends LoggerFinder implements TestLoggerFinder { static final RuntimePermission LOGGERFINDER_PERMISSION = new RuntimePermission("loggerFinder"); @Override ! public Logger getLogger(String name, Class<?> caller) { SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(LOGGERFINDER_PERMISSION); } PrivilegedAction<ClassLoader> pa = () -> caller.getClassLoader(); --- 339,357 ---- } ! public Logger getLogger(String name, Module caller); ! public Logger getLocalizedLogger(String name, ResourceBundle bundle, Module caller); } public static class BaseLoggerFinder extends LoggerFinder implements TestLoggerFinder { static final RuntimePermission LOGGERFINDER_PERMISSION = new RuntimePermission("loggerFinder"); @Override ! public Logger getLogger(String name, Module caller) { SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(LOGGERFINDER_PERMISSION); } PrivilegedAction<ClassLoader> pa = () -> caller.getClassLoader();
*** 373,383 **** } finally { allowAccess.get().set(old); } } ! static Logger getLogger(String name, Class<?> caller) { boolean old = allowAll.get().get(); allowAccess.get().set(true); try { return jdk.internal.logger.LazyLoggers.getLogger(name, caller); } finally { --- 372,382 ---- } finally { allowAccess.get().set(old); } } ! static Logger getLogger(String name, Module caller) { boolean old = allowAll.get().get(); allowAccess.get().set(true); try { return jdk.internal.logger.LazyLoggers.getLogger(name, caller); } finally {
*** 463,473 **** final Map<Object, String> loggerDescMap = new HashMap<>(); TestLoggerFinder.LoggerImpl appSink = null; try { ! appSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", BaseLoggerBridgeTest.class)); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) { --- 462,472 ---- final Map<Object, String> loggerDescMap = new HashMap<>(); TestLoggerFinder.LoggerImpl appSink = null; try { ! appSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", BaseLoggerBridgeTest.class.getModule())); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) {
*** 478,497 **** } System.out.println("Got expected exception for logger: " + acx); boolean old = allowControl.get().get(); allowControl.get().set(true); try { ! appSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", BaseLoggerBridgeTest.class)); } finally { allowControl.get().set(old); } } TestLoggerFinder.LoggerImpl sysSink = null; try { ! sysSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", Thread.class)); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) { --- 477,496 ---- } System.out.println("Got expected exception for logger: " + acx); boolean old = allowControl.get().get(); allowControl.get().set(true); try { ! appSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", BaseLoggerBridgeTest.class.getModule())); } finally { allowControl.get().set(old); } } TestLoggerFinder.LoggerImpl sysSink = null; try { ! sysSink = TestLoggerFinder.LoggerImpl.class.cast(provider.getLogger("foo", Thread.class.getModule())); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) {
*** 525,541 **** loggerDescMap.putIfAbsent(bridge, "PlatformLogger.Bridge.convert(System.getLogger(\"foo\"))"); testLogger(provider, loggerDescMap, "foo", null, bridge, appSink); Logger sysLogger1 = null; try { ! sysLogger1 = getLogger("foo", Thread.class); loggerDescMap.put(sysLogger1, ! "jdk.internal.logger.LazyLoggers.getLogger(\"foo\", Thread.class)"); if (!hasRequiredPermissions) { // check that the provider would have thrown an exception ! provider.getLogger("foo", Thread.class); throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) { throw new RuntimeException("Unexpected security exception: ", acx); --- 524,540 ---- loggerDescMap.putIfAbsent(bridge, "PlatformLogger.Bridge.convert(System.getLogger(\"foo\"))"); testLogger(provider, loggerDescMap, "foo", null, bridge, appSink); Logger sysLogger1 = null; try { ! sysLogger1 = getLogger("foo", Thread.class.getModule()); loggerDescMap.put(sysLogger1, ! "jdk.internal.logger.LazyLoggers.getLogger(\"foo\", Thread.class.getModule())"); if (!hasRequiredPermissions) { // check that the provider would have thrown an exception ! provider.getLogger("foo", Thread.class.getModule()); throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) { throw new RuntimeException("Unexpected security exception: ", acx);
*** 570,581 **** testLogger(provider, loggerDescMap, "foo", loggerBundle, PlatformLogger.Bridge.convert(appLogger2), appSink); Logger sysLogger2 = null; try { ! sysLogger2 = provider.getLocalizedLogger("foo", loggerBundle, Thread.class); ! loggerDescMap.put(sysLogger2, "provider.getLocalizedLogger(\"foo\", loggerBundle, Thread.class)"); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) { --- 569,580 ---- testLogger(provider, loggerDescMap, "foo", loggerBundle, PlatformLogger.Bridge.convert(appLogger2), appSink); Logger sysLogger2 = null; try { ! sysLogger2 = provider.getLocalizedLogger("foo", loggerBundle, Thread.class.getModule()); ! loggerDescMap.put(sysLogger2, "provider.getLocalizedLogger(\"foo\", loggerBundle, Thread.class.getModule())"); if (!hasRequiredPermissions) { throw new RuntimeException("Managed to obtain a system logger without permission"); } } catch (AccessControlException acx) { if (hasRequiredPermissions) {
< prev index next >