]> source.dussan.org Git - sonarqube.git/commitdiff
Support // testing
authorDavid Gageot <david@gageot.net>
Thu, 2 Jul 2015 17:29:01 +0000 (19:29 +0200)
committerDavid Gageot <david@gageot.net>
Thu, 2 Jul 2015 17:31:03 +0000 (19:31 +0200)
sonar-batch/src/test/java/org/sonar/batch/index/AbstractCachesTest.java

index 357259d7a18bd603646110881684dc8edbe3a8dc..026f816cea40d58021ed70f5b23d2df6524b12eb 100644 (file)
@@ -20,9 +20,7 @@
 package org.sonar.batch.index;
 
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.ClassRule;
 import org.junit.rules.TemporaryFolder;
 
@@ -30,17 +28,21 @@ public abstract class AbstractCachesTest {
   @ClassRule
   public static TemporaryFolder temp = new TemporaryFolder();
 
-  protected Caches caches;
-  protected static CachesManager cachesManager;
+  protected static final ThreadLocal<CachesManager> cachesManagers = new ThreadLocal<CachesManager>() {
+    @Override
+    protected CachesManager initialValue() {
+      CachesManager cachesManager = CachesManagerTest.createCacheOnTemp(temp);
+      cachesManager.start();
+      return cachesManager;
+    }
+  };
 
-  @BeforeClass
-  public static void startClass() {
-    cachesManager = CachesManagerTest.createCacheOnTemp(temp);
-    cachesManager.start();
-  }
+  protected CachesManager cachesManager;
+  protected Caches caches;
 
   @Before
   public void start() {
+    cachesManager = cachesManagers.get();
     caches = new Caches(cachesManager);
     caches.start();
   }
@@ -52,12 +54,4 @@ public abstract class AbstractCachesTest {
       caches = null;
     }
   }
-
-  @AfterClass
-  public static void stopClass() {
-    if (cachesManager != null) {
-      cachesManager.stop();
-      cachesManager = null;
-    }
-  }
 }