Author: frm
Date: Wed Sep  7 08:41:17 2016
New Revision: 1759562

URL: http://svn.apache.org/viewvc?rev=1759562&view=rev
Log:
OAK-4707 - Ensure that test folders are always cleaned up

Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentTestUtils.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalPrivateStoreIT.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalSharedStoreIT.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentTestUtils.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentTestUtils.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentTestUtils.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/SegmentTestUtils.java
 Wed Sep  7 08:41:17 2016
@@ -19,11 +19,6 @@
 
 package org.apache.jackrabbit.oak.segment;
 
-import static java.io.File.createTempFile;
-
-import java.io.File;
-import java.io.IOException;
-
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -42,11 +37,4 @@ public final class SegmentTestUtils {
         store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
     }
 
-    public static File createTmpTargetDir(String name) throws IOException {
-        File f = createTempFile(name, "dir", new File("target"));
-        f.delete();
-        f.mkdir();
-        return f;
-    }
-
 }

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/DataStoreTestBase.java
 Wed Sep  7 08:41:17 2016
@@ -31,6 +31,7 @@ import java.io.IOException;
 import java.util.Random;
 import java.util.concurrent.ScheduledExecutorService;
 
+import com.google.common.io.ByteStreams;
 import org.apache.jackrabbit.core.data.FileDataStore;
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -48,11 +49,10 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-import com.google.common.io.ByteStreams;
-
 public class DataStoreTestBase extends TestBase {
 
     protected boolean storesCanBeEqual = false;
@@ -62,6 +62,11 @@ public class DataStoreTestBase extends T
         setUpServerAndClient();
     }
 
