HDFS-13296. GenericTestUtils generates paths with drive letter in Windows and fail webhdfs related test cases. Contributed by Xiao Liang.

This commit is contained in:
Inigo Goiri 2018-03-19 17:19:30 -07:00
parent 3fc3fa9711
commit e65ff1c8be

View File

@ -44,6 +44,7 @@
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.Log4JLogger; import org.apache.commons.logging.impl.Log4JLogger;
import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.util.StringUtils;
import org.apache.hadoop.util.Time; import org.apache.hadoop.util.Time;
import org.apache.log4j.Appender; import org.apache.log4j.Appender;
@ -248,7 +249,7 @@ public static File getTestDir(String subdir) {
* @return the absolute directory for tests. Caller is expected to create it. * @return the absolute directory for tests. Caller is expected to create it.
*/ */
public static File getRandomizedTestDir() { public static File getRandomizedTestDir() {
return new File(getRandomizedTempPath()).getAbsoluteFile(); return new File(getRandomizedTempPath());
} }
/** /**
@ -259,7 +260,9 @@ public static File getRandomizedTestDir() {
* @return a string to use in paths * @return a string to use in paths
*/ */
public static String getTempPath(String subpath) { 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()) { if (prop.isEmpty()) {
// corner case: property is there but empty // corner case: property is there but empty
prop = DEFAULT_TEST_DATA_PATH; prop = DEFAULT_TEST_DATA_PATH;