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