From 373bf85f56b1d7064546517b2dd403208f7615f8 Mon Sep 17 00:00:00 2001 From: Suresh Srinivas Date: Tue, 22 Sep 2009 04:12:45 +0000 Subject: [PATCH] HADOOP-6274. Fix TestLocalFSFileContextMainOperations test failure. Contributed by Gary Murry. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@817496 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 2 + .../fs/FileContextMainOperationsBaseTest.java | 96 +++++++------------ 2 files changed, 34 insertions(+), 64 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 455070c1b5..ee00e5f153 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,8 @@ Trunk (unreleased changes) OPTIMIZATIONS BUG FIXES + HADOOP-6274. Fix TestLocalFSFileContextMainOperations test failure. (Gary Murry via suresh). + Release 0.21.0 - Unreleased diff --git a/src/test/core/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java b/src/test/core/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java index 971696d84c..5d93175316 100644 --- a/src/test/core/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java +++ b/src/test/core/org/apache/hadoop/fs/FileContextMainOperationsBaseTest.java @@ -267,18 +267,10 @@ public void testListStatus() throws Exception { paths = fc.listStatus(getTestRootPath("test/hadoop")); Assert.assertEquals(3, paths.length); - - Assert.assertTrue(getTestRootPath("test/hadoop/a").equals(paths[0].getPath()) || - getTestRootPath("test/hadoop/a").equals(paths[1].getPath()) || - getTestRootPath("test/hadoop/a").equals(paths[2].getPath())); - Assert.assertTrue(getTestRootPath("test/hadoop/b").equals(paths[0].getPath()) || - getTestRootPath("test/hadoop/b").equals(paths[1].getPath()) || - getTestRootPath("test/hadoop/b").equals(paths[2].getPath())); - Assert.assertTrue(getTestRootPath("test/hadoop/c").equals(paths[0].getPath()) || - getTestRootPath("test/hadoop/c").equals(paths[1].getPath()) || - getTestRootPath("test/hadoop/c").equals(paths[2].getPath())); - - + Assert.assertTrue(containsPath(getTestRootPath("test/hadoop/a"), paths)); + Assert.assertTrue(containsPath(getTestRootPath("test/hadoop/b"), paths)); + Assert.assertTrue(containsPath(getTestRootPath("test/hadoop/c"), paths)); + paths = fc.listStatus(getTestRootPath("test/hadoop/a")); Assert.assertEquals(0, paths.length); } @@ -315,39 +307,12 @@ public void testListStatusFilterWithSomeMatches() throws Exception { } } - //should return 2 paths ("/test/hadoop/axa2" and "/test/hadoop/axx2") + //should return 2 paths ("/test/hadoop/axa" and "/test/hadoop/axx") FileStatus[] filteredPaths = fc.util().listStatus(getTestRootPath("test/hadoop"), TEST_X_FILTER); Assert.assertEquals(2,filteredPaths.length); - Assert.assertTrue(getTestRootPath(TEST_DIR_AXA).equals(filteredPaths[0].getPath()) || - getTestRootPath(TEST_DIR_AXA).equals(filteredPaths[1].getPath())); - Assert.assertTrue(getTestRootPath(TEST_DIR_AXX).equals(filteredPaths[0].getPath()) || - getTestRootPath(TEST_DIR_AXX).equals(filteredPaths[1].getPath())); - } - - @Test - public void testListStatusFilterWithAnArrayOrPaths() throws Exception { - Path[] testDirs = { getTestRootPath(TEST_DIR_AAA), - getTestRootPath(TEST_DIR_AXA), - getTestRootPath(TEST_DIR_AXX), - getTestRootPath(TEST_DIR_AAA2), }; - Path[] targetDirs = { getTestRootPath("test"), - getTestRootPath("test/hadoop"), }; - - if (fc.exists(testDirs[0]) == false) { - for (Path path : testDirs) { - fc.mkdir(path, FsPermission.getDefault(), true); - } - } - - //test using a path[] - FileStatus[] filteredPaths = fc.util().listStatus(targetDirs, TEST_X_FILTER); - Assert.assertEquals(2,filteredPaths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), - filteredPaths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), - filteredPaths[1].getPath()); - + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), filteredPaths)); } @Test @@ -395,8 +360,8 @@ public void testGlobStatusSomeMatchesInDirectories() throws Exception { //Should return two items ("/test/hadoop" and "/test/hadoop2") FileStatus[] paths = fc.util().globStatus(getTestRootPath("test/hadoop*")); Assert.assertEquals(2, paths.length); - Assert.assertEquals(getTestRootPath("test/hadoop"), paths[0].getPath()); - Assert.assertEquals(getTestRootPath("test/hadoop2"), paths[1].getPath()); + Assert.assertTrue(containsPath(getTestRootPath("test/hadoop"), paths)); + Assert.assertTrue(containsPath(getTestRootPath("test/hadoop2"), paths)); } @Test @@ -416,10 +381,10 @@ public void testGlobStatusWithMultipleWildCardMatches() throws Exception { //"/test/hadoop/axx", and "/test/hadoop2/axx") FileStatus[] paths = fc.util().globStatus(getTestRootPath("test/hadoop*/*")); Assert.assertEquals(4, paths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AAA), paths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), paths[1].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), paths[2].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AAA2), paths[3].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AAA), paths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), paths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), paths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AAA2), paths)); } @Test @@ -438,8 +403,8 @@ public void testGlobStatusWithMultipleMatchesOfSingleChar() throws Exception { //Should return only 2 items ("/test/hadoop/axa", "/test/hadoop/axx") FileStatus[] paths = fc.util().globStatus(getTestRootPath("test/hadoop/ax?")); Assert.assertEquals(2, paths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), paths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), paths[1].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), paths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), paths)); } @Test @@ -478,12 +443,9 @@ public void testGlobStatusFilterWithSomePathMatchesAndTrivialFilter() throws Exc FileStatus[] filteredPaths = fc.util().globStatus(getTestRootPath("test/hadoop/*"), DEFAULT_FILTER); Assert.assertEquals(3,filteredPaths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AAA), - filteredPaths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), - filteredPaths[1].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), - filteredPaths[2].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AAA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), filteredPaths)); } @Test @@ -503,8 +465,9 @@ public void testGlobStatusFilterWithMultipleWildCardMatchesAndTrivialFilter() th FileStatus[] filteredPaths = fc.util().globStatus(getTestRootPath("test/hadoop/a??"), DEFAULT_FILTER); Assert.assertEquals(3,filteredPaths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AAA), filteredPaths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), filteredPaths[1].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AAA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), filteredPaths)); } @Test @@ -524,10 +487,8 @@ public void testGlobStatusFilterWithMultiplePathMatchesAndNonTrivialFilter() thr FileStatus[] filteredPaths = fc.util().globStatus(getTestRootPath("test/hadoop/*"), TEST_X_FILTER); Assert.assertEquals(2,filteredPaths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), - filteredPaths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), - filteredPaths[1].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), filteredPaths)); } @Test @@ -566,8 +527,8 @@ public void testGlobStatusFilterWithMultiplePathWildcardsAndNonTrivialFilter() t FileStatus[] filteredPaths = fc.util().globStatus(getTestRootPath("test/hadoop/a??"), TEST_X_FILTER); Assert.assertEquals(2,filteredPaths.length); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXA), filteredPaths[0].getPath()); - Assert.assertEquals(getTestRootPath(TEST_DIR_AXX), filteredPaths[1].getPath()); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXA), filteredPaths)); + Assert.assertTrue(containsPath(getTestRootPath(TEST_DIR_AXX), filteredPaths)); } @Test @@ -969,4 +930,11 @@ private void rename(Path src, Path dst, boolean renameShouldSucceed, Assert.assertEquals("Source exists", srcExists, fc.exists(src)); Assert.assertEquals("Destination exists", dstExists, fc.exists(dst)); } + private boolean containsPath(Path path, FileStatus[] filteredPaths) { + for(int i = 0; i < filteredPaths.length; i ++) { + if(getTestRootPath(path.toString()).equals(filteredPaths[i].getPath())) + return true; + } + return false; + } }