Merge changes r1453645 for HADOOP-9373, r1453675 for HADOOP-9376, r1453676 for HADOOP-9365, r1454108 for HADOOP-9364.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1485853 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
84b91e1b01
commit
7ba49c56aa
|
@ -307,6 +307,14 @@ Release 2.0.5-beta - UNRELEASED
|
||||||
HADOOP-9372. Fix bad timeout annotations on tests.
|
HADOOP-9372. Fix bad timeout annotations on tests.
|
||||||
(Arpit Agarwal via suresh)
|
(Arpit Agarwal via suresh)
|
||||||
|
|
||||||
|
HADOOP-9376. TestProxyUserFromEnv fails on a Windows domain joined machine.
|
||||||
|
(Ivan Mitic via suresh)
|
||||||
|
|
||||||
|
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.4-beta - UNRELEASED
|
Release 2.0.4-beta - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -338,7 +338,8 @@ public class PathData implements Comparable<PathData> {
|
||||||
URI globUri = globPath.toUri();
|
URI globUri = globPath.toUri();
|
||||||
if (globUri.getScheme() != null) {
|
if (globUri.getScheme() != null) {
|
||||||
globType = PathType.HAS_SCHEME;
|
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;
|
globType = PathType.SCHEMELESS_ABSOLUTE;
|
||||||
} else {
|
} else {
|
||||||
globType = PathType.RELATIVE;
|
globType = PathType.RELATIVE;
|
||||||
|
|
|
@ -23,11 +23,13 @@ import static org.junit.Assert.fail;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.URI;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
import org.apache.hadoop.fs.FileSystem;
|
import org.apache.hadoop.fs.FileSystem;
|
||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
|
import org.apache.hadoop.util.Shell;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -173,6 +175,25 @@ public class TestPathData {
|
||||||
sortedString(testDir+"/d1/f1", testDir+"/d1/f1.1"),
|
sortedString(testDir+"/d1/f1", testDir+"/d1/f1.1"),
|
||||||
sortedString(items)
|
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)
|
@Test (timeout = 30000)
|
||||||
|
|
|
@ -40,7 +40,8 @@ public class TestHAZKUtil {
|
||||||
"test-file");
|
"test-file");
|
||||||
|
|
||||||
/** A path which is expected not to exist */
|
/** A path which is expected not to exist */
|
||||||
private static final String BOGUS_FILE = "/xxxx-this-does-not-exist";
|
private static final String BOGUS_FILE =
|
||||||
|
new File("/xxxx-this-does-not-exist").getPath();
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEmptyACL() {
|
public void testEmptyACL() {
|
||||||
|
|
|
@ -42,6 +42,15 @@ public class TestProxyUserFromEnv {
|
||||||
BufferedReader br = new BufferedReader
|
BufferedReader br = new BufferedReader
|
||||||
(new InputStreamReader(pp.getInputStream()));
|
(new InputStreamReader(pp.getInputStream()));
|
||||||
String realUser = br.readLine().trim();
|
String realUser = br.readLine().trim();
|
||||||
|
|
||||||
|
// On Windows domain joined machine, whoami returns the username
|
||||||
|
// in the DOMAIN\\username format, so we trim the domain part before
|
||||||
|
// the comparison. We don't have to special case for Windows
|
||||||
|
// given that Unix systems do not allow slashes in usernames.
|
||||||
|
int backslashIndex = realUser.indexOf('\\');
|
||||||
|
if (backslashIndex != -1) {
|
||||||
|
realUser = realUser.substring(backslashIndex + 1);
|
||||||
|
}
|
||||||
assertEquals(realUser, realUgi.getUserName());
|
assertEquals(realUser, realUgi.getUserName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue