You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by om...@apache.org on 2011/03/08 05:38:07 UTC

svn commit: r1079131 - in /hadoop/common/branches/yahoo-merge: ./ src/test/core/org/apache/hadoop/fs/

Author: omalley
Date: Tue Mar  8 04:38:07 2011
New Revision: 1079131

URL: http://svn.apache.org/viewvc?rev=1079131&view=rev
Log:
commit 21d84d26a8320ca8cd4d98b6e270dbd18a6ec57c
Author: Eli Collins <el...@apache.org>
Date:   Mon Nov 15 07:30:23 2010 +0000

    HADOOP-6562. FileContextSymlinkBaseTest should use FileContextTestHelper. Contributed by Eli Collins
    
    
    git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1035162 13f79535-47bb-0310-9956-ffa450edef68

Modified:
    hadoop/common/branches/yahoo-merge/CHANGES.txt
    hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextSymlinkBaseTest.java
    hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextTestHelper.java
    hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/TestLocalFSFileContextSymlink.java

Modified: hadoop/common/branches/yahoo-merge/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/CHANGES.txt?rev=1079131&r1=1079130&r2=1079131&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/CHANGES.txt (original)
+++ hadoop/common/branches/yahoo-merge/CHANGES.txt Tue Mar  8 04:38:07 2011
@@ -182,6 +182,8 @@ Trunk (unreleased changes)
 
     HADOOP-7032. Assert type constraints in the FileStatus constructor. (eli)
 
+    HADOOP-6562. FileContextSymlinkBaseTest should use FileContextTestHelper. (eli)
+
   OPTIMIZATIONS
 
     HADOOP-6884. Add LOG.isDebugEnabled() guard for each LOG.debug(..).

Modified: hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextSymlinkBaseTest.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextSymlinkBaseTest.java?rev=1079131&r1=1079130&r2=1079131&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextSymlinkBaseTest.java (original)
+++ hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextSymlinkBaseTest.java Tue Mar  8 04:38:07 2011
@@ -19,8 +19,6 @@ package org.apache.hadoop.fs;
 
 import java.io.*;
 import java.net.URI;
-import java.util.Iterator;
-import java.util.Random;
 import java.util.EnumSet;
 import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.Options.CreateOpts;
@@ -29,7 +27,6 @@ import org.apache.hadoop.fs.permission.F
 import org.apache.hadoop.fs.CreateFlag;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.FSDataOutputStream;
-import org.apache.hadoop.fs.FSDataInputStream;
 import static org.apache.hadoop.fs.FileContextTestHelper.*;
 import static org.junit.Assert.*;
 
@@ -46,10 +43,10 @@ public abstract class FileContextSymlink
   static final int  fileSize  = 16384;
  
   protected static FileContext fc;
-  
+
   abstract protected String getScheme();
