You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/06/15 13:36:02 UTC

svn commit: r1685556 - /tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java

Author: markt
Date: Mon Jun 15 11:36:01 2015
New Revision: 1685556

URL: http://svn.apache.org/r1685556
Log:
Make it possible to run unit tests in parallel using new threads attribute of Ant's JUnit task

Modified:
    tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java

Modified: tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java?rev=1685556&r1=1685555&r2=1685556&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java (original)
+++ tomcat/trunk/test/org/apache/catalina/startup/LoggingBaseTest.java Mon Jun 15 11:36:01 2015
@@ -17,8 +17,12 @@
 package org.apache.catalina.startup;
 
 import java.io.File;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.LogManager;
 
 import static org.junit.Assert.fail;
 
@@ -27,6 +31,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 
+import org.apache.juli.ClassLoaderLogManager;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
@@ -97,10 +102,12 @@ public abstract class LoggingBaseTest {
     @Before
     public void setUp() throws Exception {
         // Create catalina.base directory
-        tempDir = new File(System.getProperty("tomcat.test.temp", "output/tmp"));
-        if (!tempDir.mkdirs() && !tempDir.isDirectory()) {
-            fail("Unable to create temporary directory for test");
+        File tempBase = new File(System.getProperty("tomcat.test.temp", "output/tmp"));
+        if (!tempBase.mkdirs() && !tempBase.isDirectory()) {
+            fail("Unable to create base temporary directory for tests");
         }
+        Path tempBasePath = FileSystems.getDefault().getPath(tempBase.getAbsolutePath());
+        tempDir = Files.createTempDirectory(tempBasePath, "test").toFile();
 
         System.setProperty("catalina.base", tempDir.getAbsolutePath());
 
@@ -121,5 +128,13 @@ public abstract class LoggingBaseTest {
             ExpandWar.delete(file);
         }
         deleteOnTearDown.clear();
+
+        LogManager logManager = LogManager.getLogManager();
+        if (logManager instanceof ClassLoaderLogManager) {
+            ((ClassLoaderLogManager) logManager).shutdown();
+        } else {
+            logManager.reset();
+        }
+        ExpandWar.deleteDir(tempDir);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org