HADOOP-14506. Add create() contract test that verifies ancestor dir creation. Contributed by Sean Mackrory.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d780a678 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d780a678 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d780a678 Branch: refs/heads/HDFS-10467 Commit: d780a67864d2c687d23b69798c19ee865e38cc5a Parents: 315f077 Author: Steve Loughran <[email protected]> Authored: Thu Jun 15 14:49:34 2017 +0100 Committer: Steve Loughran <[email protected]> Committed: Thu Jun 15 14:49:34 2017 +0100 ---------------------------------------------------------------------- .../fs/contract/AbstractContractCreateTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d780a678/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java index 2230fd4..a9ce607 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/AbstractContractCreateTest.java @@ -32,6 +32,7 @@ import java.io.IOException; import static org.apache.hadoop.fs.contract.ContractTestUtils.dataset; import static org.apache.hadoop.fs.contract.ContractTestUtils.getFileStatusEventually; import static org.apache.hadoop.fs.contract.ContractTestUtils.skip; +import static org.apache.hadoop.fs.contract.ContractTestUtils.touch; import static org.apache.hadoop.fs.contract.ContractTestUtils.writeDataset; import static org.apache.hadoop.fs.contract.ContractTestUtils.writeTextFile; @@ -272,4 +273,21 @@ public abstract class AbstractContractCreateTest extends defaultBlockSize >= minValue); } + @Test + public void testCreateMakesParentDirs() throws Throwable { + describe("check that after creating a file its parent directories exist"); + FileSystem fs = getFileSystem(); + Path grandparent = path("testCreateCreatesAndPopulatesParents"); + Path parent = new Path(grandparent, "parent"); + Path child = new Path(parent, "child"); + touch(fs, child); + assertEquals("List status of parent should include the 1 child file", + 1, fs.listStatus(parent).length); + assertTrue("Parent directory does not appear to be a directory", + fs.getFileStatus(parent).isDirectory()); + assertEquals("List status of grandparent should include the 1 parent dir", + 1, fs.listStatus(grandparent).length); + assertTrue("Grandparent directory does not appear to be a directory", + fs.getFileStatus(grandparent).isDirectory()); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
