From b0c89690ed1616d552123fff9048574531c16721 Mon Sep 17 00:00:00 2001 From: Inigo Goiri Date: Thu, 17 May 2018 09:21:57 -0700 Subject: [PATCH] HDFS-13570. TestQuotaByStorageType,TestQuota,TestDFSOutputStream fail on Windows. Contributed by Anbang Hu. (cherry picked from commit c0ec061e280c0d3e5299c0735c8b8697e0f31216) --- .../hadoop/hdfs/TestDFSOutputStream.java | 2 +- .../org/apache/hadoop/hdfs/TestQuota.java | 48 ++++++++++--------- .../namenode/TestQuotaByStorageType.java | 11 ++--- 3 files changed, 30 insertions(+), 31 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSOutputStream.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSOutputStream.java index f281a3b2120..1afa452801c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSOutputStream.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSOutputStream.java @@ -212,7 +212,7 @@ public class TestDFSOutputStream { dfsCluster.waitActive(); final FSDataOutputStream os = dfsCluster.getFileSystem() - .create(new Path(baseDir.getAbsolutePath(), "testPreventOverflow")); + .create(new Path(baseDir.getPath(), "testPreventOverflow")); final DFSOutputStream dos = (DFSOutputStream) Whitebox .getInternalState(os, "wrappedStream"); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java index 88f73a74d03..b16782cec0b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java @@ -188,7 +188,7 @@ public class TestQuota { public void testQuotaCommands() throws Exception { DFSAdmin admin = new DFSAdmin(conf); final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); @@ -478,7 +478,7 @@ public class TestQuota { @Test public void testNamespaceCommands() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -659,7 +659,7 @@ public class TestQuota { @Test public void testSpaceCommands() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -916,7 +916,7 @@ public class TestQuota { @Test public void testQuotaByStorageType() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -961,7 +961,7 @@ public class TestQuota { @Test public void testMaxSpaceQuotas() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -1024,7 +1024,7 @@ public class TestQuota { public void testBlockAllocationAdjustsUsageConservatively() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -1074,7 +1074,7 @@ public class TestQuota { @Test public void testMultipleFilesSmallerThanOneBlock() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -1184,7 +1184,7 @@ public class TestQuota { @Test public void testHugeFileCount() throws IOException { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(parent)); @@ -1217,7 +1217,7 @@ public class TestQuota { final DFSAdmin dfsAdmin = new DFSAdmin(conf); final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); @@ -1248,7 +1248,7 @@ public class TestQuota { public void testSetAndClearSpaceQuotaRegular() throws Exception { final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); @@ -1320,7 +1320,7 @@ public class TestQuota { public void testSetAndClearSpaceQuotaByStorageType() throws Exception { final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); @@ -1373,27 +1373,27 @@ public class TestQuota { * Test to set and clear space quote when directory doesn't exist. */ @Test(timeout = 30000) - public void testSetAndClearSpaceQuotaDirecotryNotExist() throws Exception { + public void testSetAndClearSpaceQuotaDirectoryNotExist() throws Exception { final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); /* set space quota */ - testSetAndClearSpaceQuotaDirecotryNotExistInternal( + testSetAndClearSpaceQuotaDirectoryNotExistInternal( new String[] {"-setSpaceQuota", "1024", dir.toString()}, dir, -1, "setSpaceQuota"); /* clear space quota */ - testSetAndClearSpaceQuotaDirecotryNotExistInternal( + testSetAndClearSpaceQuotaDirectoryNotExistInternal( new String[] {"-clrSpaceQuota", dir.toString()}, dir, -1, "clrSpaceQuota"); } - private void testSetAndClearSpaceQuotaDirecotryNotExistInternal( + private void testSetAndClearSpaceQuotaDirectoryNotExistInternal( final String[] args, final Path dir, final int cmdRet, @@ -1423,7 +1423,7 @@ public class TestQuota { public void testSetAndClearSpaceQuotaPathIsFile() throws Exception { final Path parent = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); final Path file = new Path(parent, "path-is-file"); DFSTestUtil.createFile(dfs, file, 1024L, (short) 1L, 0); @@ -1474,7 +1474,7 @@ public class TestQuota { public void testSetAndClearSpaceQuotaNoAccess() throws Exception { final Path dir = new Path( - PathUtils.getTestPath(getClass()), + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); @@ -1496,7 +1496,8 @@ public class TestQuota { GenericTestUtils.setLogLevel(DFSOutputStream.LOG, Level.TRACE); GenericTestUtils.setLogLevel(DataStreamer.LOG, Level.TRACE); final DFSAdmin dfsAdmin = new DFSAdmin(conf); - final Path dir = new Path(PathUtils.getTestPath(getClass()), + final Path dir = new Path( + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); final String[] args = new String[] {"-setSpaceQuota", "1", dir.toString()}; @@ -1520,7 +1521,8 @@ public class TestQuota { GenericTestUtils.setLogLevel(DataStreamer.LOG, Level.TRACE); GenericTestUtils.setLogLevel(DFSClient.LOG, Level.TRACE); final DFSAdmin dfsAdmin = new DFSAdmin(conf); - final Path dir = new Path(PathUtils.getTestPath(getClass()), + final Path dir = new Path( + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(dir)); final String[] args = new String[] {"-setSpaceQuota", "1", dir.toString()}; @@ -1560,7 +1562,8 @@ public class TestQuota { GenericTestUtils.setLogLevel(DFSOutputStream.LOG, Level.TRACE); GenericTestUtils.setLogLevel(DataStreamer.LOG, Level.TRACE); final DFSAdmin dfsAdmin = new DFSAdmin(conf); - final Path dir = new Path(PathUtils.getTestPath(getClass()), + final Path dir = new Path( + PathUtils.getTestDir(getClass()).getPath(), GenericTestUtils.getMethodName()); dfs.delete(dir, true); assertTrue(dfs.mkdirs(dir)); @@ -1617,7 +1620,8 @@ public class TestQuota { private static void scanIntoList( final ByteArrayOutputStream baos, final List list) { - final Scanner scanner = new Scanner(baos.toString()); + final Scanner scanner = new Scanner( + baos.toString().replaceAll("\r\r\n", System.lineSeparator())); while (scanner.hasNextLine()) { list.add(scanner.nextLine()); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestQuotaByStorageType.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestQuotaByStorageType.java index be24e01c81f..c0757e65201 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestQuotaByStorageType.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestQuotaByStorageType.java @@ -36,7 +36,6 @@ import org.apache.hadoop.hdfs.protocol.HdfsConstants; import org.apache.hadoop.hdfs.protocol.QuotaByStorageTypeExceededException; import org.apache.hadoop.hdfs.server.namenode.snapshot.SnapshotTestHelper; import org.apache.hadoop.test.GenericTestUtils; -import org.apache.hadoop.test.PathUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -804,8 +803,7 @@ public class TestQuotaByStorageType { */ @Test public void testStorageSpaceQuotaWithWarmPolicy() throws IOException { - final Path testDir = new Path( - PathUtils.getTestPath(getClass()), + final Path testDir = new Path(dir, GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(testDir)); @@ -864,9 +862,7 @@ public class TestQuotaByStorageType { */ @Test(timeout = 30000) public void testStorageSpaceQuotaWithRepFactor() throws IOException { - - final Path testDir = new Path( - PathUtils.getTestPath(getClass()), + final Path testDir = new Path(dir, GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(testDir)); @@ -911,8 +907,7 @@ public class TestQuotaByStorageType { */ @Test(timeout = 30000) public void testStorageSpaceQuotaPerQuotaClear() throws IOException { - final Path testDir = new Path( - PathUtils.getTestPath(getClass()), + final Path testDir = new Path(dir, GenericTestUtils.getMethodName()); assertTrue(dfs.mkdirs(testDir));