Repository: kudu
Updated Branches:
  refs/heads/master 296b05ef4 -> c2cecb005


[java] Use TEST_TMPDIR environment variable in MiniKuduCluster

In order to match the functionality of the C++
MiniCluster, this change repects the TEST_TMPDIR
environment variable when creating a temporary
cluster root directory in MiniKuduCluster.java.

Change-Id: I1e3a8bb4e91680a00a0d70f9ad9d29ac6802751c
Reviewed-on: http://gerrit.cloudera.org:8080/10978
Reviewed-by: Adar Dembo <a...@cloudera.com>
Tested-by: Grant Henke <granthe...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/c2cecb00
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/c2cecb00
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/c2cecb00

Branch: refs/heads/master
Commit: c2cecb005c97efc8067475b603171a68f6875ebe
Parents: 296b05e
Author: Grant Henke <granthe...@apache.org>
Authored: Wed Jul 18 09:23:29 2018 -0500
Committer: Grant Henke <granthe...@apache.org>
Committed: Wed Jul 18 16:26:28 2018 +0000

----------------------------------------------------------------------
 .../org/apache/kudu/client/MiniKuduCluster.java   | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/c2cecb00/java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java
----------------------------------------------------------------------
diff --git 
a/java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java 
b/java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java
index f922d25..d0714b2 100644
--- a/java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java
+++ b/java/kudu-client/src/test/java/org/apache/kudu/client/MiniKuduCluster.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.nio.file.Files;
-import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -115,7 +115,7 @@ public class MiniKuduCluster implements AutoCloseable {
       // If a cluster root was not set, create a  unique temp directory to use.
       // The mini cluster will clean this directory up on exit.
       try {
-        File tempRoot = 
Files.createTempDirectory("mini-kudu-cluster").toFile();
+        File tempRoot = getTempDirectory("mini-kudu-cluster");
         this.clusterRoot = tempRoot.toString();
       } catch (IOException ex) {
         throw new RuntimeException("Could not create cluster root directory", 
ex);
@@ -125,6 +125,20 @@ public class MiniKuduCluster implements AutoCloseable {
     }
   }
 
+  // Match the C++ MiniCluster test functionality for overriding the tmp 
directory used.
+  // See MakeClusterRoot in src/kudu/tools/tool_action_test.cc.
+  // If the TEST_TMPDIR environment variable is defined that directory will be 
used
+  // instead of the default temp directory.
+  private File getTempDirectory(String prefix) throws IOException  {
+    String testTmpdir = System.getenv("TEST_TMPDIR");
+    if (testTmpdir != null) {
+      LOG.info("Using the temp directory defined by TEST_TMPDIR: " + 
testTmpdir);
+      return Files.createTempDirectory(Paths.get(testTmpdir), prefix).toFile();
+    } else {
+      return Files.createTempDirectory(prefix).toFile();
+    }
+  }
+
   /**
    * Sends a command to the control shell and receives its response.
    * <p>

Reply via email to