+    @After
+    public void after() {
+        closeServerAndClient();
+    }
+
     protected FileStore setupFileDataStore(File d, String path, 
ScheduledExecutorService executor) throws Exception {
         FileDataStore fds = new FileDataStore();
         fds.setMinRecordLength(4092);

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalPrivateStoreIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalPrivateStoreIT.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalPrivateStoreIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalPrivateStoreIT.java
 Wed Sep  7 08:41:17 2016
@@ -18,42 +18,21 @@
  */
 package org.apache.jackrabbit.oak.segment.standby;
 
-import static 
org.apache.jackrabbit.oak.segment.SegmentTestUtils.createTmpTargetDir;
-
 import java.io.File;
-import java.io.IOException;
 import java.util.concurrent.ScheduledExecutorService;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.junit.After;
-
 
 public class ExternalPrivateStoreIT extends DataStoreTestBase {
 
-    private File primaryStore;
-    private File secondaryStore;
-    
-    @After
-    public void after() {
-        closeServerAndClient();
-        try {
-            FileUtils.deleteDirectory(primaryStore);
-            FileUtils.deleteDirectory(secondaryStore);
-        } catch (IOException e) {
-        }
-    }
-
     @Override
     protected FileStore setupPrimary(File d, ScheduledExecutorService 
primaryExecutor) throws Exception {
-        primaryStore = createTmpTargetDir("ExternalStoreITPrimary");
-        return setupFileDataStore(d, primaryStore.getAbsolutePath(), 
primaryExecutor);
+        return setupFileDataStore(d, 
folder.newFolder("data-store-primary").getAbsolutePath(), primaryExecutor);
     }
 
     @Override
     protected FileStore setupSecondary(File d, ScheduledExecutorService 
secondaryExecutor) throws Exception {
-        secondaryStore = createTmpTargetDir("ExternalStoreITSecondary");
-        return setupFileDataStore(d, secondaryStore.getAbsolutePath(), 
secondaryExecutor);
+        return setupFileDataStore(d, 
folder.newFolder("data-store-secondary").getAbsolutePath(), secondaryExecutor);
     }
 
 }

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalSharedStoreIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalSharedStoreIT.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalSharedStoreIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/ExternalSharedStoreIT.java
 Wed Sep  7 08:41:17 2016
@@ -18,41 +18,33 @@
  */
 package org.apache.jackrabbit.oak.segment.standby;
 
-import static 
org.apache.jackrabbit.oak.segment.SegmentTestUtils.createTmpTargetDir;
-
 import java.io.File;
-import java.io.IOException;
 import java.util.concurrent.ScheduledExecutorService;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
-import org.junit.After;
+import org.junit.Before;
 
 public class ExternalSharedStoreIT extends DataStoreTestBase {
-    private File externalStore;
+
+    private String commonDataStorePath;
 
     public ExternalSharedStoreIT() {
-        super();
         this.storesCanBeEqual = true;
     }
 
-    @After
-    public void after() {
-        closeServerAndClient();
-        try {
-            FileUtils.deleteDirectory(externalStore);
-        } catch (IOException e) {
-        }
+    @Before
+    public void createCommonDataStoreFolder() throws Exception {
+        commonDataStorePath = 
folder.newFolder("data-store-common").getAbsolutePath();
     }
 
     @Override
     protected FileStore setupPrimary(File d, ScheduledExecutorService 
primaryExecutor) throws Exception {
-        externalStore = createTmpTargetDir("ExternalCommonStoreIT");
-        return setupFileDataStore(d, externalStore.getAbsolutePath(), 
primaryExecutor);
+        return setupFileDataStore(d, commonDataStorePath, primaryExecutor);
     }
 
     @Override
     protected FileStore setupSecondary(File d, ScheduledExecutorService 
secondaryExecutor) throws Exception {
-        return setupFileDataStore(d, externalStore.getAbsolutePath(), 
secondaryExecutor);
+        return setupFileDataStore(d, commonDataStorePath, secondaryExecutor);
     }
+
 }

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/StandbyTestIT.java
 Wed Sep  7 08:41:17 2016
@@ -29,7 +29,6 @@ import java.io.IOException;
 import java.util.Random;
 
 import com.google.common.io.ByteStreams;
-import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.api.Blob;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
@@ -121,10 +120,6 @@ public class StandbyTestIT extends TestB
         assertTrue(primary.getStats().getApproximateSize() > blobSize);
         assertTrue(secondary.getStats().getApproximateSize() > blobSize);
 
-        long primaryFs = FileUtils.sizeOf(directoryS);
-        long secondaryFs = FileUtils.sizeOf(directoryC);
-        assertTrue(secondaryFs < primaryFs * 1.15);
-
         PropertyState ps = secondary.getHead().getChildNode("root")
                 .getChildNode("server").getProperty("testBlob");
         assertNotNull(ps);

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java?rev=1759562&r1=1759561&r2=1759562&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/TestBase.java
 Wed Sep  7 08:41:17 2016
@@ -19,16 +19,13 @@
 
 package org.apache.jackrabbit.oak.segment.standby;
 
-import static 
org.apache.jackrabbit.oak.segment.SegmentTestUtils.createTmpTargetDir;
 import static 
org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
 import static org.junit.Assume.assumeTrue;
 
 import java.io.File;
-import java.io.IOException;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.SystemUtils;
 import org.apache.jackrabbit.oak.commons.CIHelper;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
@@ -36,6 +33,8 @@ import org.apache.jackrabbit.oak.segment
 import org.apache.jackrabbit.oak.segment.standby.client.StandbyClient;
 import org.apache.jackrabbit.oak.stats.DefaultStatisticsProvider;
 import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
 
 public class TestBase {
 
@@ -49,15 +48,15 @@ public class TestBase {
 
     static final int timeout = Integer.getInteger("standby.test.timeout", 500);
 
-    File directoryS;
+    @Rule
+    public TemporaryFolder folder = new TemporaryFolder(new File("target"));
+
     FileStore storeS;
     ScheduledExecutorService executorS;
 
-    File directoryC;
     FileStore storeC;
     ScheduledExecutorService executorC;
 
-    File directoryC2;
     FileStore storeC2;
     ScheduledExecutorService executorC2;
 
@@ -73,15 +72,12 @@ public class TestBase {
     }
 
     public void setUpServerAndClient() throws Exception {
-        // server
-        directoryS = createTmpTargetDir(getClass().getSimpleName()+"-Server");
         executorS = Executors.newSingleThreadScheduledExecutor();
-        storeS = setupPrimary(directoryS, executorS);
+        storeS = setupPrimary(folder.newFolder("server"), executorS);
 
         // client
-        directoryC = createTmpTargetDir(getClass().getSimpleName()+"-Client");
         executorC = Executors.newSingleThreadScheduledExecutor();
-        storeC = setupSecondary(directoryC, executorC);
+        storeC = setupSecondary(folder.newFolder("client-1"), executorC);
     }
 
     private static FileStore newFileStore(File directory, 
ScheduledExecutorService executor) throws Exception {
@@ -105,7 +101,7 @@ public class TestBase {
     }
 
     protected FileStore setupSecondary(File directory, 
ScheduledExecutorService executor) throws Exception {
-        return newFileStore(directoryC, executor);
+        return newFileStore(directory, executor);
     }
 
     protected FileStore getSecondary() {
@@ -115,33 +111,36 @@ public class TestBase {
     public void setUpServerAndTwoClients() throws Exception {
         setUpServerAndClient();
 
-        directoryC2 = 
createTmpTargetDir(getClass().getSimpleName()+"-Client2");
         executorC2 = Executors.newSingleThreadScheduledExecutor();
-        storeC2 = newFileStore(directoryC2, executorC2);
+        storeC2 = newFileStore(folder.newFolder("client-2"), executorC2);
     }
 
     public void closeServerAndClient() {
-        storeS.close();
-        storeC.close();
-        try {
-            FileUtils.deleteDirectory(directoryS);
-            FileUtils.deleteDirectory(directoryC);
-        } catch (IOException e) {
-            // ignore
-        } finally {
+        if (storeS != null) {
+            storeS.close();
+        }
+
+        if (storeC != null) {
+            storeC.close();
+        }
+
+        if (executorS != null) {
             new ExecutorCloser(executorS).close();
+        }
+
+        if (executorC != null) {
             new ExecutorCloser(executorC).close();
         }
     }
 
     public void closeServerAndTwoClients() {
         closeServerAndClient();
-        storeC2.close();
-        try {
-            FileUtils.deleteDirectory(directoryC2);
-        } catch (IOException e) {
-            // ignore
-        } finally {
+
+        if (storeC2 != null) {
+            storeC2.close();
+        }
+
+        if (executorC2 != null) {
             new ExecutorCloser(executorC2).close();
         }
     }


Reply via email to