[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