[infinispan-commits] Infinispan SVN: r1510 - trunk/core/src/test/java/org/infinispan/test/testng.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Mon Feb 15 17:24:48 EST 2010


Author: sannegrinovero
Date: 2010-02-15 17:24:47 -0500 (Mon, 15 Feb 2010)
New Revision: 1510

Modified:
   trunk/core/src/test/java/org/infinispan/test/testng/DebuggingUnitTestNGListener.java
   trunk/core/src/test/java/org/infinispan/test/testng/SuiteResourcesAndLogTest.java
   trunk/core/src/test/java/org/infinispan/test/testng/UnitTestTestNGListener.java
Log:
[ISPN-323] - (Identify tests not cleaning up their CacheManager) improvements: full log at the end of test run (core only)

Modified: trunk/core/src/test/java/org/infinispan/test/testng/DebuggingUnitTestNGListener.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/testng/DebuggingUnitTestNGListener.java	2010-02-15 17:24:08 UTC (rev 1509)
+++ trunk/core/src/test/java/org/infinispan/test/testng/DebuggingUnitTestNGListener.java	2010-02-15 22:24:47 UTC (rev 1510)
@@ -21,10 +21,15 @@
  */
 package org.infinispan.test.testng;
 
+import java.util.Set;
+
 import org.infinispan.config.Configuration;
 import org.infinispan.manager.CacheManager;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.infinispan.util.concurrent.ConcurrentHashSet;
+import org.infinispan.util.logging.Log;
+import org.infinispan.util.logging.LogFactory;
 import org.testng.ITestContext;
 
 /**
@@ -40,15 +45,26 @@
  */
 public class DebuggingUnitTestNGListener extends UnitTestTestNGListener {
    
+   private static final Log log = LogFactory.getLog(DebuggingUnitTestNGListener.class);
+   
+   private static final Set<String> failedTestDescriptions = new ConcurrentHashSet<String>();
+   
    @Override
    public void onFinish(ITestContext testCxt) {
+      super.onFinish(testCxt);
+      checkCleanedUp(testCxt);
+   }
+   
+   private void checkCleanedUp(ITestContext testCxt) {
       CacheManager cm = TestCacheManagerFactory.createClusteredCacheManager(new Configuration());
       try {
          cm.start();
          try {
             TestingUtil.blockUntilViewReceived(cm.getCache(), 1, 2000, true);
          } catch (RuntimeException re) {
-            System.out.println("CacheManagers alive after test! - " + testCxt.getName() + " " + re.getMessage());
+            failedTestDescriptions.add(
+                     "CacheManagers alive after test! - " + testCxt.getName() + " " + re.getMessage()
+                     );
          }
       }
       finally {
@@ -56,4 +72,20 @@
       }
    }
 
+   public static void describeErrorsIfAny() {
+      if ( ! failedTestDescriptions.isEmpty() ) {
+         log("~~~~~~~~~~~~~~~~~~~~~~~~~ TEST HEALTH INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~");
+         log("Some tests didn't properly shutdown the CacheManager:");
+         for (String errorMsg : failedTestDescriptions) {
+            System.out.println( "\t" + errorMsg);
+         }
+         log("~~~~~~~~~~~~~~~~~~~~~~~~~ TEST HEALTH INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~");
+      }
+   }
+   
+   private static void log(String s) {
+      System.out.println(s);
+      log.info(s);
+   }
+
 }

Modified: trunk/core/src/test/java/org/infinispan/test/testng/SuiteResourcesAndLogTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/testng/SuiteResourcesAndLogTest.java	2010-02-15 17:24:08 UTC (rev 1509)
+++ trunk/core/src/test/java/org/infinispan/test/testng/SuiteResourcesAndLogTest.java	2010-02-15 22:24:47 UTC (rev 1510)
@@ -12,12 +12,11 @@
  * @author Mircea.Markus at jboss.com
  * @author Galder Zamarreño
  */
- at Test(groups = "functional", testName = "test.testng.SuiteResourcesAndLogTest")
+ at Test(groups = "functional", testName = "test.testng.SuiteResourcesAndLogTest", alwaysRun=true)
 public class SuiteResourcesAndLogTest {
 
    private static Log log = LogFactory.getLog(SuiteResourcesAndLogTest.class);
 
-
    @BeforeSuite
    @AfterSuite
    public void printEnvInformation() {
@@ -39,6 +38,8 @@
       log("java.net.preferIPv6Stack = " + System.getProperty("java.net.preferIPv6Stack"));
       log("MAVEN_OPTS = " + System.getProperty("MAVEN_OPTS"));
       log("~~~~~~~~~~~~~~~~~~~~~~~~~ ENVIRONMENT INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~");
+      
+      DebuggingUnitTestNGListener.describeErrorsIfAny();
    }
 
    private void log(String s) {

Modified: trunk/core/src/test/java/org/infinispan/test/testng/UnitTestTestNGListener.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/testng/UnitTestTestNGListener.java	2010-02-15 17:24:08 UTC (rev 1509)
+++ trunk/core/src/test/java/org/infinispan/test/testng/UnitTestTestNGListener.java	2010-02-15 22:24:47 UTC (rev 1510)
@@ -19,7 +19,7 @@
     * Holds test classes actually running in all threads.
     */
    private ThreadLocal<IClass> threadTestClass = new ThreadLocal<IClass>();
-   Log log = LogFactory.getLog(UnitTestTestNGListener.class);
+   private static final Log log = LogFactory.getLog(UnitTestTestNGListener.class);
 
    private AtomicInteger failed = new AtomicInteger(0);
    private AtomicInteger succeded = new AtomicInteger(0);



More information about the infinispan-commits mailing list