From 7eb0bdbd32f1c36eebe6f82ec5472b30136cfd5b Mon Sep 17 00:00:00 2001 From: Inigo Goiri Date: Mon, 19 Mar 2018 17:19:30 -0700 Subject: [PATCH] HDFS-13296. GenericTestUtils generates paths with drive letter in Windows and fail webhdfs related test cases. Contributed by Xiao Liang. (cherry picked from commit e65ff1c8be48ef4f04ed96f96ac4caef4974944d) --- .../test/java/org/apache/hadoop/test/GenericTestUtils.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java index 61b0271d986..53eb2be3bb8 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java @@ -44,6 +44,7 @@ import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.impl.Log4JLogger; import org.apache.hadoop.fs.FileUtil; +import org.apache.hadoop.fs.Path; import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.util.Time; import org.apache.log4j.Appender; @@ -248,7 +249,7 @@ public abstract class GenericTestUtils { * @return the absolute directory for tests. Caller is expected to create it. */ public static File getRandomizedTestDir() { - return new File(getRandomizedTempPath()).getAbsoluteFile(); + return new File(getRandomizedTempPath()); } /** @@ -259,7 +260,9 @@ public abstract class GenericTestUtils { * @return a string to use in paths */ public static String getTempPath(String subpath) { - String prop = System.getProperty(SYSPROP_TEST_DATA_DIR, DEFAULT_TEST_DATA_PATH); + String prop = (Path.WINDOWS) ? DEFAULT_TEST_DATA_PATH + : System.getProperty(SYSPROP_TEST_DATA_DIR, DEFAULT_TEST_DATA_PATH); + if (prop.isEmpty()) { // corner case: property is there but empty prop = DEFAULT_TEST_DATA_PATH;