-  abstract protected String testBaseDir1();
-  abstract protected String testBaseDir2();
+  abstract protected String testBaseDir1() throws IOException;
+  abstract protected String testBaseDir2() throws IOException;
   abstract protected URI testURI();
 
   protected IOException unwrapException(IOException e) {
@@ -58,64 +55,47 @@ public abstract class FileContextSymlink
 
   protected static void createAndWriteFile(FileContext fc, Path p) 
       throws IOException {
-    FSDataOutputStream out;
-    out = fc.create(p, EnumSet.of(CreateFlag.CREATE),
-                    CreateOpts.createParent(),
-                    CreateOpts.repFac((short) 1),
-                    CreateOpts.blockSize(blockSize));
-    byte[] buf = new byte[fileSize];
-    Random rand = new Random(seed);
-    rand.nextBytes(buf);
-    out.write(buf);
-    out.close();
+    createFile(fc, p, fileSize / blockSize,
+        CreateOpts.createParent(),
+        CreateOpts.repFac((short) 1),
+        CreateOpts.blockSize(blockSize));
   }
-  
+
   protected static void createAndWriteFile(Path p) throws IOException {
     createAndWriteFile(fc, p);
   }
 
-  protected void readFile(Path p) throws IOException {
-    FSDataInputStream out = fc.open(p);
-    byte[] actual = new byte[fileSize];
-    out.readFully(actual);
-    out.close();
+  protected static void readFile(Path p) throws IOException {
+    FileContextTestHelper.readFile(fc, p, fileSize);
   }
 
-  protected void readFile(FileContext fc, Path p) throws IOException {
-    FSDataInputStream out = fc.open(p);
-    byte[] actual = new byte[fileSize];
-    out.readFully(actual);
-    out.close();
+  protected static void readFile(FileContext fc, Path p) throws IOException {
+    FileContextTestHelper.readFile(fc, p, fileSize);
   }
-  
-  protected void appendToFile(Path p) throws IOException {
-    FSDataOutputStream out;
-    out = fc.create(p, EnumSet.of(CreateFlag.APPEND));
-    byte[] buf = new byte[fileSize];
-    Random rand = new Random(seed);
-    rand.nextBytes(buf);
-    out.write(buf);
-    out.close();
+
+  protected static void appendToFile(Path p) throws IOException {
+    FileContextTestHelper.appendToFile(fc, p, fileSize / blockSize, 
+        CreateOpts.blockSize(blockSize));
   }
-  
+
   @Before
   public void setUp() throws Exception {
     fc.mkdir(new Path(testBaseDir1()), FileContext.DEFAULT_PERM, true);
     fc.mkdir(new Path(testBaseDir2()), FileContext.DEFAULT_PERM, true);
   }
-  
+
   @After
   public void tearDown() throws Exception { 
     fc.delete(new Path(testBaseDir1()), true);
     fc.delete(new Path(testBaseDir2()), true);
   } 
-  
+
   @Test
   /** The root is not a symlink */
   public void testStatRoot() throws IOException {
     assertFalse(fc.getFileLinkStatus(new Path("/")).isSymlink());    
   }
-  
+
   @Test
   /** Test setWorkingDirectory not resolves symlinks */
   public void testSetWDNotResolvesLinks() throws IOException {
@@ -125,7 +105,7 @@ public abstract class FileContextSymlink
     fc.setWorkingDirectory(linkToDir);
     assertEquals(linkToDir.getName(), fc.getWorkingDirectory().getName());
   }
-  
+
   @Test
   /** Test create a dangling link */
   public void testCreateDanglingLink() throws IOException {

Modified: hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextTestHelper.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextTestHelper.java?rev=1079131&r1=1079130&r2=1079131&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextTestHelper.java (original)
+++ hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/FileContextTestHelper.java Tue Mar  8 04:38:07 2011
@@ -17,7 +17,6 @@
  */
 package org.apache.hadoop.fs;
 
-
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.FileNotFoundException;
@@ -127,11 +126,25 @@ public final class FileContextTestHelper
     Path path = getTestRootPath(fc, name);
     createFileNonRecursive(fc, path);
   }
+
   public static void createFileNonRecursive(FileContext fc, Path path)
       throws IOException {
     createFile(fc, path, DEFAULT_NUM_BLOCKS, CreateOpts.donotCreateParent());
   }
 
+  public static void appendToFile(FileContext fc, Path path, int numBlocks,
+      CreateOpts... options) throws IOException {
+    BlockSize blockSizeOpt =
+      (BlockSize) CreateOpts.getOpt(CreateOpts.BlockSize.class, options);
+    long blockSize = blockSizeOpt != null ? blockSizeOpt.getValue()
+        : DEFAULT_BLOCK_SIZE;
+    FSDataOutputStream out;
+    out = fc.create(path, EnumSet.of(CreateFlag.APPEND));
+    byte[] data = getFileData(numBlocks, blockSize);
+    out.write(data, 0, data.length);
+    out.close();
+  }
+
   public static boolean exists(FileContext fc, Path p) throws IOException {
     return fc.util().exists(p);
   }
@@ -161,7 +174,7 @@ public final class FileContextTestHelper
   }
   
   public static void writeFile(FileContext fc, Path path, byte b[])
-      throws Exception {
+      throws IOException {
     FSDataOutputStream out = 
       fc.create(path,EnumSet.of(CreateFlag.CREATE), CreateOpts.createParent());
     out.write(b);
@@ -169,13 +182,14 @@ public final class FileContextTestHelper
   }
   
   public static byte[] readFile(FileContext fc, Path path, int len)
-      throws Exception {
+      throws IOException {
     DataInputStream dis = fc.open(path);
     byte[] buffer = new byte[len];
     IOUtils.readFully(dis, buffer, 0, len);
     dis.close();
     return buffer;
   }
+
   public static FileStatus containsPath(FileContext fc, Path path,
       FileStatus[] dirList)
     throws IOException {

Modified: hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/TestLocalFSFileContextSymlink.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/TestLocalFSFileContextSymlink.java?rev=1079131&r1=1079130&r2=1079131&view=diff
==============================================================================
--- hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/TestLocalFSFileContextSymlink.java (original)
+++ hadoop/common/branches/yahoo-merge/src/test/core/org/apache/hadoop/fs/TestLocalFSFileContextSymlink.java Tue Mar  8 04:38:07 2011
@@ -25,6 +25,7 @@ import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.FileUtil;
+import static org.apache.hadoop.fs.FileContextTestHelper.*;
 import static org.junit.Assert.*;
 import org.junit.Test;
 import org.junit.Before;
@@ -38,12 +39,12 @@ public class TestLocalFSFileContextSymli
     return "file";
   }
 
-  protected String testBaseDir1() {
-    return "/tmp/test1";
+  protected String testBaseDir1() throws IOException {
+    return getAbsoluteTestRootDir(fc)+"/test1";
   }
   
-  protected String testBaseDir2() {
-    return "/tmp/test2";
+  protected String testBaseDir2() throws IOException {
+    return getAbsoluteTestRootDir(fc)+"/test2";
   }
 
   protected URI testURI() {
@@ -158,7 +159,7 @@ public class TestLocalFSFileContextSymli
     // RawLocalFs only maintains the path part, not the URI, and
     // therefore does not support links to other file systems.
     Path anotherFs = new Path("hdfs://host:1000/dir/file");
-    FileUtil.fullyDelete(new File("/tmp/test2/linkToFile"));
+    FileUtil.fullyDelete(new File(linkNew.toString()));
     try {
       fc.createSymlink(anotherFs, linkNew, false);
       fail("Created a local fs link to a non-local fs");