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