HADOOP-15948. Inconsistency in get and put syntax if filename/dirname contains space. Contributed by Ayush Saxena.
This commit is contained in:
parent
a8302e398c
commit
23b441c225
|
@ -274,12 +274,7 @@ class CopyCommands {
|
|||
try {
|
||||
items.add(new PathData(new URI(arg), getConf()));
|
||||
} catch (URISyntaxException e) {
|
||||
if (Path.WINDOWS) {
|
||||
// Unlike URI, PathData knows how to parse Windows drive-letter paths.
|
||||
items.add(new PathData(arg, getConf()));
|
||||
} else {
|
||||
throw new IOException("unexpected URISyntaxException", e);
|
||||
}
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
|
|
@ -43,9 +43,11 @@ public class TestCopyPreserveFlag {
|
|||
private static final int MODIFICATION_TIME = 12345000;
|
||||
private static final int ACCESS_TIME = 23456000;
|
||||
private static final Path DIR_FROM = new Path("d0");
|
||||
private static final Path DIR_FROM_SPL = new Path("d0 space");
|
||||
private static final Path DIR_TO1 = new Path("d1");
|
||||
private static final Path DIR_TO2 = new Path("d2");
|
||||
private static final Path FROM = new Path(DIR_FROM, "f0");
|
||||
private static final Path FROM_SPL = new Path(DIR_FROM_SPL, "f0");
|
||||
private static final Path TO = new Path(DIR_TO1, "f1");
|
||||
private static final FsPermission PERMISSIONS = new FsPermission(
|
||||
FsAction.ALL,
|
||||
|
@ -120,6 +122,14 @@ public class TestCopyPreserveFlag {
|
|||
assertAttributesChanged(TO);
|
||||
}
|
||||
|
||||
@Test(timeout = 10000)
|
||||
public void testPutWithSplCharacter() throws Exception {
|
||||
fs.mkdirs(DIR_FROM_SPL);
|
||||
fs.createNewFile(FROM_SPL);
|
||||
run(new Put(), FROM_SPL.toString(), TO.toString());
|
||||
assertAttributesChanged(TO);
|
||||
}
|
||||
|
||||
@Test(timeout = 10000)
|
||||
public void testCopyFromLocal() throws Exception {
|
||||
run(new CopyFromLocal(), FROM.toString(), TO.toString());
|
||||
|
|
Loading…
Reference in New Issue