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();
}
}