1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
// Files: logging.properties
package gnu.testlet.java.util.logging.LogManager;
import gnu.testlet.*;
import java.io.*;
import java.util.logging.*;
// Test case for setting Logger handlers using resource property
public class readConfiguration implements Testlet {
public void test(TestHarness harness) {
LogManager manager = LogManager.getLogManager();
// This resource contains a "handlers = TestHandler" property
harness.checkPoint("read user logging properties");
try
{
InputStream is =
ClassLoader.getSystemResourceAsStream("gnu/testlet/java/util/logging/LogManager/logging.properties");
manager.readConfiguration(is);
harness.check(true);
is.close();
}
catch (IOException e)
{
harness.check(false);
harness.debug(e);
}
Logger logger = Logger.getLogger("TestLogger");
Logger logger2 = logger;
logger2.setLevel(Level.FINE);
// This just copied from
// org.apache.commons.logging.jdk14.CustomConfigTestCase, where I noticed
// this bug
while (logger.getParent() != null) {
logger = logger.getParent();
}
// I gather that handles should now = {TestHandler handler}
Handler[] handlers = logger.getHandlers();
harness.checkPoint("handlers is not null");
harness.check(handlers != null);
// But does it?
if (handlers != null)
{
harness.checkPoint("handlers length");
harness.check(handlers.length, 1);
harness.check(handlers[0].getClass() == TestHandler.class);
TestHandler handler = (TestHandler) handlers[0];
harness.checkPoint("state reset");
harness.check(logger2.getLevel() == Level.FINE);
try
{
manager.readConfiguration();
harness.check(true);
}
catch (Exception e)
{
harness.check(false);
harness.debug(e);
}
harness.check(logger2.getLevel() == null);
harness.check(handler.isClosed);
}
}
}
|