You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2016/04/15 11:50:50 UTC
svn commit: r1739265 - in /jackrabbit/oak/trunk:
oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/
oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/
oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/se...
Author: frm
Date: Fri Apr 15 09:50:50 2016
New Revision: 1739265
URL: http://svn.apache.org/viewvc?rev=1739265&view=rev
Log:
OAK-4208 - Remove temporary data generated by unit and integration tests in oak-segment
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionAndCleanupIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionMapTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/HeavyWriteIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentCompactionIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentDataStoreBlobGCIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentGraphTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentOverflowExceptionIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentVersionTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionEstimatorTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreTest.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/LargeNumberOfPropertiesTestIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamBlockSize.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamFile.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesReaderTestData.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/SegmentReferenceLimitTestIT.java
jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFileTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreUtils.java Fri Apr 15 09:50:50 2016
@@ -65,14 +65,22 @@ public class DataStoreUtils {
*/
public static long time = -1;
- public static DataStoreBlobStore getBlobStore() throws Exception {
+ public static DataStoreBlobStore getBlobStore(File homeDir) throws Exception {
+ return getBlobStore(homeDir.getAbsolutePath());
+ }
+
+ public static DataStoreBlobStore getBlobStore(String homeDir) throws Exception {
String className = System.getProperty(DS_CLASS_NAME, OakFileDataStore.class.getName());
DataStore ds = Class.forName(className).asSubclass(DataStore.class).newInstance();
PropertiesUtil.populate(ds, getConfig(), false);
- ds.init(getHomeDir());
+ ds.init(homeDir);
return new DataStoreBlobStore(ds);
}
+ public static DataStoreBlobStore getBlobStore() throws Exception {
+ return getBlobStore(getHomeDir());
+ }
+
public static boolean isS3DataStore() {
String dsName = System.getProperty(DS_CLASS_NAME);
return (dsName != null) && (dsName.equals(S3DataStore.class.getName()) || dsName
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/backup/FileStoreBackupTest.java Fri Apr 15 09:50:50 2016
@@ -18,7 +18,6 @@
*/
package org.apache.jackrabbit.oak.plugins.backup;
-import static org.apache.commons.io.FileUtils.deleteQuietly;
import static org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.builder;
import static org.junit.Assert.assertEquals;
@@ -37,27 +36,23 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class FileStoreBackupTest {
private File src;
private File destination;
- @Before
- public void before() {
- long run = System.currentTimeMillis();
- File root = new File("target");
- src = new File(root, "tar-src-" + run);
- destination = new File(root, "tar-dest-" + run);
- }
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
- @After
- public void after() {
- deleteQuietly(src);
- deleteQuietly(destination);
+ @Before
+ public void before() throws Exception {
+ src = folder.newFolder("src");
+ destination = folder.newFolder("dst");
}
@Test
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionAndCleanupIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionAndCleanupIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionAndCleanupIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionAndCleanupIT.java Fri Apr 15 09:50:50 2016
@@ -23,7 +23,6 @@ import static com.google.common.collect.
import static java.lang.Integer.getInteger;
import static java.util.concurrent.TimeUnit.MINUTES;
import static org.apache.commons.io.FileUtils.byteCountToDisplaySize;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.api.Type.STRING;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
@@ -68,10 +67,10 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
-import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -80,20 +79,17 @@ public class CompactionAndCleanupIT {
private static final Logger log = LoggerFactory
.getLogger(CompactionAndCleanupIT.class);
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
public static void assumptions() {
assumeTrue(getFixtures().contains(SEGMENT_MK));
}
- @Before
- public void setUp() throws IOException {
- directory = File.createTempFile(
- "FileStoreTest", "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
@Test
public void compactionNoBinaryClone() throws Exception {
// 2MB data, 5MB blob
@@ -102,7 +98,7 @@ public class CompactionAndCleanupIT {
// really long time span, no binary cloning
- FileStore fileStore = FileStore.builder(directory)
+ FileStore fileStore = FileStore.builder(getFileStoreFolder())
.withMaxFileSize(1)
.build();
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
@@ -211,7 +207,7 @@ public class CompactionAndCleanupIT {
final int blobSize = 5 * 1024 * 1024;
final int dataNodes = 10000;
- FileStore fileStore = FileStore.builder(directory).withMaxFileSize(1).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).build();
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
CompactionStrategy custom = new CompactionStrategy(false, false,
CLEAN_OLD, TimeUnit.HOURS.toMillis(1), (byte) 0) {
@@ -286,15 +282,6 @@ public class CompactionAndCleanupIT {
mb(size) >= mb(lower) && mb(size) <= mb(upper));
}
- @After
- public void cleanDir() {
- try {
- deleteDirectory(directory);
- } catch (IOException e) {
- log.error("Error cleaning directory", e);
- }
- }
-
private static Blob createBlob(NodeStore nodeStore, int size) throws IOException {
byte[] data = new byte[size];
new Random().nextBytes(data);
@@ -312,7 +299,7 @@ public class CompactionAndCleanupIT {
*/
@Test
public void testMixedSegments() throws Exception {
- FileStore store = FileStore.builder(directory).withMaxFileSize(2).withMemoryMapping(true).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(2).withMemoryMapping(true).build();
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(store).build();
final AtomicBoolean compactionSuccess = new AtomicBoolean(true);
CompactionStrategy strategy = new CompactionStrategy(true, false, CLEAN_NONE, 0, (byte) 5) {
@@ -389,7 +376,7 @@ public class CompactionAndCleanupIT {
*/
@Test
public void cleanupCyclicGraph() throws IOException, ExecutionException, InterruptedException {
- FileStore fileStore = FileStore.builder(directory).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
final SegmentWriter writer = fileStore.getTracker().getWriter();
final SegmentNodeState oldHead = fileStore.getHead();
@@ -413,7 +400,7 @@ public class CompactionAndCleanupIT {
fileStore.setHead(oldHead, newHead);
fileStore.close();
- fileStore = FileStore.builder(directory).build();
+ fileStore = FileStore.builder(getFileStoreFolder()).build();
traverse(fileStore.getHead());
fileStore.cleanup();
@@ -443,7 +430,7 @@ public class CompactionAndCleanupIT {
@Ignore("OAK-3348") // FIXME OAK-3348
public void preCompactionReferences() throws IOException, CommitFailedException, InterruptedException {
for (String ref : new String[] {"merge-before-compact", "merge-after-compact"}) {
- File repoDir = new File(directory, ref);
+ File repoDir = new File(getFileStoreFolder(), ref);
FileStore fileStore = FileStore.builder(repoDir).withMaxFileSize(2).build();
final SegmentNodeStore nodeStore = builder(fileStore).build();
fileStore.setCompactionStrategy(new CompactionStrategy(true, false, CLEAN_NONE, 0, (byte) 5) {
@@ -604,7 +591,7 @@ public class CompactionAndCleanupIT {
@Test
public void propertyRetention() throws IOException, CommitFailedException {
- FileStore fileStore = FileStore.builder(directory).withMaxFileSize(1).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).build();
try {
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
CompactionStrategy strategy = new CompactionStrategy(false, false, CLEAN_ALL, 0, (byte) 0) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionMapTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionMapTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionMapTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/CompactionMapTest.java Fri Apr 15 09:50:50 2016
@@ -22,9 +22,7 @@ package org.apache.jackrabbit.oak.plugin
import static com.google.common.collect.Iterables.get;
import static com.google.common.collect.Maps.newHashMap;
import static com.google.common.collect.Sets.newHashSet;
-import static java.io.File.createTempFile;
import static java.util.Collections.singleton;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.plugins.segment.CompactionMap.sum;
import static org.apache.jackrabbit.oak.plugins.segment.TestUtils.newRecordId;
import static org.apache.jackrabbit.oak.plugins.segment.TestUtils.randomRecordIdMap;
@@ -32,8 +30,6 @@ import static org.junit.Assert.assertArr
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import java.io.File;
-import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -41,66 +37,46 @@ import java.util.Random;
import java.util.Set;
import java.util.UUID;
-import javax.annotation.Nonnull;
-
import com.google.common.collect.ImmutableList;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class CompactionMapTest {
- private final File directory;
- private final FileStore store;
private final Random rnd = new Random();
- private final Map<RecordId, RecordId> referenceMap1;
- private final Map<RecordId, RecordId> referenceMap2;
- private final Map<RecordId, RecordId> referenceMap3;
- private final Map<RecordId, RecordId> referenceMap = newHashMap();
-
- private final PartialCompactionMap compactionMap1;
- private final PartialCompactionMap compactionMap2;
- private final PartialCompactionMap compactionMap3;
- private final CompactionMap compactionMap;
+ private final boolean usePersistedMap;
- @Parameterized.Parameters
- public static List<Boolean[]> fixtures() {
- return ImmutableList.of(new Boolean[] {true}, new Boolean[] {false});
- }
+ private FileStore store;
- @After
- public void tearDown() {
- store.close();
- try {
- deleteDirectory(directory);
- } catch (IOException e) {
- //
- }
- }
+ private Map<RecordId, RecordId> referenceMap1;
+ private Map<RecordId, RecordId> referenceMap2;
+ private Map<RecordId, RecordId> referenceMap3;
+ private Map<RecordId, RecordId> referenceMap = newHashMap();
+
+ private PartialCompactionMap compactionMap1;
+ private PartialCompactionMap compactionMap2;
+ private PartialCompactionMap compactionMap3;
+ private CompactionMap compactionMap;
- private PartialCompactionMap createCompactionMap(boolean persisted) {
- if (persisted) {
- return new PersistedCompactionMap(store.getTracker());
- } else {
- return new InMemoryCompactionMap(store.getTracker());
- }
- }
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
- @Nonnull
- private static File mkDir() throws IOException {
- File directory = createTempFile(CompactionMapTest.class.getSimpleName(), "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- return directory;
+ @Parameterized.Parameters
+ public static List<Boolean[]> fixtures() {
+ return ImmutableList.of(new Boolean[] {true}, new Boolean[] {false});
}
- public CompactionMapTest(boolean usePersistedMap) throws IOException {
- directory = mkDir();
- store = FileStore.builder(directory).build();
+ @Before
+ public void setUp() throws Exception {
+ store = FileStore.builder(folder.getRoot()).build();
compactionMap1 = createCompactionMap(usePersistedMap);
referenceMap1 = randomRecordIdMap(rnd, store.getTracker(), 10, 10);
@@ -120,6 +96,23 @@ public class CompactionMapTest {
this.compactionMap = CompactionMap.EMPTY.cons(compactionMap3).cons(compactionMap2).cons(compactionMap1);
}
+ @After
+ public void tearDown() {
+ store.close();
+ }
+
+ private PartialCompactionMap createCompactionMap(boolean persisted) {
+ if (persisted) {
+ return new PersistedCompactionMap(store.getTracker());
+ } else {
+ return new InMemoryCompactionMap(store.getTracker());
+ }
+ }
+
+ public CompactionMapTest(boolean usePersistedMap) {
+ this.usePersistedMap = usePersistedMap;
+ }
+
private static void putAll(PartialCompactionMap map1, Map<RecordId, RecordId> recordIdRecordIdMap) {
for (Entry<RecordId, RecordId> tuple : recordIdRecordIdMap.entrySet()) {
map1.put(tuple.getKey(), tuple.getValue());
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/ExternalBlobIT.java Fri Apr 15 09:50:50 2016
@@ -53,7 +53,9 @@ import org.apache.jackrabbit.oak.spi.sta
import org.junit.After;
import org.junit.BeforeClass;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class ExternalBlobIT {
@@ -61,6 +63,9 @@ public class ExternalBlobIT {
private SegmentNodeStore nodeStore;
private FileBlob fileBlob;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
@BeforeClass
public static void assumptions() {
assumeTrue(getFixtures().contains(SEGMENT_MK));
@@ -152,7 +157,6 @@ public class ExternalBlobIT {
if (store != null) {
store.close();
}
- FileUtils.cleanDirectory(getWorkDir());
}
protected SegmentNodeStore getNodeStore(BlobStore blobStore) throws IOException {
@@ -177,13 +181,12 @@ public class ExternalBlobIT {
}
private File getWorkDir(){
- return new File("target", "ExternalBlobTest");
+ return folder.getRoot();
}
private FileBlob getFileBlob() throws IOException {
if (fileBlob == null) {
- File file = File.createTempFile("blob", "tmp");
- file.deleteOnExit();
+ File file = folder.newFile();
byte[] data = new byte[2345];
new Random().nextBytes(data);
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/HeavyWriteIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/HeavyWriteIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/HeavyWriteIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/HeavyWriteIT.java Fri Apr 15 09:50:50 2016
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.plugins.segment;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.commons.CIHelper.travis;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
import static org.apache.jackrabbit.oak.plugins.segment.compaction.CompactionStrategy.CleanupType.CLEAN_OLD;
@@ -47,10 +46,10 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
-import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -60,7 +59,12 @@ public class HeavyWriteIT {
private final boolean usePersistedMap;
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
@Parameterized.Parameters(name="usePersistedMap: {0}")
public static List<Boolean[]> fixtures() {
@@ -76,23 +80,10 @@ public class HeavyWriteIT {
assumeTrue(!travis()); // FIXME OAK-2375. Often fails on Travis
assumeTrue(FIXTURES.contains(SEGMENT_MK));
}
-
- @Before
- public void setUp() throws IOException {
- directory = File.createTempFile(
- "FileStoreTest", "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void cleanDir() throws IOException {
- deleteDirectory(directory);
- }
@Test
public void heavyWrite() throws IOException, CommitFailedException, InterruptedException {
- final FileStore store = FileStore.builder(directory).withMaxFileSize(128).withMemoryMapping(false).build();
+ final FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(128).withMemoryMapping(false).build();
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(store).build();
CompactionStrategy custom = new CompactionStrategy(false, false,
CLEAN_OLD, 30000, (byte) 0) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/PartialCompactionMapTest.java Fri Apr 15 09:50:50 2016
@@ -23,9 +23,7 @@ import static com.google.common.collect.
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Maps.newHashMap;
import static com.google.common.collect.Sets.newHashSet;
-import static java.io.File.createTempFile;
import static junit.framework.Assert.assertTrue;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
import static org.apache.jackrabbit.oak.commons.benchmark.MicroBenchmark.run;
import static org.apache.jackrabbit.oak.plugins.segment.Segment.MAX_SEGMENT_SIZE;
@@ -37,7 +35,6 @@ import static org.junit.Assert.assertFal
import static org.junit.Assert.assertNull;
import static org.junit.Assume.assumeTrue;
-import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
@@ -49,13 +46,14 @@ import java.util.Set;
import java.util.UUID;
import com.google.common.collect.ImmutableList;
-
import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
import org.apache.jackrabbit.oak.commons.benchmark.MicroBenchmark.Benchmark;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.slf4j.Logger;
@@ -80,12 +78,14 @@ public class PartialCompactionMapTest {
private final Random rnd = new Random(SEED);
private final boolean usePersistedMap;
- private File directory;
private FileStore segmentStore;
private Map<RecordId, RecordId> reference;
private PartialCompactionMap map;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
@Parameterized.Parameters
public static List<Boolean[]> fixtures() {
return ImmutableList.of(new Boolean[] {true}, new Boolean[] {false});
@@ -97,21 +97,12 @@ public class PartialCompactionMapTest {
@Before
public void setup() throws IOException {
- directory = createTempFile(PartialCompactionMapTest.class.getSimpleName(), "dir", new File("target"));
- directory.delete();
- directory.mkdir();
-
- segmentStore = FileStore.builder(directory).build();
+ segmentStore = FileStore.builder(folder.getRoot()).build();
}
@After
public void tearDown() {
segmentStore.close();
- try {
- deleteDirectory(directory);
- } catch (IOException e) {
- //
- }
}
private SegmentTracker getTracker() {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentCompactionIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentCompactionIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentCompactionIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentCompactionIT.java Fri Apr 15 09:50:50 2016
@@ -26,14 +26,12 @@ import static com.google.common.collect.
import static com.google.common.util.concurrent.Futures.addCallback;
import static com.google.common.util.concurrent.Futures.immediateCancelledFuture;
import static com.google.common.util.concurrent.MoreExecutors.listeningDecorator;
-import static java.io.File.createTempFile;
import static java.lang.Boolean.getBoolean;
import static java.lang.Integer.MAX_VALUE;
import static java.lang.String.valueOf;
import static java.lang.System.getProperty;
import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
import static org.apache.jackrabbit.oak.plugins.segment.CompactionMap.sum;
import static org.apache.jackrabbit.oak.plugins.segment.compaction.CompactionStrategy.CleanupType.CLEAN_OLD;
@@ -42,7 +40,6 @@ import static org.slf4j.helpers.MessageF
import static org.slf4j.helpers.MessageFormatter.format;
import java.io.ByteArrayInputStream;
-import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -94,7 +91,9 @@ import org.apache.jackrabbit.oak.spi.whi
import org.apache.jackrabbit.oak.stats.Clock;
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -134,7 +133,6 @@ public class SegmentCompactionIT {
private final Set<ListenableScheduledFuture<?>> references = newConcurrentHashSet();
private final SegmentCompactionITMBean segmentCompactionMBean = new SegmentCompactionITMBean();
- private File directory;
private FileStore fileStore;
private SegmentNodeStore nodeStore;
private CompactionStrategy compactionStrategy;
@@ -162,6 +160,9 @@ public class SegmentCompactionIT {
private volatile Reference rootReference;
private volatile long fileStoreSize;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
public synchronized void stop() {
stopping = true;
notifyAll();
@@ -226,11 +227,7 @@ public class SegmentCompactionIT {
}
}, 1, 1, SECONDS);
- directory = createTempFile(getClass().getSimpleName(), "dir", new File("target"));
- directory.delete();
- directory.mkdir();
-
- fileStore = FileStore.builder(directory)
+ fileStore = FileStore.builder(folder.getRoot())
.withMemoryMapping(true)
.withGCMonitor(gcMonitor)
.build();
@@ -269,22 +266,15 @@ public class SegmentCompactionIT {
@After
public void tearDown() {
- try {
- if (mBeanRegistration != null) {
- mBeanRegistration.unregister();
- }
- remove(writers, MAX_VALUE);
- remove(readers, MAX_VALUE);
- remove(references, MAX_VALUE);
- scheduler.shutdown();
- if (fileStore != null) {
- fileStore.close();
- }
- if (directory != null) {
- deleteDirectory(directory);
- }
- } catch (IOException e) {
- LOG.error("Error cleaning directory", e);
+ if (mBeanRegistration != null) {
+ mBeanRegistration.unregister();
+ }
+ remove(writers, MAX_VALUE);
+ remove(readers, MAX_VALUE);
+ remove(references, MAX_VALUE);
+ scheduler.shutdown();
+ if (fileStore != null) {
+ fileStore.close();
}
}
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentDataStoreBlobGCIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentDataStoreBlobGCIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentDataStoreBlobGCIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentDataStoreBlobGCIT.java Fri Apr 15 09:50:50 2016
@@ -19,8 +19,8 @@
package org.apache.jackrabbit.oak.plugins.segment;
import static org.apache.commons.io.FileUtils.byteCountToDisplaySize;
-import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
+import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
import static org.apache.jackrabbit.oak.plugins.blob.datastore.SharedDataStoreUtils.SharedStoreRecordType.REPOSITORY;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -49,9 +49,7 @@ import com.google.common.base.Stopwatch;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-
import com.google.common.io.Closeables;
-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.plugins.blob.BlobReferenceRetriever;
@@ -71,7 +69,9 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.junit.After;
import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.slf4j.Logger;
@@ -91,6 +91,9 @@ public class SegmentDataStoreBlobGCIT {
DataStoreBlobStore blobStore;
Date startDate;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
@BeforeClass
public static void assumptions() {
assumeTrue(getFixtures().contains(SEGMENT_MK));
@@ -126,13 +129,13 @@ public class SegmentDataStoreBlobGCIT {
return nodeStore;
}
- private static File getWorkDir() {
- return new File("target", "DataStoreBlobGCTest");
+ private File getWorkDir() {
+ return folder.getRoot();
}
public DataStoreState setUp() throws Exception {
if (blobStore == null) {
- blobStore = DataStoreUtils.getBlobStore();
+ blobStore = DataStoreUtils.getBlobStore(folder.newFolder());
}
nodeStore = getNodeStore(blobStore);
startDate = new Date();
@@ -303,7 +306,7 @@ public class SegmentDataStoreBlobGCIT {
}
TestGarbageCollector gc = new TestGarbageCollector(
new SegmentBlobReferenceRetriever(store.getTracker()),
- (GarbageCollectableBlobStore) store.getBlobStore(), executor, "./target", 5, 5000, repoId);
+ (GarbageCollectableBlobStore) store.getBlobStore(), executor, folder.newFolder().getAbsolutePath(), 5, 5000, repoId);
gc.collectGarbage(false);
Set<String> existingAfterGC = iterate();
log.info("{} Blobs existing after gc {}", existingAfterGC.size(), existingAfterGC);
@@ -356,7 +359,7 @@ public class SegmentDataStoreBlobGCIT {
}
MarkSweepGarbageCollector gc = new MarkSweepGarbageCollector(
new SegmentBlobReferenceRetriever(store.getTracker()),
- (GarbageCollectableBlobStore) store.getBlobStore(), executor, "./target", 2048, blobGcMaxAgeInSecs,
+ (GarbageCollectableBlobStore) store.getBlobStore(), executor, folder.newFolder().getAbsolutePath(), 2048, blobGcMaxAgeInSecs,
repoId);
return gc;
}
@@ -377,8 +380,6 @@ public class SegmentDataStoreBlobGCIT {
store.close();
}
DataStoreUtils.cleanup(blobStore.getDataStore(), startDate);
- FileUtils.deleteDirectory(getWorkDir());
- FileUtils.deleteDirectory(new File(DataStoreUtils.getHomeDir()));
}
static InputStream randomStream(int seed, int size) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentGraphTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentGraphTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentGraphTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentGraphTest.java Fri Apr 15 09:50:50 2016
@@ -19,10 +19,8 @@
package org.apache.jackrabbit.oak.plugins.segment;
-
import static com.google.common.collect.Maps.newHashMap;
import static com.google.common.collect.Sets.newHashSet;
-import static java.io.File.createTempFile;
import static java.util.Collections.singleton;
import static org.apache.jackrabbit.oak.plugins.segment.SegmentGraph.createRegExpFilter;
import static org.apache.jackrabbit.oak.plugins.segment.SegmentGraph.parseSegmentGraph;
@@ -48,8 +46,6 @@ import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.oak.plugins.segment.SegmentGraph.Graph;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore.ReadOnlyStore;
-import org.apache.jackrabbit.oak.spi.security.principal.SystemPrincipal;
-import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentOverflowExceptionIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentOverflowExceptionIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentOverflowExceptionIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentOverflowExceptionIT.java Fri Apr 15 09:50:50 2016
@@ -45,7 +45,9 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,25 +73,16 @@ public class SegmentOverflowExceptionIT
private final Random rnd = new Random();
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
@Before
public void setUp() throws IOException {
assumeTrue(ENABLED);
- directory = File.createTempFile(getClass().getSimpleName(), "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void cleanDir() {
- try {
- if (directory != null) {
- deleteDirectory(directory);
- }
- } catch (IOException e) {
- LOG.error("Error cleaning directory", e);
- }
}
private volatile boolean compact = true;
@@ -108,7 +101,7 @@ public class SegmentOverflowExceptionIT
@Test
public void run() throws IOException, CommitFailedException, InterruptedException {
- FileStore fileStore = FileStore.builder(directory).withGCMonitor(gcMonitor).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withGCMonitor(gcMonitor).build();
try {
final SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
fileStore.setCompactionStrategy(new CompactionStrategy(false, false, CLEAN_OLD, 1000, MEMORY_THRESHOLD_DEFAULT) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentVersionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentVersionTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentVersionTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/SegmentVersionTest.java Fri Apr 15 09:50:50 2016
@@ -18,7 +18,6 @@
*/
package org.apache.jackrabbit.oak.plugins.segment;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.api.Type.LONG;
import static org.apache.jackrabbit.oak.api.Type.LONGS;
import static org.apache.jackrabbit.oak.api.Type.STRING;
@@ -50,35 +49,20 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.junit.rules.TemporaryFolder;
public class SegmentVersionTest {
- private static final Logger log = LoggerFactory
- .getLogger(SegmentVersionTest.class);
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
- private File directory;
-
- @Before
- public void setUp() throws IOException {
- directory = File.createTempFile("VersionTest", "dir",
- new File("target"));
- directory.delete();
- directory.mkdir();
+ private File getFileStoreFolder() {
+ return folder.getRoot();
}
- @After
- public void cleanDir() {
- try {
- deleteDirectory(directory);
- } catch (IOException e) {
- log.error("Error cleaning directory", e);
- }
- }
+ private File directory;
@Test
public void latestVersion() {
@@ -87,7 +71,7 @@ public class SegmentVersionTest {
@Test
public void compareOldRevision() throws Exception {
- FileStore fileStoreV10 = FileStore.builder(directory).withMaxFileSize(1).withSegmentVersion(V_10).build();
+ FileStore fileStoreV10 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withSegmentVersion(V_10).build();
try {
NodeState content = addTestContent(fileStoreV10, "content").getChildNode("content");
assertVersion(content, SegmentVersion.V_10);
@@ -137,7 +121,7 @@ public class SegmentVersionTest {
@Test
public void readOldVersions() throws Exception {
- FileStore fileStoreV10 = FileStore.builder(directory).withMaxFileSize(1).withSegmentVersion(V_10).build();
+ FileStore fileStoreV10 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withSegmentVersion(V_10).build();
try {
NodeState content = addTestContent(fileStoreV10, "content");
assertVersion(content, SegmentVersion.V_10);
@@ -145,7 +129,7 @@ public class SegmentVersionTest {
fileStoreV10.close();
}
- FileStore fileStoreV11 = FileStore.builder(directory).withMaxFileSize(1).build();
+ FileStore fileStoreV11 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).build();
try {
verifyContent(fileStoreV11, "content");
} finally {
@@ -155,7 +139,7 @@ public class SegmentVersionTest {
@Test
public void mixedVersions() throws IOException, CommitFailedException {
- FileStore fileStoreV10 = FileStore.builder(directory).withMaxFileSize(1).withSegmentVersion(V_10).build();
+ FileStore fileStoreV10 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withSegmentVersion(V_10).build();
try {
NodeState content10 = addTestContent(fileStoreV10, "content10");
assertVersion(content10, SegmentVersion.V_10);
@@ -163,7 +147,7 @@ public class SegmentVersionTest {
fileStoreV10.close();
}
- FileStore fileStoreV11 = FileStore.builder(directory).withMaxFileSize(1).build();
+ FileStore fileStoreV11 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).build();
try {
NodeState content11 = addTestContent(fileStoreV11, "content11");
assertVersion(content11, V_11);
@@ -176,14 +160,14 @@ public class SegmentVersionTest {
@Test
public void migrate() throws IOException, CommitFailedException {
- FileStore fileStoreV10 = FileStore.builder(directory).withMaxFileSize(1).withSegmentVersion(V_10).build();
+ FileStore fileStoreV10 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withSegmentVersion(V_10).build();
try {
addTestContent(fileStoreV10, "content10");
} finally {
fileStoreV10.close();
}
- FileStore fileStoreV11 = FileStore.builder(directory).withMaxFileSize(1).build();
+ FileStore fileStoreV11 = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).build();
try {
fileStoreV11.setCompactionStrategy(new CompactionStrategy(false, false,
CLEAN_NONE, 0, (byte) 0) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionEstimatorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionEstimatorTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionEstimatorTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/CompactionEstimatorTest.java Fri Apr 15 09:50:50 2016
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.plugins.segment.file;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
@@ -34,25 +33,17 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class CompactionEstimatorTest {
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
- @Before
- public void setUp() throws IOException {
- directory = File.createTempFile(
- "FileStoreTest", "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void cleanDir() throws IOException {
- deleteDirectory(directory);
+ private File getFileStoreFolder() {
+ return folder.getRoot();
}
@Test
@@ -60,7 +51,7 @@ public class CompactionEstimatorTest {
final int MB = 1024 * 1024;
final int blobSize = 2 * MB;
- FileStore fileStore = FileStore.builder(directory).withMaxFileSize(2).withMemoryMapping(false).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(2).withMemoryMapping(false).build();
SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
// 1. Create some blob properties
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreIT.java Fri Apr 15 09:50:50 2016
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Sets.newTreeSet;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_MK;
import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
@@ -48,37 +47,25 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState;
import org.apache.jackrabbit.oak.plugins.segment.SegmentWriter;
import org.apache.jackrabbit.oak.plugins.segment.file.FileStore.ReadOnlyStore;
-import org.junit.After;
-import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class FileStoreIT {
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
@BeforeClass
public static void assumptions() {
assumeTrue(getFixtures().contains(SEGMENT_MK));
}
- @Before
- public void setUp() throws IOException {
- directory = File.createTempFile(
- "FileStoreIT", "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void tearDown() {
- try {
- deleteDirectory(directory);
- } catch (IOException e) {
- //
- }
- }
-
@Test
public void testRestartAndGCWithoutMM() throws IOException {
testRestartAndGC(false);
@@ -90,10 +77,10 @@ public class FileStoreIT {
}
public void testRestartAndGC(boolean memoryMapping) throws IOException {
- FileStore store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
store.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
SegmentNodeState base = store.getHead();
SegmentNodeBuilder builder = base.builder();
byte[] data = new byte[10 * 1024 * 1024];
@@ -105,12 +92,12 @@ public class FileStoreIT {
store.setHead(store.getHead(), base);
store.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
store.gc();
store.flush();
store.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(memoryMapping).build();
store.close();
}
@@ -118,7 +105,7 @@ public class FileStoreIT {
public void testCompaction() throws IOException {
int largeBinarySize = 10 * 1024 * 1024;
- FileStore store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
SegmentWriter writer = store.getTracker().getWriter();
SegmentNodeState base = store.getHead();
@@ -140,7 +127,7 @@ public class FileStoreIT {
// First simulate the case where during compaction a reference to the
// older segments is added to a segment that the compactor is writing
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
head = store.getHead();
assertTrue(store.size() > largeBinarySize);
builder = head.builder();
@@ -150,7 +137,7 @@ public class FileStoreIT {
store.close();
// In this case the revision cleanup is unable to reclaim the old data
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
assertTrue(store.size() > largeBinarySize);
store.cleanup();
assertTrue(store.size() > largeBinarySize);
@@ -158,7 +145,7 @@ public class FileStoreIT {
// Now we do the same thing, but let the compactor use a different
// SegmentWriter
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
head = store.getHead();
assertTrue(store.size() > largeBinarySize);
writer = new SegmentWriter(store, V_11, "");
@@ -172,7 +159,7 @@ public class FileStoreIT {
store.close();
// Revision cleanup is now able to reclaim the extra space (OAK-1932)
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
assertTrue(store.size() > largeBinarySize);
store.cleanup();
assertTrue(store.size() < largeBinarySize);
@@ -181,10 +168,10 @@ public class FileStoreIT {
@Test
public void testRecovery() throws IOException {
- FileStore store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
store.flush();
- RandomAccessFile data0 = new RandomAccessFile(new File(directory, "data00000a.tar"), "r");
+ RandomAccessFile data0 = new RandomAccessFile(new File(getFileStoreFolder(), "data00000a.tar"), "r");
long pos0 = data0.length();
SegmentNodeState base = store.getHead();
@@ -201,49 +188,49 @@ public class FileStoreIT {
store.setHead(base, builder.getNodeState());
store.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
assertEquals("b", store.getHead().getString("step"));
store.close();
RandomAccessFile file = new RandomAccessFile(
- new File(directory, "data00000a.tar"), "rw");
+ new File(getFileStoreFolder(), "data00000a.tar"), "rw");
file.setLength(pos1);
file.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
assertEquals("a", store.getHead().getString("step"));
store.close();
file = new RandomAccessFile(
- new File(directory, "data00000a.tar"), "rw");
+ new File(getFileStoreFolder(), "data00000a.tar"), "rw");
file.setLength(pos0);
file.close();
- store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
assertFalse(store.getHead().hasProperty("step"));
store.close();
}
@Test
public void testRearrangeOldData() throws IOException {
- new FileOutputStream(new File(directory, "data00000.tar")).close();
- new FileOutputStream(new File(directory, "data00010a.tar")).close();
- new FileOutputStream(new File(directory, "data00030.tar")).close();
- new FileOutputStream(new File(directory, "bulk00002.tar")).close();
- new FileOutputStream(new File(directory, "bulk00005a.tar")).close();
+ new FileOutputStream(new File(getFileStoreFolder(), "data00000.tar")).close();
+ new FileOutputStream(new File(getFileStoreFolder(), "data00010a.tar")).close();
+ new FileOutputStream(new File(getFileStoreFolder(), "data00030.tar")).close();
+ new FileOutputStream(new File(getFileStoreFolder(), "bulk00002.tar")).close();
+ new FileOutputStream(new File(getFileStoreFolder(), "bulk00005a.tar")).close();
- Map<Integer, ?> files = FileStore.collectFiles(directory);
+ Map<Integer, ?> files = FileStore.collectFiles(getFileStoreFolder());
assertEquals(
newArrayList(0, 1, 31, 32, 33),
newArrayList(newTreeSet(files.keySet())));
- assertTrue(new File(directory, "data00000a.tar").isFile());
- assertTrue(new File(directory, "data00001a.tar").isFile());
- assertTrue(new File(directory, "data00031a.tar").isFile());
- assertTrue(new File(directory, "data00032a.tar").isFile());
- assertTrue(new File(directory, "data00033a.tar").isFile());
+ assertTrue(new File(getFileStoreFolder(), "data00000a.tar").isFile());
+ assertTrue(new File(getFileStoreFolder(), "data00001a.tar").isFile());
+ assertTrue(new File(getFileStoreFolder(), "data00031a.tar").isFile());
+ assertTrue(new File(getFileStoreFolder(), "data00032a.tar").isFile());
+ assertTrue(new File(getFileStoreFolder(), "data00033a.tar").isFile());
- files = FileStore.collectFiles(directory);
+ files = FileStore.collectFiles(getFileStoreFolder());
assertEquals(
newArrayList(0, 1, 31, 32, 33),
newArrayList(newTreeSet(files.keySet())));
@@ -252,7 +239,7 @@ public class FileStoreIT {
@Test // See OAK-2049
public void segmentOverflow() throws IOException {
for (int n = 1; n < 255; n++) { // 255 = ListRecord.LEVEL_SIZE
- FileStore store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
SegmentWriter writer = store.getTracker().getWriter();
// writer.length == 32 (from the root node)
@@ -284,7 +271,7 @@ public class FileStoreIT {
@Test
public void nonBlockingROStore() throws IOException {
- FileStore store = FileStore.builder(directory).withMaxFileSize(1).withMemoryMapping(false).build();
+ FileStore store = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1).withMemoryMapping(false).build();
store.flush(); // first 1kB
SegmentNodeState base = store.getHead();
SegmentNodeBuilder builder = base.builder();
@@ -294,7 +281,7 @@ public class FileStoreIT {
ReadOnlyStore ro = null;
try {
- ro = FileStore.builder(directory).buildReadOnly();
+ ro = FileStore.builder(getFileStoreFolder()).buildReadOnly();
assertEquals(store.getHead(), ro.getHead());
} finally {
if (ro != null) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/FileStoreTest.java Fri Apr 15 09:50:50 2016
@@ -19,38 +19,28 @@
package org.apache.jackrabbit.oak.plugins.segment.file;
-import static java.io.File.createTempFile;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
-
import java.io.File;
import java.io.IOException;
import org.apache.jackrabbit.oak.plugins.segment.SegmentId;
-import org.junit.After;
-import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class FileStoreTest {
- private File directory;
-
- @Before
- public void setUp() throws IOException {
- directory = createTempFile(FileStoreTest.class.getSimpleName(), "dir", new File("target"));
- directory.delete();
- directory.mkdir();
- }
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
- @After
- public void tearDown() throws IOException {
- deleteDirectory(directory);
+ private File getFileStoreFolder() {
+ return folder.getRoot();
}
@Ignore("OAK-4054") // FIXME OAK-4054
@Test
public void containsSegment() throws IOException {
- FileStore fileStore = FileStore.builder(directory).build();
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).build();
try {
SegmentId id = new SegmentId(fileStore.getTracker(), 0, 0);
if (fileStore.containsSegment(id)) {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/LargeNumberOfPropertiesTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/LargeNumberOfPropertiesTestIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/LargeNumberOfPropertiesTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/LargeNumberOfPropertiesTestIT.java Fri Apr 15 09:50:50 2016
@@ -18,7 +18,6 @@
*/
package org.apache.jackrabbit.oak.plugins.segment.file;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.junit.Assume.assumeTrue;
import java.io.File;
@@ -28,9 +27,10 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
-import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,31 +52,21 @@ public class LargeNumberOfPropertiesTest
private static final boolean ENABLED = Boolean
.getBoolean(LargeNumberOfPropertiesTestIT.class.getSimpleName());
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
@Before
public void setUp() throws IOException {
assumeTrue(ENABLED);
- directory = File.createTempFile(getClass().getSimpleName(), "dir",
- new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void cleanDir() {
- try {
- if (directory != null) {
- deleteDirectory(directory);
- }
- } catch (IOException e) {
- LOG.error("Error cleaning directory", e);
- }
}
@Test
public void corruption() throws Exception {
- FileStore fileStore = FileStore.builder(directory).withMaxFileSize(5)
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(5)
.withNoCache().withMemoryMapping(true).build();
SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamBlockSize.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamBlockSize.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamBlockSize.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamBlockSize.java Fri Apr 15 09:50:50 2016
@@ -20,7 +20,6 @@ import static org.apache.jackrabbit.oak.
import static org.apache.jackrabbit.oak.plugins.segment.file.ReversedLinesReaderTestData.WINDOWS_31J_BIN;
import static org.apache.jackrabbit.oak.plugins.segment.file.ReversedLinesReaderTestData.X_WINDOWS_949_BIN;
import static org.apache.jackrabbit.oak.plugins.segment.file.ReversedLinesReaderTestData.X_WINDOWS_950_BIN;
-import static org.apache.jackrabbit.oak.plugins.segment.file.ReversedLinesReaderTestData.createFile;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -31,7 +30,9 @@ import java.util.Arrays;
import java.util.Collection;
import org.junit.After;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@@ -47,6 +48,13 @@ public class ReversedLinesFileReaderTest
private static final String UTF_8 = "UTF-8";
private static final String ISO_8859_1 = "ISO-8859-1";
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File createFile(byte[] data) throws IOException {
+ return ReversedLinesReaderTestData.createFile(folder.newFile(), data);
+ }
+
@SuppressWarnings("boxing")
@Parameters // small and uneven block sizes are not used in reality but are good to show that the algorithm is solid
public static Collection<Integer[]> blockSizes() {
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamFile.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamFile.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamFile.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesFileReaderTestParamFile.java Fri Apr 15 09:50:50 2016
@@ -35,7 +35,9 @@ import java.util.Collection;
import java.util.Stack;
import org.junit.After;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@@ -65,6 +67,9 @@ public class ReversedLinesFileReaderTest
private final String encoding;
private final int buffSize;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
public ReversedLinesFileReaderTestParamFile(byte[] data, String encoding, Integer buffSize) {
this.data = data;
this.encoding = encoding;
@@ -73,7 +78,7 @@ public class ReversedLinesFileReaderTest
@Test
public void testDataIntegrityWithBufferedReader() throws URISyntaxException, IOException {
- File testFileIso = createFile(data);
+ File testFileIso = createFile(folder.newFile(), data);
reversedLinesFileReader = new ReversedLinesFileReader(testFileIso, buffSize, encoding);
Stack<String> lineStack = new Stack<String>();
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesReaderTestData.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesReaderTestData.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesReaderTestData.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/ReversedLinesReaderTestData.java Fri Apr 15 09:50:50 2016
@@ -16,8 +16,6 @@
*/
package org.apache.jackrabbit.oak.plugins.segment.file;
-import static java.io.File.createTempFile;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -49,8 +47,7 @@ public final class ReversedLinesReaderTe
13, 10,
};
- public static File createFile(byte[] data) throws IOException {
- File file = createTempFile(ReversedLinesReaderTestData.class.getSimpleName(), null);
+ public static File createFile(File file, byte[] data) throws IOException {
FileOutputStream os = new FileOutputStream(file);
try {
os.write(data);
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/SegmentReferenceLimitTestIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/SegmentReferenceLimitTestIT.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/SegmentReferenceLimitTestIT.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/SegmentReferenceLimitTestIT.java Fri Apr 15 09:50:50 2016
@@ -19,7 +19,6 @@
package org.apache.jackrabbit.oak.plugins.segment.file;
-import static org.apache.commons.io.FileUtils.deleteDirectory;
import static org.junit.Assume.assumeTrue;
import java.io.File;
@@ -36,9 +35,10 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,31 +60,21 @@ public class SegmentReferenceLimitTestIT
private static final boolean ENABLED = Boolean
.getBoolean(SegmentReferenceLimitTestIT.class.getSimpleName());
- private File directory;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+ private File getFileStoreFolder() {
+ return folder.getRoot();
+ }
@Before
public void setUp() throws IOException {
assumeTrue(ENABLED);
- directory = File.createTempFile(getClass().getSimpleName(), "dir",
- new File("target"));
- directory.delete();
- directory.mkdir();
- }
-
- @After
- public void cleanDir() {
- try {
- if (directory != null) {
- deleteDirectory(directory);
- }
- } catch (IOException e) {
- LOG.error("Error cleaning directory", e);
- }
}
@Test
public void corruption() throws IOException, CommitFailedException, ExecutionException, InterruptedException {
- FileStore fileStore = FileStore.builder(directory).withMaxFileSize(1)
+ FileStore fileStore = FileStore.builder(getFileStoreFolder()).withMaxFileSize(1)
.withNoCache().withMemoryMapping(true).build();
SegmentNodeStore nodeStore = SegmentNodeStore.builder(fileStore).build();
Modified: jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFileTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFileTest.java?rev=1739265&r1=1739264&r2=1739265&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFileTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment/src/test/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFileTest.java Fri Apr 15 09:50:50 2016
@@ -25,15 +25,20 @@ import java.nio.ByteBuffer;
import java.util.UUID;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
public class TarFileTest {
private File file;
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
@Before
public void setUp() throws IOException {
- file = File.createTempFile("TarFileTest", ".tar", new File("target"));
+ file = folder.newFile();
}
@Test