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