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