HADOOP-9364. PathData#expandAsGlob does not return correct results for absolute paths on Windows. Contributed by Ivan Mitic.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1454108 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8a4f03cb70
commit
a3c4488efd
|
@ -461,6 +461,9 @@ Trunk (Unreleased)
|
|||
|
||||
HADOOP-9365. TestHAZKUtil fails on Windows. (Ivan Mitic via suresh)
|
||||
|
||||
HADOOP-9364. PathData#expandAsGlob does not return correct results for
|
||||
absolute paths on Windows. (Ivan Mitic via suresh)
|
||||
|
||||
Release 2.0.5-beta - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -338,7 +338,8 @@ public class PathData implements Comparable<PathData> {
|
|||
URI globUri = globPath.toUri();
|
||||
if (globUri.getScheme() != null) {
|
||||
globType = PathType.HAS_SCHEME;
|
||||
} else if (new File(globUri.getPath()).isAbsolute()) {
|
||||
} else if (!globUri.getPath().isEmpty() &&
|
||||
new Path(globUri.getPath()).isAbsolute()) {
|
||||
globType = PathType.SCHEMELESS_ABSOLUTE;
|
||||
} else {
|
||||
globType = PathType.RELATIVE;
|
||||
|
|
|
@ -23,11 +23,13 @@ import static org.junit.Assert.fail;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.fs.FileSystem;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.util.Shell;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
@ -173,6 +175,25 @@ public class TestPathData {
|
|||
sortedString(testDir+"/d1/f1", testDir+"/d1/f1.1"),
|
||||
sortedString(items)
|
||||
);
|
||||
|
||||
String absolutePathNoDriveLetter = testDir+"/d1/f1";
|
||||
if (Shell.WINDOWS) {
|
||||
// testDir is an absolute path with a drive letter on Windows, i.e.
|
||||
// c:/some/path
|
||||
// and for the test we want something like the following
|
||||
// /some/path
|
||||
absolutePathNoDriveLetter = absolutePathNoDriveLetter.substring(2);
|
||||
}
|
||||
items = PathData.expandAsGlob(absolutePathNoDriveLetter, conf);
|
||||
assertEquals(
|
||||
sortedString(absolutePathNoDriveLetter),
|
||||
sortedString(items)
|
||||
);
|
||||
items = PathData.expandAsGlob(".", conf);
|
||||
assertEquals(
|
||||
sortedString("."),
|
||||
sortedString(items)
|
||||
);
|
||||
}
|
||||
|
||||
@Test (timeout = 30000)
|
||||
|
|
Loading…
Reference in New Issue