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");