diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/TestGlobPaths.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/TestGlobPaths.java index 2803037944..30778e6970 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/TestGlobPaths.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/TestGlobPaths.java @@ -88,6 +88,25 @@ public static void tearDown() throws Exception { } } + /** + * Test case to ensure that globs work on files with special characters. + * Tests with a file pair where one has a \r at end and other does not. + */ + @Test + public void testCRInPathGlob() throws IOException { + FileStatus[] statuses; + Path d1 = new Path(USER_DIR, "dir1"); + Path fNormal = new Path(d1, "f1"); + Path fWithCR = new Path(d1, "f1\r"); + fs.mkdirs(d1); + fs.createNewFile(fNormal); + fs.createNewFile(fWithCR); + statuses = fs.globStatus(new Path(d1, "f1*")); + assertEquals("Expected both normal and CR-carrying files in result: ", + 2, statuses.length); + cleanupDFS(); + } + @Test public void testMultiGlob() throws IOException { FileStatus[] status;