HADOOP-13928. TestAdlFileContextMainOperationsLive.testGetFileContext1 runtime error. (John Zhuge via lei)

This commit is contained in:
Lei Xu 2017-01-12 15:11:45 +08:00
parent 2604e82eba
commit ed09c1418d
2 changed files with 30 additions and 7 deletions

View File

@ -160,7 +160,7 @@ public abstract class DelegateToFileSystem extends AbstractFileSystem {
@Override
public int getUriDefaultPort() {
return DELEGATE_TO_FS_DEFAULT_PORT;
return getDefaultPortIfDefined(fsImpl);
}
@Override

View File

@ -33,19 +33,29 @@ import org.junit.Test;
*/
public class TestDelegateToFsCheckPath {
@Test
public void testCheckPathWithoutDefaultPorts() throws URISyntaxException,
public void testCheckPathWithoutDefaultPort() throws URISyntaxException,
IOException {
URI uri = new URI("dummy://dummy-host");
AbstractFileSystem afs = new DummyDelegateToFileSystem(uri);
AbstractFileSystem afs = new DummyDelegateToFileSystem(uri,
new UnOverrideDefaultPortFileSystem());
afs.checkPath(new Path("dummy://dummy-host"));
}
@Test
public void testCheckPathWithDefaultPort() throws URISyntaxException,
IOException {
URI uri = new URI(String.format("dummy://dummy-host:%d",
OverrideDefaultPortFileSystem.DEFAULT_PORT));
AbstractFileSystem afs = new DummyDelegateToFileSystem(uri,
new OverrideDefaultPortFileSystem());
afs.checkPath(new Path("dummy://dummy-host/user/john/test"));
}
private static class DummyDelegateToFileSystem
extends DelegateToFileSystem {
public DummyDelegateToFileSystem(URI uri) throws URISyntaxException,
IOException {
super(uri, new UnOverrideDefaultPortFileSystem(), new Configuration(),
"dummy", false);
public DummyDelegateToFileSystem(URI uri, FileSystem fs)
throws URISyntaxException, IOException {
super(uri, fs, new Configuration(), "dummy", false);
}
}
@ -123,4 +133,17 @@ public class TestDelegateToFsCheckPath {
return null;
}
}
/**
* OverrideDefaultPortFileSystem defines default port.
*/
private static class OverrideDefaultPortFileSystem
extends UnOverrideDefaultPortFileSystem {
private static final int DEFAULT_PORT = 1234;
@Override
public int getDefaultPort() {
return DEFAULT_PORT;
}
}
}