[infinispan-commits] Infinispan SVN: r935 - in trunk/core/src/test/java/org/infinispan: api/batch and 30 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Sun Oct 11 11:11:35 EDT 2009


Author: vblagojevic at jboss.com
Date: 2009-10-11 11:11:35 -0400 (Sun, 11 Oct 2009)
New Revision: 935

Added:
   trunk/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java
Modified:
   trunk/core/src/test/java/org/infinispan/api/AsyncAPITest.java
   trunk/core/src/test/java/org/infinispan/api/CacheClusterJoinTest.java
   trunk/core/src/test/java/org/infinispan/api/batch/AbstractBatchTest.java
   trunk/core/src/test/java/org/infinispan/api/mvcc/LockTestBase.java
   trunk/core/src/test/java/org/infinispan/api/mvcc/repeatable_read/WriteSkewTest.java
   trunk/core/src/test/java/org/infinispan/atomic/APITest.java
   trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapConcurrencyTest.java
   trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTest.java
   trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTestAssertions.java
   trunk/core/src/test/java/org/infinispan/atomic/AtomicMapFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/commands/CommandIdUniquenessTest.java
   trunk/core/src/test/java/org/infinispan/config/parsing/Coherence2InfinispanTransformerTest.java
   trunk/core/src/test/java/org/infinispan/config/parsing/EHCache2InfinispanTransformerTest.java
   trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java
   trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
   trunk/core/src/test/java/org/infinispan/container/SimpleDataContainerTest.java
   trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java
   trunk/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/distribution/DefaultConsistentHashTest.java
   trunk/core/src/test/java/org/infinispan/distribution/DistAsyncFuncTest.java
   trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxFuncTest.java
   trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxUnsafeFuncTest.java
   trunk/core/src/test/java/org/infinispan/distribution/DistributionManagerUnitTest.java
   trunk/core/src/test/java/org/infinispan/distribution/JoinTaskTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndCoordDeathTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndOtherSenderDeathTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinNonOverlappingTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinOverlappingTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndCoordDeathTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndOtherSenderDeathTest.java
   trunk/core/src/test/java/org/infinispan/distribution/rehash/SingleJoinTest.java
   trunk/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java
   trunk/core/src/test/java/org/infinispan/expiry/ExpiryTest.java
   trunk/core/src/test/java/org/infinispan/factories/ComponentRegistryDebugTest.java
   trunk/core/src/test/java/org/infinispan/factories/scopes/ScopeDetectorTest.java
   trunk/core/src/test/java/org/infinispan/interceptors/MarshalledValueInterceptorTest.java
   trunk/core/src/test/java/org/infinispan/invalidation/AsyncAPIAsyncInvalTest.java
   trunk/core/src/test/java/org/infinispan/jmx/ActivationAndPassivationInterceptorMBeanTest.java
   trunk/core/src/test/java/org/infinispan/jmx/CacheLoaderAndCacheStoreInterceptorMBeanTest.java
   trunk/core/src/test/java/org/infinispan/jmx/ComponentsJmxRegistrationTest.java
   trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/jmx/ResourceDMBeanTest.java
   trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java
   trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreConfigTest.java
   trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreTest.java
   trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreTest.java
   trunk/core/src/test/java/org/infinispan/loaders/CacheLoaderFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTest.java
   trunk/core/src/test/java/org/infinispan/loaders/PassivationFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java
   trunk/core/src/test/java/org/infinispan/loaders/decorators/ChainingCacheLoaderTest.java
   trunk/core/src/test/java/org/infinispan/loaders/decorators/ReadOnlyCacheStoreTest.java
   trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreFunctionalTest.java
   trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreTest.java
   trunk/core/src/test/java/org/infinispan/lock/LockContainerHashingTest.java
   trunk/core/src/test/java/org/infinispan/lock/StripedLockTest.java
   trunk/core/src/test/java/org/infinispan/manager/CacheManagerComponentRegistryTest.java
   trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java
   trunk/core/src/test/java/org/infinispan/manager/CacheManagerXmlConfigurationTest.java
   trunk/core/src/test/java/org/infinispan/marshall/DuplicateIdTest.java
   trunk/core/src/test/java/org/infinispan/marshall/MarshalledValueTest.java
   trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java
   trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java
   trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallingTest.java
   trunk/core/src/test/java/org/infinispan/notifications/AsyncNotificationTest.java
   trunk/core/src/test/java/org/infinispan/notifications/CacheListenerCacheLoaderTest.java
   trunk/core/src/test/java/org/infinispan/notifications/CacheListenerRemovalTest.java
   trunk/core/src/test/java/org/infinispan/notifications/ConcurrentNotificationTest.java
   trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierImplTest.java
   trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierTest.java
   trunk/core/src/test/java/org/infinispan/notifications/cachelistener/ListenerRegistrationTest.java
   trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierImplTest.java
   trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierTest.java
   trunk/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java
   trunk/core/src/test/java/org/infinispan/profiling/MemConsumptionTest.java
   trunk/core/src/test/java/org/infinispan/replication/AsyncAPIAsyncReplTest.java
   trunk/core/src/test/java/org/infinispan/replication/AsyncAPISyncReplTest.java
   trunk/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java
   trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java
   trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java
   trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
   trunk/core/src/test/java/org/infinispan/test/SingleCacheManagerTest.java
   trunk/core/src/test/java/org/infinispan/tx/LocalDeadlockDetectionTest.java
   trunk/core/src/test/java/org/infinispan/tx/OnePhaseXATest.java
   trunk/core/src/test/java/org/infinispan/tx/ReplDeadlockDetectionTest.java
   trunk/core/src/test/java/org/infinispan/util/BidirectionalLinkedHashMapTest.java
   trunk/core/src/test/java/org/infinispan/util/DeadlockDetectingLockManagerTest.java
   trunk/core/src/test/java/org/infinispan/util/VisitableBidirectionalLinkedHashSetTest.java
Log:
[ISPN-220] - Test suite has memory leaks

Modified: trunk/core/src/test/java/org/infinispan/api/AsyncAPITest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/api/AsyncAPITest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/api/AsyncAPITest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -8,7 +8,6 @@
 import org.infinispan.manager.CacheManager;
 import org.infinispan.test.SingleCacheManagerTest;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "api.AsyncAPITest")
@@ -20,12 +19,6 @@
       c = cm.getCache();
       return cm;
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroyAfterClass() { 
-      super.destroyAfterClass();
-      c = null;
-   }
   
    public void testAsyncMethods() throws ExecutionException, InterruptedException {
       // put

Modified: trunk/core/src/test/java/org/infinispan/api/CacheClusterJoinTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/api/CacheClusterJoinTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/api/CacheClusterJoinTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,7 +6,6 @@
 import org.infinispan.manager.CacheManager;
 import org.infinispan.test.MultipleCacheManagersTest;
 import org.infinispan.test.TestingUtil;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import java.util.List;
@@ -51,16 +50,6 @@
       assert 1 == memb2.size();
       assert !coord.equals(memb2.get(0));
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();
-      cache1=null;
-      cache2=null;
-      cm1 = null;
-      cm2 = null;
-      cfg = null;
-   }
 
    public void testIsCoordinator() throws Exception {
       cm1.getCache("cache"); // this will make sure any lazy components are started.

Modified: trunk/core/src/test/java/org/infinispan/api/batch/AbstractBatchTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/api/batch/AbstractBatchTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/api/batch/AbstractBatchTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,10 +1,11 @@
 package org.infinispan.api.batch;
 
 import org.infinispan.Cache;
+import org.infinispan.test.AbstractInfinispanTest;
 
 import java.util.concurrent.atomic.AtomicReference;
 
-public abstract class AbstractBatchTest {
+public abstract class AbstractBatchTest extends AbstractInfinispanTest {
    protected String getOnDifferentThread(final Cache<String, String> cache, final String key) throws InterruptedException {
       final AtomicReference<String> ref = new AtomicReference<String>();
       Thread t = new Thread() {

Modified: trunk/core/src/test/java/org/infinispan/api/mvcc/LockTestBase.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/api/mvcc/LockTestBase.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/api/mvcc/LockTestBase.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -4,6 +4,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.context.InvocationContextContainer;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.concurrent.IsolationLevel;
@@ -23,7 +24,7 @@
  * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
  */
 @Test(groups = {"functional", "mvcc"})
-public abstract class LockTestBase {
+public abstract class LockTestBase extends AbstractInfinispanTest {
    private Log log = LogFactory.getLog(LockTestBase.class);
    protected boolean repeatableRead = true;
    protected boolean lockParentForChildInsertRemove = false;

Modified: trunk/core/src/test/java/org/infinispan/api/mvcc/repeatable_read/WriteSkewTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/api/mvcc/repeatable_read/WriteSkewTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/api/mvcc/repeatable_read/WriteSkewTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.context.InvocationContextContainer;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.concurrent.IsolationLevel;
@@ -21,7 +22,7 @@
 import java.util.concurrent.CountDownLatch;
 
 @Test(groups = {"functional", "mvcc"}, testName = "api.mvcc.repeatable_read.WriteSkewTest")
-public class WriteSkewTest {
+public class WriteSkewTest extends AbstractInfinispanTest {
    protected TransactionManager tm;
    protected LockManager lockManager;
    protected InvocationContextContainer icc;

Modified: trunk/core/src/test/java/org/infinispan/atomic/APITest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/atomic/APITest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/atomic/APITest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -25,6 +25,7 @@
 import static org.infinispan.atomic.AtomicHashMapTestAssertions.assertIsEmpty;
 import static org.infinispan.atomic.AtomicHashMapTestAssertions.assertIsEmptyMap;
 import org.infinispan.config.Configuration;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -37,7 +38,7 @@
 import javax.transaction.TransactionManager;
 
 @Test(groups = "functional", testName = "atomic.APITest")
-public class APITest {
+public class APITest extends AbstractInfinispanTest {
 
    Cache<String, Object> cache;
    TransactionManager tm;

Modified: trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapConcurrencyTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapConcurrencyTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapConcurrencyTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -3,6 +3,7 @@
 import org.infinispan.Cache;
 import org.infinispan.config.Configuration;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.concurrent.TimeoutException;
@@ -20,7 +21,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "functional", testName = "atomic.AtomicHashMapConcurrencyTest")
-public class AtomicHashMapConcurrencyTest {
+public class AtomicHashMapConcurrencyTest extends AbstractInfinispanTest {
 
    public static final String KEY = "key";
    Cache<String, Object> cache;

Modified: trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -23,12 +23,13 @@
 
 package org.infinispan.atomic;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.io.IOException;
 
 @Test(groups = "unit", testName = "atomic.AtomicHashMapTest")
-public class AtomicHashMapTest {
+public class AtomicHashMapTest extends AbstractInfinispanTest {
    public void testDeltasWithEmptyMap() throws IOException {
       AtomicHashMap m = new AtomicHashMap();
       Delta d = m.delta();

Modified: trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTestAssertions.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTestAssertions.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/atomic/AtomicHashMapTestAssertions.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,10 +1,11 @@
 package org.infinispan.atomic;
 
 import org.infinispan.Cache;
+import org.infinispan.test.AbstractInfinispanTest;
 
 import java.util.Map;
 
-public class AtomicHashMapTestAssertions {
+public class AtomicHashMapTestAssertions extends AbstractInfinispanTest {
 
    public static void assertIsEmpty(Map map) {
       assert map.size() == 0;

Modified: trunk/core/src/test/java/org/infinispan/atomic/AtomicMapFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/atomic/AtomicMapFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/atomic/AtomicMapFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.context.InvocationContext;
 import org.infinispan.context.InvocationContextContainer;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.logging.Log;
@@ -18,7 +19,7 @@
 import javax.transaction.TransactionManager;
 
 @Test(groups = "functional", testName = "atomic.AtomicMapFunctionalTest")
-public class AtomicMapFunctionalTest {
+public class AtomicMapFunctionalTest extends AbstractInfinispanTest {
    private static final Log log = LogFactory.getLog(AtomicMapFunctionalTest.class);
    Cache<String, Object> cache;
    TransactionManager tm;

Modified: trunk/core/src/test/java/org/infinispan/commands/CommandIdUniquenessTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/commands/CommandIdUniquenessTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/commands/CommandIdUniquenessTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,5 +1,6 @@
 package org.infinispan.commands;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.ClassFinder;
 import org.testng.annotations.Test;
 
@@ -10,7 +11,7 @@
 import java.util.TreeMap;
 
 @Test(groups = "unit", testName = "commands.CommandIdUniquenessTest")
-public class CommandIdUniquenessTest {
+public class CommandIdUniquenessTest extends AbstractInfinispanTest {
    public void testCommandIdUniqueness() throws Exception {
       List<Class<?>> commands = ClassFinder.isAssignableFrom(ReplicableCommand.class);
       SortedMap<Byte, String> cmdIds = new TreeMap<Byte, String>();

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/Coherence2InfinispanTransformerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/Coherence2InfinispanTransformerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/Coherence2InfinispanTransformerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -2,6 +2,7 @@
 
 import org.infinispan.Cache;
 import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.Test;
 
@@ -14,7 +15,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "functional", testName = "config.parsing.Coherence2InfinispanTransformerTest")
-public class Coherence2InfinispanTransformerTest {
+public class Coherence2InfinispanTransformerTest extends AbstractInfinispanTest {
 
    public static final String XSLT_FILE = "xslt/coherence35x2infinispan4x.xslt";
    private static final String BASE_DIR = "configs/coherence";

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/EHCache2InfinispanTransformerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/EHCache2InfinispanTransformerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/EHCache2InfinispanTransformerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.eviction.EvictionStrategy;
 import org.infinispan.loaders.CacheLoaderConfig;
 import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import static org.testng.Assert.assertEquals;
 import org.testng.annotations.Test;
@@ -18,7 +19,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "functional", testName = "config.parsing.EHCache2InfinispanTransformerTest")
-public class EHCache2InfinispanTransformerTest {
+public class EHCache2InfinispanTransformerTest extends AbstractInfinispanTest {
 
    public static final String XSLT_FILE = "xslt/ehcache16x2infinispan4x.xslt";
    private static final String BASE_DIR = "configs/ehcache";

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/Jbc2InfinispanTransformerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -10,6 +10,7 @@
 import org.infinispan.loaders.decorators.SingletonStoreConfig;
 import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
 import org.infinispan.marshall.VersionAwareMarshaller;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.concurrent.IsolationLevel;
 import org.testng.annotations.Test;
 
@@ -23,7 +24,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "config.parsing.Jbc2InfinispanTransformerTest")
-public class Jbc2InfinispanTransformerTest {
+public class Jbc2InfinispanTransformerTest extends AbstractInfinispanTest {
    public static final String XSLT_FILE = "xslt/jbc3x2infinispan4x.xslt";
    private static final String BASE_DIR = "configs/jbosscache3x";
    ConfigFilesConvertor convertor = new ConfigFilesConvertor();

Modified: trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -16,11 +16,12 @@
 import org.infinispan.eviction.EvictionStrategy;
 import org.infinispan.loaders.file.FileCacheStoreConfig;
 import org.infinispan.remoting.transport.jgroups.JGroupsTransport;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.concurrent.IsolationLevel;
 import org.testng.annotations.Test;
 
 @Test(groups = "unit", testName = "config.parsing.XmlFileParsingTest")
-public class XmlFileParsingTest {
+public class XmlFileParsingTest extends AbstractInfinispanTest {
 
    public void testNamedCacheFileJaxb() throws Exception {
       String schemaFileName = "infinispan-config-" + Version.getMajorVersion() + ".xsd";

Modified: trunk/core/src/test/java/org/infinispan/container/SimpleDataContainerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/container/SimpleDataContainerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/container/SimpleDataContainerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.container.entries.MortalCacheEntry;
 import org.infinispan.container.entries.TransientCacheEntry;
 import org.infinispan.container.entries.TransientMortalCacheEntry;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.Immutables;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -15,7 +16,7 @@
 import java.util.Set;
 
 @Test(groups = "unit", testName = "container.SimpleDataContainerTest")
-public class SimpleDataContainerTest {
+public class SimpleDataContainerTest extends AbstractInfinispanTest {
    DataContainer dc;
 
    @BeforeMethod

Modified: trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/AsyncAPIAsyncDistTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -3,7 +3,6 @@
 import org.infinispan.commands.write.WriteCommand;
 import org.infinispan.test.AbstractCacheTest;
 import org.infinispan.test.ReplListener;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import java.util.concurrent.TimeUnit;
@@ -32,12 +31,6 @@
    protected void resetListeners() {
       rl.resetEager();
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
-      rl = null;
-   }
 
    @Override
    protected void asyncWait(boolean tx, Class<? extends WriteCommand>... cmds) {

Modified: trunk/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -14,7 +14,6 @@
 import org.infinispan.test.TestingUtil;
 import org.infinispan.util.Util;
 import org.infinispan.util.concurrent.IsolationLevel;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import javax.transaction.TransactionManager;
@@ -64,15 +63,6 @@
 
    }
    
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();     
-      caches.clear();
-      caches = null;
-      configuration=null;
-      c1 = null;c2=null;c3=null;c4=null;
-   }
-
    /**
     * This is a separate class because some tools try and run this method as a test 
     */

Modified: trunk/core/src/test/java/org/infinispan/distribution/DefaultConsistentHashTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/DefaultConsistentHashTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/DefaultConsistentHashTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,6 +1,7 @@
 package org.infinispan.distribution;
 
 import org.infinispan.remoting.transport.Address;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
@@ -12,7 +13,7 @@
 import java.util.Map;
 
 @Test(groups = "unit", testName = "distribution.DefaultConsistentHashTest", enabled = false)
-public class DefaultConsistentHashTest {
+public class DefaultConsistentHashTest extends AbstractInfinispanTest {
 
    List<Address> servers;
    ConsistentHash ch;

Modified: trunk/core/src/test/java/org/infinispan/distribution/DistAsyncFuncTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/DistAsyncFuncTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/DistAsyncFuncTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,10 +5,8 @@
 import org.infinispan.commands.write.InvalidateL1Command;
 import org.infinispan.test.ReplListener;
 import org.infinispan.test.TestingUtil;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -36,16 +34,7 @@
       listenerLookup = new HashMap<Cache<?, ?>, ReplListener>();
       for (ReplListener rl : r) listenerLookup.put(rl.getCache(), rl);
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();           
-      r1=null;r2=null;r3=null;r4=null;
-      Arrays.fill(r, null);
-      listenerLookup.clear();
-   }
 
-
    @Override
    protected void asyncWait(Object key, Class<? extends VisitableCommand> command, Cache<?, ?>... cachesOnWhichKeyShouldInval) {
       if (key == null) {

Modified: trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxFuncTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxFuncTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxFuncTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,7 +6,6 @@
 import org.infinispan.remoting.transport.Address;
 import org.infinispan.test.ReplListener;
 import org.infinispan.test.TestingUtil;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import java.util.ArrayList;
@@ -48,16 +47,7 @@
          listenerLookup.put(rl.getCache(), rl);
       }
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();           
-      r1=null;r2=null;r3=null;r4=null;
-      Arrays.fill(r, null);
-      listenerLookup.clear();
-      listenerCaches.clear();
-   }
-
+  
    @Override
    protected void asyncWait(Object key, Class<? extends VisitableCommand> command, Cache<?, ?>... cachesOnWhichKeyShouldInval) {
       if (cachesOnWhichKeyShouldInval == null) cachesOnWhichKeyShouldInval = new Cache[0];

Modified: trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxUnsafeFuncTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxUnsafeFuncTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/DistAsyncTxUnsafeFuncTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,6 +1,5 @@
 package org.infinispan.distribution;
 
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.DistAsyncTxUnsafeFuncTest")
@@ -11,8 +10,4 @@
       testRetVals = false;
       cleanup = CleanupPhase.AFTER_METHOD; // ensure any stale TXs are wiped
    }
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();           
-   }
 }

Modified: trunk/core/src/test/java/org/infinispan/distribution/DistributionManagerUnitTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/DistributionManagerUnitTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/DistributionManagerUnitTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -2,6 +2,7 @@
 
 import org.easymock.EasyMock;
 import org.infinispan.remoting.transport.Address;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.util.Arrays;
@@ -13,7 +14,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "distribution.DistributionManagerUnitTest")
-public class DistributionManagerUnitTest {
+public class DistributionManagerUnitTest extends AbstractInfinispanTest {
    DistributionManagerImpl dmi = new DistributionManagerImpl();
 
    public void testDeterminingLeaversAndJoiners() {

Modified: trunk/core/src/test/java/org/infinispan/distribution/JoinTaskTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/JoinTaskTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/JoinTaskTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -4,13 +4,14 @@
 import org.infinispan.remoting.rpc.RpcManager;
 import org.infinispan.remoting.transport.Address;
 import org.infinispan.remoting.transport.Transport;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.util.Arrays;
 import java.util.List;
 
 @Test(groups = "unit", testName = "distribution.JoinTaskTest")
-public class JoinTaskTest {
+public class JoinTaskTest extends AbstractInfinispanTest {
    public void testCalculatingWhosensStateRC2() {
       doTest(2);
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndCoordDeathTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndCoordDeathTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndCoordDeathTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.ConcurrentJoinAndCoordDeathTest", enabled = false)
-public class ConcurrentJoinAndCoordDeathTest {
+public class ConcurrentJoinAndCoordDeathTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndOtherSenderDeathTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndOtherSenderDeathTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentJoinAndOtherSenderDeathTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.ConcurrentJoinAndOtherSenderDeathTest", enabled = false)
-public class ConcurrentJoinAndOtherSenderDeathTest {
+public class ConcurrentJoinAndOtherSenderDeathTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinNonOverlappingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinNonOverlappingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinNonOverlappingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.ConcurrentLeaveAndJoinNonOverlappingTest", enabled = false)
-public class ConcurrentLeaveAndJoinNonOverlappingTest {
+public class ConcurrentLeaveAndJoinNonOverlappingTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinOverlappingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinOverlappingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/ConcurrentLeaveAndJoinOverlappingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.ConcurrentLeaveAndJoinOverlappingTest", enabled = false)
-public class ConcurrentLeaveAndJoinOverlappingTest {
+public class ConcurrentLeaveAndJoinOverlappingTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndCoordDeathTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndCoordDeathTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndCoordDeathTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.JoinAndCoordDeathTest", enabled = false)
-public class JoinAndCoordDeathTest {
+public class JoinAndCoordDeathTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndOtherSenderDeathTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndOtherSenderDeathTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/JoinAndOtherSenderDeathTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.distribution.rehash;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "distribution.rehash.JoinAndOtherSenderDeathTest", enabled = false)
-public class JoinAndOtherSenderDeathTest {
+public class JoinAndOtherSenderDeathTest extends AbstractInfinispanTest {
    public void implementMe() {
       assert false : "Implement me!";
    }

Modified: trunk/core/src/test/java/org/infinispan/distribution/rehash/SingleJoinTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/rehash/SingleJoinTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/distribution/rehash/SingleJoinTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,12 +1,11 @@
 package org.infinispan.distribution.rehash;
 
+import static java.util.concurrent.TimeUnit.SECONDS;
+
 import org.infinispan.Cache;
 import org.infinispan.manager.CacheManager;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
-import static java.util.concurrent.TimeUnit.SECONDS;
-
 @Test(groups = "functional", testName = "distribution.rehash.SingleJoinTest")
 public class SingleJoinTest extends RehashTestBase {
    CacheManager joinerManager;
@@ -17,13 +16,6 @@
       joinerManager.defineConfiguration(cacheName, configuration);
       joiner = joinerManager.getCache(cacheName);
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();     
-      joiner = null;
-      joinerManager=null;
-   }
 
    void waitForRehashCompletion() {
       // need to block until this join has completed!

Modified: trunk/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/eviction/EvictionManagerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.container.DataContainer;
 import org.infinispan.container.entries.InternalEntryFactory;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.util.Iterator;
@@ -14,7 +15,7 @@
 import java.util.concurrent.TimeUnit;
 
 @Test(groups = "unit", testName = "eviction.EvictionManagerTest")
-public class EvictionManagerTest {
+public class EvictionManagerTest extends AbstractInfinispanTest {
 
    private Configuration getCfg() {
       Configuration cfg = new Configuration();

Modified: trunk/core/src/test/java/org/infinispan/expiry/ExpiryTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/expiry/ExpiryTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/expiry/ExpiryTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -4,6 +4,7 @@
 import org.infinispan.container.DataContainer;
 import org.infinispan.container.entries.InternalCacheEntry;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -16,7 +17,7 @@
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
 @Test(groups = "functional", testName = "expiry.ExpiryTest")
-public class ExpiryTest {
+public class ExpiryTest extends AbstractInfinispanTest {
 
    CacheManager cm;
 

Modified: trunk/core/src/test/java/org/infinispan/factories/ComponentRegistryDebugTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/factories/ComponentRegistryDebugTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/factories/ComponentRegistryDebugTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,9 +1,10 @@
 package org.infinispan.factories;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "unit, functional", testName = "factories.ComponentRegistryDebugTest")
-public class ComponentRegistryDebugTest {
+public class ComponentRegistryDebugTest extends AbstractInfinispanTest {
    public void testDebugStatus() {
       assert !AbstractComponentRegistry.DEBUG_DEPENDENCIES : "Please set DEBUG_DEPENDENCIES to false!!";
    }

Modified: trunk/core/src/test/java/org/infinispan/factories/scopes/ScopeDetectorTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/factories/scopes/ScopeDetectorTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/factories/scopes/ScopeDetectorTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,5 +1,6 @@
 package org.infinispan.factories.scopes;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 /**
@@ -7,7 +8,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "factories.scopes.ScopeDetectorTest")
-public class ScopeDetectorTest {
+public class ScopeDetectorTest extends AbstractInfinispanTest {
    public void testScopeOnClass() {
       testScopes(Test1.class, Scopes.GLOBAL);
 

Modified: trunk/core/src/test/java/org/infinispan/interceptors/MarshalledValueInterceptorTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/interceptors/MarshalledValueInterceptorTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/interceptors/MarshalledValueInterceptorTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.manager.CacheManager;
 import org.infinispan.marshall.MarshalledValue;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
@@ -21,7 +22,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "interceptors.MarshalledValueInterceptorTest")
-public class MarshalledValueInterceptorTest {
+public class MarshalledValueInterceptorTest extends AbstractInfinispanTest {
    CacheManager cm;
 
    @BeforeTest

Modified: trunk/core/src/test/java/org/infinispan/invalidation/AsyncAPIAsyncInvalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/invalidation/AsyncAPIAsyncInvalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/invalidation/AsyncAPIAsyncInvalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -4,7 +4,6 @@
 import org.infinispan.commands.write.WriteCommand;
 import org.infinispan.test.AbstractCacheTest;
 import org.infinispan.test.ReplListener;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "invalidation.AsyncAPIAsyncInvalTest")
@@ -27,12 +26,6 @@
       return false;
    }
    
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
-      rl = null;
-   }
-
    @Override
    protected void resetListeners() {
       rl.resetEager();

Modified: trunk/core/src/test/java/org/infinispan/jmx/ActivationAndPassivationInterceptorMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/ActivationAndPassivationInterceptorMBeanTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/ActivationAndPassivationInterceptorMBeanTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -11,9 +11,7 @@
 import org.infinispan.manager.CacheManager;
 import org.infinispan.test.SingleCacheManagerTest;
 import org.infinispan.test.TestingUtil;
-import org.infinispan.test.AbstractCacheTest.CleanupPhase;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Test;
 
@@ -65,16 +63,6 @@
    public void resetStats() throws Exception {
       threadMBeanServer.invoke(activationInterceptorObjName, "resetStatistics", new Object[0], new String[0]);
    }
-   
-   @AfterClass(alwaysRun = true)
-   protected void destroyAfterClass() {
-      super.destroyAfterClass();
-      cache = null;
-      threadMBeanServer = null;
-      activationInterceptorObjName = null;
-      passivationInterceptorObjName = null;
-      cacheStore = null;
-   }
 
    public void testDisbaleStatistics() throws Exception {
       threadMBeanServer.setAttribute(activationInterceptorObjName, new Attribute("StatisticsEnabled", Boolean.FALSE));

Modified: trunk/core/src/test/java/org/infinispan/jmx/CacheLoaderAndCacheStoreInterceptorMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/CacheLoaderAndCacheStoreInterceptorMBeanTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/CacheLoaderAndCacheStoreInterceptorMBeanTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -11,7 +11,6 @@
 import org.infinispan.test.SingleCacheManagerTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Test;
 
@@ -61,15 +60,7 @@
       threadMBeanServer.invoke(loaderInterceptorObjName, "resetStatistics", new Object[0], new String[0]);
       threadMBeanServer.invoke(storeInterceptorObjName, "resetStatistics", new Object[0], new String[0]);
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroyAfterClass() {      
-      super.destroyAfterClass();
-      cacheStore = null; threadMBeanServer =null;storeInterceptorObjName=null;
-      loaderInterceptorObjName =null;
-   }
 
-
    public void testPutKeyValue() throws Exception {
       assertStoreAccess(0, 0, 0);
       cache.put("key", "value");

Modified: trunk/core/src/test/java/org/infinispan/jmx/ComponentsJmxRegistrationTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/ComponentsJmxRegistrationTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/ComponentsJmxRegistrationTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.config.GlobalConfiguration;
 import org.infinispan.factories.AbstractComponentRegistry;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -27,7 +28,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "jmx.ComponentsJmxRegistrationTest")
-public class ComponentsJmxRegistrationTest {
+public class ComponentsJmxRegistrationTest extends AbstractInfinispanTest {
 
    private MBeanServer mBeanServer;
    private List<CacheManager> cacheManagers = new ArrayList<CacheManager>();

Modified: trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/JmxStatsFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -3,6 +3,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.config.GlobalConfiguration;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -24,7 +25,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "jmx.JmxStatsFunctionalTest")
-public class JmxStatsFunctionalTest {
+public class JmxStatsFunctionalTest extends AbstractInfinispanTest {
 
    public static final String JMX_DOMAIN = JmxStatsFunctionalTest.class.getSimpleName();
    private MBeanServer server;

Modified: trunk/core/src/test/java/org/infinispan/jmx/ResourceDMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/ResourceDMBeanTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/ResourceDMBeanTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,6 +1,7 @@
 package org.infinispan.jmx;
 
 import org.infinispan.jmx.annotations.ManagedOperation;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 /**
@@ -10,7 +11,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "jmx.ResourceDMBeanTest")
-public class ResourceDMBeanTest {
+public class ResourceDMBeanTest extends AbstractInfinispanTest {
 
    /**
     * If we have a method in the base class that is annotated as @ManagedOperation, will this be seen the same way in

Modified: trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/jmx/TxInterceptorMBeanTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -7,7 +7,6 @@
 import org.infinispan.test.MultipleCacheManagersTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Test;
 
@@ -51,18 +50,7 @@
    public void resetStats() throws Exception {
       threadMBeanServer.invoke(txInterceptor, "resetStatistics", new Object[0], new String[0]);
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void destroy() {
-      super.destroy();
-      cache1 = null;
-      cache2 = null;
-      tm = null;
-      threadMBeanServer = null;
-      txInterceptor = null;
-   }
 
-
    public void testCommit() throws Exception {
       
       assertCommitRollback(0, 0);

Modified: trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreConfigTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreConfigTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreConfigTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,5 +1,6 @@
 package org.infinispan.loaders;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -11,7 +12,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "loaders.AbstractCacheStoreConfigTest")
-public class AbstractCacheStoreConfigTest {
+public class AbstractCacheStoreConfigTest extends AbstractInfinispanTest {
    private AbstractCacheStoreConfig config;
 
    @BeforeMethod

Modified: trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/AbstractCacheStoreTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,6 +1,8 @@
 package org.infinispan.loaders;
 
 import static org.easymock.classextension.EasyMock.createMock;
+
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.ReflectionUtil;
 import org.infinispan.util.concurrent.WithinThreadExecutor;
 import org.testng.annotations.AfterMethod;
@@ -16,7 +18,7 @@
  * @since 4.0
  */
 @Test(groups = "unit", testName = "loaders.AbstractCacheStoreTest")
-public class AbstractCacheStoreTest {
+public class AbstractCacheStoreTest extends AbstractInfinispanTest {
    private AbstractCacheStore cs;
    private AbstractCacheStoreConfig cfg;
 

Modified: trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -29,6 +29,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.config.GlobalConfiguration;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.BeforeMethod;
@@ -40,7 +41,7 @@
  * any access to the underlying cache store/loader should be done to verify contents. 
  */
 @Test(groups = "unit", testName = "loaders.BaseCacheStoreFunctionalTest")
-public abstract class BaseCacheStoreFunctionalTest {
+public abstract class BaseCacheStoreFunctionalTest extends AbstractInfinispanTest {
    
    protected abstract CacheStoreConfig createCacheStoreConfig() throws Exception;
    

Modified: trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/BaseCacheStoreTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -12,6 +12,7 @@
 import org.infinispan.loaders.modifications.Store;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.TestObjectStreamMarshaller;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.transaction.xa.GlobalTransaction;
 import org.infinispan.transaction.xa.GlobalTransactionFactory;
 import org.infinispan.util.Util;
@@ -39,7 +40,7 @@
 @SuppressWarnings("unchecked")
 // this needs to be here for the test to run in an IDE
 @Test(groups = "unit", testName = "loaders.BaseCacheStoreTest")
-public abstract class BaseCacheStoreTest {
+public abstract class BaseCacheStoreTest extends AbstractInfinispanTest {
 
    protected abstract CacheStore createCacheStore() throws Exception;
 

Modified: trunk/core/src/test/java/org/infinispan/loaders/CacheLoaderFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/CacheLoaderFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/CacheLoaderFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -10,6 +10,7 @@
 import org.infinispan.lifecycle.ComponentStatus;
 import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -28,7 +29,7 @@
  * @author Manik Surtani
  */
 @Test(groups = "functional", testName = "loaders.CacheLoaderFunctionalTest")
-public class CacheLoaderFunctionalTest {
+public class CacheLoaderFunctionalTest extends AbstractInfinispanTest {
    Cache cache;
    CacheStore store;
    TransactionManager tm;

Modified: trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/ConcurrentLoadAndEvictTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -16,7 +16,6 @@
 import org.infinispan.test.SingleCacheManagerTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import java.util.Collections;
@@ -55,13 +54,7 @@
       config.setCustomInterceptors(Collections.singletonList(cic));
       return TestCacheManagerFactory.createCacheManager(config);
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroyAfterClass() {
-      super.destroyAfterClass();
-      sdi = null;
-   }
-
+ 
    public void testEvictBeforeRead() throws CacheLoaderException, ExecutionException, InterruptedException {
       cache = cacheManager.getCache();
       cache.put("a", "b");

Modified: trunk/core/src/test/java/org/infinispan/loaders/PassivationFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/PassivationFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/PassivationFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.container.entries.InternalCacheEntry;
 import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -25,7 +26,7 @@
  * @author Manik Surtani
  */
 @Test(groups = "functional", testName = "loaders.PassivationFunctionalTest")
-public class PassivationFunctionalTest {
+public class PassivationFunctionalTest extends AbstractInfinispanTest {
    Cache cache;
    CacheStore store;
    TransactionManager tm;
@@ -49,11 +50,6 @@
    @AfterTest
    public void tearDown() {
       TestingUtil.killCacheManagers(cm);
-      cm = null;
-      cfg = null;
-      store = null;
-      cache = null;
-      tm = null;
    }
 
    @AfterMethod

Modified: trunk/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/decorators/AsyncTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.container.entries.InternalEntryFactory;
 import org.infinispan.loaders.CacheLoaderException;
 import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.util.logging.Log;
 import org.infinispan.util.logging.LogFactory;
@@ -15,7 +16,7 @@
 import java.util.concurrent.ExecutorService;
 
 @Test(groups = "unit", testName = "loaders.decorators.AsyncTest")
-public class AsyncTest {
+public class AsyncTest extends AbstractInfinispanTest {
    private static final Log log = LogFactory.getLog(AsyncTest.class);
    AsyncStore store;
    ExecutorService asyncExecutor;

Modified: trunk/core/src/test/java/org/infinispan/loaders/decorators/ChainingCacheLoaderTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/decorators/ChainingCacheLoaderTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/decorators/ChainingCacheLoaderTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -60,16 +60,10 @@
 
    @AfterMethod
    public void afterMethod() {
-      try {
-         if (store1 != null)
-            store1.clear();
-         if (store2 != null)
-            store2.clear();
-      } finally {
-         store1 = null;
-         store2 = null;
-         Arrays.fill(stores, null);
-      }
+      if (store1 != null)
+         store1.clear();
+      if (store2 != null)
+         store2.clear();
    }
 
    public void testPropagatingWrites() throws Exception {

Modified: trunk/core/src/test/java/org/infinispan/loaders/decorators/ReadOnlyCacheStoreTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/decorators/ReadOnlyCacheStoreTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/decorators/ReadOnlyCacheStoreTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -4,10 +4,11 @@
 import org.infinispan.container.entries.InternalCacheEntry;
 import org.infinispan.loaders.CacheLoaderException;
 import org.infinispan.loaders.CacheStore;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 @Test(groups = "unit", testName = "loaders.decorators.ReadOnlyCacheStoreTest")
-public class ReadOnlyCacheStoreTest {
+public class ReadOnlyCacheStoreTest extends AbstractInfinispanTest {
    public void testWriteMethods() throws CacheLoaderException {
       CacheStore mock = createMock(CacheStore.class);
       ReadOnlyStore store = new ReadOnlyStore(mock);

Modified: trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreFunctionalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreFunctionalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreFunctionalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -26,7 +26,7 @@
 import org.infinispan.loaders.BaseCacheStoreFunctionalTest;
 import org.infinispan.loaders.CacheStoreConfig;
 import org.infinispan.test.TestingUtil;
-import org.testng.annotations.AfterTest;
+import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Parameters;
 import org.testng.annotations.Test;
@@ -42,7 +42,7 @@
       tmpDirectory = basedir + TestingUtil.TEST_PATH + File.separator + getClass().getSimpleName();
    }
    
-   @AfterTest
+   @AfterClass
    protected void clearTempDir() {
       TestingUtil.recursiveFileRemove(tmpDirectory);
       new File(tmpDirectory).mkdirs();

Modified: trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -11,8 +11,6 @@
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Parameters;
 import org.testng.annotations.Test;
@@ -37,7 +35,7 @@
       tmpDirectory = basedir + TestingUtil.TEST_PATH + File.separator + getClass().getSimpleName();
    }
 
-   @AfterTest
+   @AfterClass
    protected void clearTempDir() {
       TestingUtil.recursiveFileRemove(tmpDirectory);
       new File(tmpDirectory).mkdirs();
@@ -53,13 +51,6 @@
       fcs.start();
       return fcs;
    }
-   
-   @AfterClass(alwaysRun=true)
-   public void tearDown() throws CacheLoaderException {
-      super.tearDown();
-      fcs = null;
-      tmpDirectory = null;
-   }
 
    @Override
    public void testPreload() throws CacheLoaderException {

Modified: trunk/core/src/test/java/org/infinispan/lock/LockContainerHashingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/lock/LockContainerHashingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/lock/LockContainerHashingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -21,6 +21,7 @@
  */
 package org.infinispan.lock;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.concurrent.locks.containers.AbstractStripedLockContainer;
 import org.infinispan.util.concurrent.locks.containers.ReentrantStripedLockContainer;
 import org.testng.annotations.BeforeMethod;
@@ -34,7 +35,7 @@
 import java.util.concurrent.locks.Lock;
 
 @Test(groups = "unit", testName = "lock.LockContainerHashingTest")
-public class LockContainerHashingTest {
+public class LockContainerHashingTest extends AbstractInfinispanTest {
    private AbstractStripedLockContainer stripedLock;
 
    @BeforeMethod(alwaysRun = true)

Modified: trunk/core/src/test/java/org/infinispan/lock/StripedLockTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/lock/StripedLockTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/lock/StripedLockTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,5 +1,6 @@
 package org.infinispan.lock;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.util.concurrent.locks.StripedLock;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -13,7 +14,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "unit", testName = "lock.StripedLockTest")
-public class StripedLockTest {
+public class StripedLockTest extends AbstractInfinispanTest {
 
    StripedLock stripedLock;
 

Modified: trunk/core/src/test/java/org/infinispan/manager/CacheManagerComponentRegistryTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/manager/CacheManagerComponentRegistryTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/manager/CacheManagerComponentRegistryTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -8,6 +8,7 @@
 import org.infinispan.interceptors.BatchingInterceptor;
 import org.infinispan.interceptors.InterceptorChain;
 import org.infinispan.remoting.transport.Transport;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
@@ -22,7 +23,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "manager.CacheManagerComponentRegistryTest")
-public class CacheManagerComponentRegistryTest {
+public class CacheManagerComponentRegistryTest extends AbstractInfinispanTest {
    DefaultCacheManager cm;
 
    @AfterMethod(alwaysRun = true)

Modified: trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/manager/CacheManagerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -2,6 +2,7 @@
 
 import org.infinispan.Cache;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.util.concurrent.IsolationLevel;
 import org.infinispan.config.Configuration;
@@ -13,7 +14,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "manager.CacheManagerTest")
-public class CacheManagerTest {
+public class CacheManagerTest extends AbstractInfinispanTest {
    public void testDefaultCache() {
       CacheManager cm = TestCacheManagerFactory.createLocalCacheManager();
 

Modified: trunk/core/src/test/java/org/infinispan/manager/CacheManagerXmlConfigurationTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/manager/CacheManagerXmlConfigurationTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/manager/CacheManagerXmlConfigurationTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,6 +1,7 @@
 package org.infinispan.manager;
 
 import org.infinispan.Cache;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.config.Configuration;
 import org.infinispan.remoting.rpc.RpcManager;
@@ -16,7 +17,7 @@
  * @since 4.0
  */
 @Test(groups = "functional", testName = "manager.CacheManagerXmlConfigurationTest")
-public class CacheManagerXmlConfigurationTest {
+public class CacheManagerXmlConfigurationTest extends AbstractInfinispanTest {
    DefaultCacheManager cm;
 
    @AfterMethod

Modified: trunk/core/src/test/java/org/infinispan/marshall/DuplicateIdTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/DuplicateIdTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/marshall/DuplicateIdTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,5 +1,6 @@
 package org.infinispan.marshall;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.lang.reflect.Field;
@@ -10,7 +11,7 @@
 import java.util.Set;
 
 @Test(groups = "unit", testName = "marshall.DuplicateIdTest")
-public class DuplicateIdTest {
+public class DuplicateIdTest extends AbstractInfinispanTest {
    public void testDuplicateMarshallerIds() throws Exception {
       Class idHolder = Ids.class;
       Map<Byte, Set<String>> dupes = new HashMap<Byte, Set<String>>();

Modified: trunk/core/src/test/java/org/infinispan/marshall/MarshalledValueTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/MarshalledValueTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/marshall/MarshalledValueTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -40,7 +40,6 @@
 import org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent;
 import org.infinispan.test.MultipleCacheManagersTest;
 import org.infinispan.test.TestingUtil;
-import org.infinispan.test.AbstractCacheTest.CleanupPhase;
 import org.infinispan.util.ObjectDuplicator;
 import org.infinispan.util.logging.Log;
 import org.infinispan.util.logging.LogFactory;
@@ -113,13 +112,12 @@
    }
    
    @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
+   protected void destroy() {           
       if(marshaller != null) {
          marshaller.stop();
          marshaller = null;
-      }
-      mvli = null;
+      }      
+      super.destroy();
    }
 
    @AfterMethod

Modified: trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -63,6 +63,7 @@
 import org.infinispan.remoting.responses.UnsuccessfulResponse;
 import org.infinispan.remoting.transport.Address;
 import org.infinispan.remoting.transport.jgroups.JGroupsAddress;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.data.Person;
 import org.infinispan.transaction.TransactionLog;
 import org.infinispan.transaction.xa.GlobalTransaction;
@@ -86,7 +87,7 @@
 import java.util.*;
 
 @Test(groups = "functional", testName = "marshall.VersionAwareMarshallerTest")
-public class VersionAwareMarshallerTest {
+public class VersionAwareMarshallerTest extends AbstractInfinispanTest {
 
    private static final Log log = LogFactory.getLog(VersionAwareMarshallerTest.class);
    private final VersionAwareMarshaller marshaller = new VersionAwareMarshaller();

Modified: trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -32,6 +32,7 @@
 import org.infinispan.marshall.Marshallable;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.transaction.xa.GlobalTransactionFactory;
 import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
@@ -41,7 +42,7 @@
  * which is {@link JBossMarshaller}}. This class should contain methods that exercise
  * logic in this particular implementation.
  */
-public class JBossMarshallerTest {
+public class JBossMarshallerTest extends AbstractInfinispanTest {
 
    private final VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
 

Modified: trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -28,6 +28,7 @@
 import java.io.ObjectInputStream;
 import java.io.Serializable;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.jboss.marshalling.ByteInput;
 import org.jboss.marshalling.ByteOutput;
 import org.jboss.marshalling.ContextClassResolver;
@@ -46,7 +47,7 @@
  * ease the creation of tests that check specific behaivour at this level.
  */
 @Test(groups = "functional", testName = "marshall.jboss.JBossMarshallingTest")
-public class JBossMarshallingTest {
+public class JBossMarshallingTest extends AbstractInfinispanTest {
 
    private MarshallerFactory factory;
    private Marshaller marshaller;

Modified: trunk/core/src/test/java/org/infinispan/notifications/AsyncNotificationTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/AsyncNotificationTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/AsyncNotificationTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.manager.CacheManager;
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryCreated;
 import org.infinispan.notifications.cachelistener.event.CacheEntryCreatedEvent;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -13,7 +14,7 @@
 import java.util.concurrent.CountDownLatch;
 
 @Test(groups = "functional", testName = "notifications.AsyncNotificationTest")
-public class AsyncNotificationTest {
+public class AsyncNotificationTest extends AbstractInfinispanTest {
    Cache<String, String> c;
    CacheManager cm;
 

Modified: trunk/core/src/test/java/org/infinispan/notifications/CacheListenerCacheLoaderTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/CacheListenerCacheLoaderTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/CacheListenerCacheLoaderTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -9,6 +9,7 @@
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryLoaded;
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryPassivated;
 import org.infinispan.notifications.cachelistener.event.CacheEntryEvent;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -20,7 +21,7 @@
 import java.util.List;
 
 @Test(groups = "functional", testName = "notifications.CacheListenerCacheLoaderTest")
-public class CacheListenerCacheLoaderTest {
+public class CacheListenerCacheLoaderTest extends AbstractInfinispanTest {
 
    CacheManager cm;
 

Modified: trunk/core/src/test/java/org/infinispan/notifications/CacheListenerRemovalTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/CacheListenerRemovalTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/CacheListenerRemovalTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.manager.CacheManager;
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryVisited;
 import org.infinispan.notifications.cachelistener.event.Event;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
@@ -16,7 +17,7 @@
  * @author Manik Surtani
  */
 @Test(groups = "functional", testName = "notifications.CacheListenerRemovalTest")
-public class CacheListenerRemovalTest {
+public class CacheListenerRemovalTest extends AbstractInfinispanTest {
    Cache<String, String> cache;
    CacheManager cm;
 

Modified: trunk/core/src/test/java/org/infinispan/notifications/ConcurrentNotificationTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/ConcurrentNotificationTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/ConcurrentNotificationTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -7,6 +7,7 @@
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryRemoved;
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryVisited;
 import org.infinispan.notifications.cachelistener.event.Event;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.logging.Log;
@@ -21,7 +22,7 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 @Test(groups = "functional", testName = "notifications.ConcurrentNotificationTest")
-public class ConcurrentNotificationTest {
+public class ConcurrentNotificationTest extends AbstractInfinispanTest {
    Cache<String, String> cache;
    CacheManager cm;
    CacheListener listener;

Modified: trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierImplTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierImplTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierImplTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -13,12 +13,13 @@
 import org.infinispan.notifications.cachelistener.event.Event;
 import org.infinispan.notifications.cachelistener.event.TransactionCompletedEvent;
 import org.infinispan.notifications.cachelistener.event.TransactionRegisteredEvent;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.transaction.xa.GlobalTransaction;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 @Test(groups = "unit", testName = "notifications.cachelistener.CacheNotifierImplTest")
-public class CacheNotifierImplTest {
+public class CacheNotifierImplTest extends AbstractInfinispanTest {
    CacheNotifierImpl n;
    Cache mockCache;
    CacheListener cl;

Modified: trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/cachelistener/CacheNotifierTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.context.InvocationContext;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.transaction.xa.GlobalTransaction;
@@ -20,7 +21,7 @@
 import java.util.Map;
 
 @Test(groups = "functional", testName = "notifications.cachelistener.CacheNotifierTest")
-public class CacheNotifierTest {
+public class CacheNotifierTest extends AbstractInfinispanTest {
    private Cache<Object, Object> cache;
    private TransactionManager tm;
    private CacheNotifier mockNotifier;
@@ -48,8 +49,6 @@
    @AfterTest
    public void destroyManager() {
       TestingUtil.killCacheManagers(cache.getCacheManager());
-      cache = null; tm = null; mockNotifier = null;
-      origNotifier = null;
    }
 
    private void initCacheData(Object key, Object value) {

Modified: trunk/core/src/test/java/org/infinispan/notifications/cachelistener/ListenerRegistrationTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/cachelistener/ListenerRegistrationTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/cachelistener/ListenerRegistrationTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,13 +6,15 @@
 import org.infinispan.notifications.cachelistener.annotation.CacheEntryVisited;
 import org.infinispan.notifications.cachelistener.event.CacheEntryRemovedEvent;
 import org.infinispan.notifications.cachelistener.event.Event;
+import org.infinispan.test.AbstractInfinispanTest;
+
 import static org.testng.AssertJUnit.*;
 import org.testng.annotations.Test;
 
 import java.util.List;
 
 @Test(groups = "unit", testName = "notifications.cachelistener.ListenerRegistrationTest")
-public class ListenerRegistrationTest {
+public class ListenerRegistrationTest extends AbstractInfinispanTest {
    public void testControl() {
       Object l = new TestControlListener();
       CacheNotifierImpl n = new CacheNotifierImpl();

Modified: trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierImplTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierImplTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierImplTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -6,6 +6,7 @@
 import org.infinispan.notifications.cachemanagerlistener.event.Event;
 import org.infinispan.notifications.cachemanagerlistener.event.ViewChangedEvent;
 import org.infinispan.remoting.transport.Address;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
@@ -13,7 +14,7 @@
 import java.util.List;
 
 @Test(groups = "unit", testName = "notifications.cachemanagerlistener.CacheManagerNotifierImplTest")
-public class CacheManagerNotifierImplTest {
+public class CacheManagerNotifierImplTest extends AbstractInfinispanTest {
    CacheManagerNotifierImpl n;
    CacheManagerListener cl;
 

Modified: trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/notifications/cachemanagerlistener/CacheManagerNotifierTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.config.Configuration;
 import org.infinispan.manager.CacheManager;
 import org.infinispan.remoting.transport.Address;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.testng.annotations.AfterMethod;
@@ -13,15 +14,13 @@
 import java.util.List;
 
 @Test(groups = "unit", testName = "notifications.cachemanagerlistener.CacheManagerNotifierTest")
-public class CacheManagerNotifierTest {
+public class CacheManagerNotifierTest extends AbstractInfinispanTest {
    CacheManager cm1;
    CacheManager cm2;
 
    @AfterMethod
    public void tearDown() {
       TestingUtil.killCacheManagers(cm1, cm2);
-      cm1 = null;
-      cm2 = null;
    }
 
    public void testViewChange() {

Modified: trunk/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/profiling/DeadlockDetectionPerformanceTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -3,6 +3,7 @@
 import org.infinispan.Cache;
 import org.infinispan.config.Configuration;
 import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
@@ -41,7 +42,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "profiling", enabled = true, testName = "profiling.DeadlockDetectionPerformanceTest")
-public class DeadlockDetectionPerformanceTest {
+public class DeadlockDetectionPerformanceTest extends AbstractInfinispanTest {
 
    private static Log log = LogFactory.getLog(DeadlockDetectionPerformanceTest.class);
 

Modified: trunk/core/src/test/java/org/infinispan/profiling/MemConsumptionTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/profiling/MemConsumptionTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/profiling/MemConsumptionTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -24,6 +24,7 @@
 import org.infinispan.Cache;
 import org.infinispan.CacheException;
 import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.testng.annotations.Test;
 
@@ -33,7 +34,7 @@
 import java.util.Random;
 
 @Test(groups = "profiling", enabled = false, testName = "profiling.MemConsumptionTest")
-public class MemConsumptionTest {
+public class MemConsumptionTest extends AbstractInfinispanTest {
    // adjust the next 4 values
    int numEntries = 1000000;
    int payloadSize = 60; // bytes

Modified: trunk/core/src/test/java/org/infinispan/replication/AsyncAPIAsyncReplTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/replication/AsyncAPIAsyncReplTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/replication/AsyncAPIAsyncReplTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -2,7 +2,6 @@
 
 import org.infinispan.commands.write.WriteCommand;
 import org.infinispan.test.ReplListener;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 @Test(groups = "functional", testName = "replication.AsyncAPIAsyncReplTest")
@@ -23,13 +22,7 @@
    @Override
    protected boolean sync() {
       return false;
-   }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
-      rl = null;
-   }
+   } 
 
    @Override
    protected void resetListeners() {

Modified: trunk/core/src/test/java/org/infinispan/replication/AsyncAPISyncReplTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/replication/AsyncAPISyncReplTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/replication/AsyncAPISyncReplTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -11,7 +11,6 @@
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.data.Key;
 import org.infinispan.util.Util;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import javax.transaction.Transaction;
@@ -43,13 +42,7 @@
    }
 
    protected void resetListeners() {
-   }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
-      c1 = null; c2 = null;
-   }
+   }  
 
    protected void assertOnAllCaches(Key k, String v) {
       Object real;

Modified: trunk/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/replication/SyncCacheListenerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -23,7 +23,6 @@
 import org.infinispan.util.logging.LogFactory;
 import static org.testng.AssertJUnit.*;
 
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
 import javax.transaction.Transaction;
@@ -49,14 +48,7 @@
       cache1 = caches.get(0);
       cache2 = caches.get(1);
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
-      super.destroy();
-      cache1 = null;
-      cache2 = null;
-   }
-
+  
    public void testSyncTxRepl() throws Exception {
       Integer age;
       TransactionManager tm = TestingUtil.getTransactionManager(cache1);

Modified: trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -29,6 +29,7 @@
 
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertNull;
+
 import org.testng.annotations.Test;
 
 import javax.transaction.TransactionManager;
@@ -96,7 +97,7 @@
       cache1.clear();
       cache2.clear();
    }
-
+   
    private void concurrentLockingHelper(final boolean sameNode, final boolean useTx)
          throws Exception {
       final Cache cache1 = cache(0, "replSync");

Modified: trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/test/AbstractCacheTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -13,8 +13,8 @@
 import org.infinispan.test.fwk.TestCacheManagerFactory;
 import org.infinispan.util.logging.Log;
 import org.infinispan.util.logging.LogFactory;
+import javax.transaction.TransactionManager;
 
-import javax.transaction.TransactionManager;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
@@ -25,7 +25,7 @@
  *
  * @author Mircea.Markus at jboss.com
  */
-public class AbstractCacheTest {
+public class AbstractCacheTest extends AbstractInfinispanTest{
 
    protected final Log log = LogFactory.getLog(getClass());
 
@@ -65,7 +65,7 @@
          if (cache.getStatus() == ComponentStatus.RUNNING) result.add(cache);
       }
       return result;
-   }
+   } 
 
    private void clearCacheLoader(Cache cache) {
       CacheLoaderManager cacheLoaderManager = TestingUtil.extractComponent(cache, CacheLoaderManager.class);

Added: trunk/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java	                        (rev 0)
+++ trunk/core/src/test/java/org/infinispan/test/AbstractInfinispanTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.infinispan.test;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+
+import org.testng.annotations.AfterClass;
+
+/**
+ * AbstractInfinispanTest is a superclass of all Infinispan tests. 
+ * 
+ * @author Vladimir Blagojevic
+ * @since 4.0
+ */
+public class AbstractInfinispanTest {
+   
+   @AfterClass(alwaysRun=true)
+   protected void nullifyInstanceFields() {      
+      for(Class<?> current = this.getClass();current.getSuperclass() != null; current = current.getSuperclass()) {
+         Field[] fields = current.getDeclaredFields();
+         for(Field f:fields) {
+            try {               
+               if(!Modifier.isStatic(f.getModifiers()) && !f.getDeclaringClass().isPrimitive()) {
+                  f.setAccessible(true);
+                  f.set(this, null);
+               }
+            } catch (Exception e) {} 
+         }         
+      }      
+   }
+}

Modified: trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -67,13 +67,11 @@
       if (cleanup == CleanupPhase.AFTER_METHOD) callCreateCacheManagers();
    }
 
-   @AfterClass(alwaysRun=true)
-   protected void destroy() {     
+   @AfterClass
+   protected void destroy() {
       if (cleanup == CleanupPhase.AFTER_TEST) TestingUtil.killCacheManagers(cacheManagers);
-      cacheManagers.clear();  
-      cacheManagers=null;     
-      listeners.clear();
-      listeners=null;
+      cacheManagers.clear();       
+      listeners.clear();      
    }
 
    @AfterMethod(alwaysRun=true)

Modified: trunk/core/src/test/java/org/infinispan/test/SingleCacheManagerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/SingleCacheManagerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/test/SingleCacheManagerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -49,8 +49,6 @@
    @AfterClass(alwaysRun=true)
    protected void destroyAfterClass() {      
       if (cleanup == CleanupPhase.AFTER_TEST) TestingUtil.killCacheManagers(cacheManager);
-      cacheManager = null;
-      cache = null;
    }
 
    @AfterMethod(alwaysRun=true)

Modified: trunk/core/src/test/java/org/infinispan/tx/LocalDeadlockDetectionTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/tx/LocalDeadlockDetectionTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/tx/LocalDeadlockDetectionTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -10,7 +10,6 @@
 import org.infinispan.util.concurrent.locks.DeadlockDetectingLockManager;
 import static org.testng.Assert.assertEquals;
 
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -56,17 +55,7 @@
       t1.stopThread();
       t2.stopThread();
    }
-   
-   @AfterClass(alwaysRun=true)
-   protected void destroyAfterClass() {      
-      super.destroyAfterClass();
-      lockManager = null;
-      t1 = null; t2 = null;
-      response1 = null;
-      response2 = null;
-   }
-
-
+ 
    public void testDldPutAndPut() {
       testLocalVsLocalTxDeadlock(PerCacheExecutorThread.Operations.PUT_KEY_VALUE,
                                  PerCacheExecutorThread.Operations.PUT_KEY_VALUE);

Modified: trunk/core/src/test/java/org/infinispan/tx/OnePhaseXATest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/tx/OnePhaseXATest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/tx/OnePhaseXATest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -5,6 +5,7 @@
 import org.infinispan.config.GlobalConfiguration;
 import org.infinispan.manager.CacheManager;
 import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.test.fwk.TransactionSetup;
 import org.testng.annotations.AfterTest;
@@ -16,7 +17,7 @@
 import java.util.List;
 
 @Test(groups = "functional", testName = "tx.OnePhaseXATest", description = "See ISPN-156 for details.", enabled = false)
-public class OnePhaseXATest {
+public class OnePhaseXATest extends AbstractInfinispanTest {
    private List<Cache> caches;
    public static final int CACHES_NUM = 2;
 

Modified: trunk/core/src/test/java/org/infinispan/tx/ReplDeadlockDetectionTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/tx/ReplDeadlockDetectionTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/tx/ReplDeadlockDetectionTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -17,11 +17,9 @@
 import org.infinispan.test.MultipleCacheManagersTest;
 import org.infinispan.test.PerCacheExecutorThread;
 import org.infinispan.test.TestingUtil;
-import org.infinispan.test.AbstractCacheTest.CleanupPhase;
 import org.infinispan.util.concurrent.NotifyingNotifiableFuture;
 import org.infinispan.util.concurrent.locks.DeadlockDetectingLockManager;
 import org.infinispan.util.concurrent.locks.LockManager;
-import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -100,19 +98,6 @@
       ((DeadlockDetectingLockManager) TestingUtil.extractLockManager(cache(1, "test"))).resetStatistics();
    }
    
-   @AfterClass(alwaysRun = true)
-   protected void destroy() {
-      super.destroy();
-      controlledRpcManager1 = null;
-      controlledRpcManager2 = null;
-      replicationLatch = null;
-      t1 = null;
-      t2 = null;
-      ddLm1 = null;
-      ddLm2 = null;
-      ;
-   }
-
    public void testExpectedInnerStructure() {
       LockManager lockManager = TestingUtil.extractComponent(cache(0, "test"), LockManager.class);
       assert lockManager instanceof DeadlockDetectingLockManager;

Modified: trunk/core/src/test/java/org/infinispan/util/BidirectionalLinkedHashMapTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/util/BidirectionalLinkedHashMapTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/util/BidirectionalLinkedHashMapTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,12 +1,13 @@
 package org.infinispan.util;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.util.Iterator;
 import java.util.Map;
 
 @Test(groups = "unit", testName = "util.BidirectionalLinkedHashMapTest")
-public class BidirectionalLinkedHashMapTest {
+public class BidirectionalLinkedHashMapTest extends AbstractInfinispanTest {
    public void testIterators() {
       BidirectionalLinkedHashMap<Integer, Object> map = new BidirectionalLinkedHashMap<Integer, Object>();
       initMap(map);

Modified: trunk/core/src/test/java/org/infinispan/util/DeadlockDetectingLockManagerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/util/DeadlockDetectingLockManagerTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/util/DeadlockDetectingLockManagerTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -8,6 +8,7 @@
 import org.infinispan.context.InvocationContext;
 import org.infinispan.context.impl.NonTxInvocationContext;
 import org.infinispan.context.impl.LocalTxInvocationContext;
+import org.infinispan.test.AbstractInfinispanTest;
 import org.infinispan.transaction.xa.GlobalTransactionFactory;
 import org.infinispan.transaction.xa.DeadlockDetectingGlobalTransaction;
 import org.infinispan.util.concurrent.locks.DeadlockDetectingLockManager;
@@ -23,7 +24,7 @@
  * @author Mircea.Markus at jboss.com
  */
 @Test(groups = "unit", testName = "util.DeadlockDetectingLockManagerTest")
-public class DeadlockDetectingLockManagerTest {
+public class DeadlockDetectingLockManagerTest extends AbstractInfinispanTest {
 
    DeadlockDetectingLockManagerMock lockManager;
    GlobalTransactionFactory gtf = new GlobalTransactionFactory(true);

Modified: trunk/core/src/test/java/org/infinispan/util/VisitableBidirectionalLinkedHashSetTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/util/VisitableBidirectionalLinkedHashSetTest.java	2009-10-11 09:57:58 UTC (rev 934)
+++ trunk/core/src/test/java/org/infinispan/util/VisitableBidirectionalLinkedHashSetTest.java	2009-10-11 15:11:35 UTC (rev 935)
@@ -1,12 +1,13 @@
 package org.infinispan.util;
 
+import org.infinispan.test.AbstractInfinispanTest;
 import org.testng.annotations.Test;
 
 import java.util.Iterator;
 import java.util.Set;
 
 @Test(groups = "unit", testName = "util.VisitableBidirectionalLinkedHashSetTest")
-public class VisitableBidirectionalLinkedHashSetTest {
+public class VisitableBidirectionalLinkedHashSetTest extends AbstractInfinispanTest {
 
    public void testVisitableSet() {
       VisitableBidirectionalLinkedHashSet<Integer> set = new VisitableBidirectionalLinkedHashSet<Integer>(true);



More information about the infinispan-commits mailing list