From fbf78d529ad0469494cd3b7b459ceef320e046ec Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Thu, 5 Nov 2009 23:58:22 +0000 Subject: Add support for compressed records. --- .../java/com/amazon/carbonado/TestUtilities.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/test/java/com/amazon/carbonado/TestUtilities.java') diff --git a/src/test/java/com/amazon/carbonado/TestUtilities.java b/src/test/java/com/amazon/carbonado/TestUtilities.java index edf8754..d964c6e 100644 --- a/src/test/java/com/amazon/carbonado/TestUtilities.java +++ b/src/test/java/com/amazon/carbonado/TestUtilities.java @@ -19,7 +19,11 @@ package com.amazon.carbonado; import java.io.File; import java.io.IOException; +import java.util.Collections; +import java.util.HashSet; import java.util.Random; +import java.util.Set; +import java.util.UUID; import com.amazon.carbonado.repo.sleepycat.BDBRepositoryBuilder; @@ -37,6 +41,8 @@ public class TestUtilities { private static final Random sRandom = new Random(); + private static final Set cTempFiles = Collections.synchronizedSet(new HashSet()); + public static String makeTestDirectoryString(String nameElement) { return makeTestDirectory(nameElement).getAbsolutePath(); } @@ -174,4 +180,36 @@ public class TestUtilities { } return buffer.toString(); } + + public static File makeTempDir(String prefix) throws IOException { + File temp; + do { + temp = new File(System.getProperty("java.io.tmpdir"), + prefix + '-' + UUID.randomUUID()); + } while (temp.exists()); + if (!temp.mkdir()) { + throw new IOException("Couldn't create temp directory: " + temp); + } + cTempFiles.add(temp); + return temp; + } + + public static void deleteTempDir(File file) { + if (!cTempFiles.remove(file)) { + // Was not registered, so leave it alone. + return; + } + recursiveDelete(file); + } + + private static void recursiveDelete(File file) { + if (file.isDirectory()) { + for (File f : file.listFiles()) { + recursiveDelete(f); + } + } + if (!file.delete()) { + System.err.println("Couldn't delete file: " + file); + } + } } -- cgit v1.2.3