< 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 >