Remove e.printStackTrace() in LogManager class, add a test case, and fix a potenital defect in LogManagerTest
git-svn-id: https://svn.apache.org/repos/asf/harmony/enhanced/classlib/trunk@901080 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/modules/logging/src/main/java/java/util/logging/LogManager.java b/modules/logging/src/main/java/java/util/logging/LogManager.java
index 6b9ab1e..8952f37 100644
--- a/modules/logging/src/main/java/java/util/logging/LogManager.java
+++ b/modules/logging/src/main/java/java/util/logging/LogManager.java
@@ -205,7 +205,7 @@
try {
manager.readConfiguration();
} catch (Exception e) {
- e.printStackTrace();
+ // e.printStackTrace();
}
// if global logger has been initialized, set root as its parent
diff --git a/modules/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java b/modules/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
index 4304c5d..28bf612 100644
--- a/modules/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
+++ b/modules/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
@@ -19,6 +19,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
@@ -811,23 +812,46 @@
}
}
-
- public void testValidConfigClass() throws Exception{
- String oldProperty = System.getProperty("java.util.logging.config.class");
- try{
-// System.setProperty("java.util.logging.config.class", "org.apache.harmony.logging.tests.java.util.logging.LogManagerTest$ConfigClass");
- System.setProperty("java.util.logging.config.class", this.getClass().getName()+"$ConfigClass");
+
+ public void testValidConfigClass() throws Exception {
+ String oldPropertyValue = System
+ .getProperty("java.util.logging.config.class");
+ try {
+ System.setProperty("java.util.logging.config.class", this
+ .getClass().getName()
+ + "$ConfigClass");
assertNull(manager.getLogger("testConfigClass.foo"));
-
+
manager.readConfiguration();
assertNull(manager.getLogger("testConfigClass.foo"));
Logger l = Logger.getLogger("testConfigClass.foo.child");
assertSame(Level.FINEST, manager.getLogger("").getLevel());
- assertEquals(0, manager.getLogger("").getHandlers().length);
+ assertEquals(0, manager.getLogger("").getHandlers().length);
assertEquals("testConfigClass.foo", l.getParent().getName());
- }finally{
- if(oldProperty != null){
- System.setProperty("java.util.logging.config.class", oldProperty);
+ } finally {
+ Properties systemProperties = System.getProperties();
+ if (oldPropertyValue != null) {
+ systemProperties.setProperty(CONFIG_CLASS, oldPropertyValue);
+ } else {
+ systemProperties.remove(CONFIG_CLASS);
+ }
+ }
+ }
+
+ public void testNotExistConfigFile() throws Exception {
+ String oldPropertyValue = System.getProperty(CONFIG_FILE);
+ System.setProperty(CONFIG_FILE, "not.exist.config.file");
+ try {
+ LogManager.getLogManager().readConfiguration();
+ fail("should throw FileNotFoundException");
+ } catch (FileNotFoundException e) {
+ // Expected
+ } finally {
+ Properties systemProperties = System.getProperties();
+ if (oldPropertyValue != null) {
+ systemProperties.setProperty(CONFIG_FILE, oldPropertyValue);
+ } else {
+ systemProperties.remove(CONFIG_FILE);
}
}
}