HDFS-2332. Add test for HADOOP-7629 (using an immutable FsPermission object as an RPC parameter fails). Contributed by Todd Lipcon.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1176692 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5f6adcf396
commit
eb3a692a57
@ -757,6 +757,9 @@ Release 0.23.0 - Unreleased
|
||||
HDFS-1217. Change some NameNode methods from public to package private.
|
||||
(Laxman via szetszwo)
|
||||
|
||||
HDFS-2332. Add test for HADOOP-7629 (using an immutable FsPermission
|
||||
object as an RPC parameter fails). (todd)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-1458. Improve checkpoint performance by avoiding unnecessary image
|
||||
|
@ -72,6 +72,7 @@ public class TestDFSPermission extends TestCase {
|
||||
final private static Path NON_EXISTENT_FILE = new Path("/NonExistentFile");
|
||||
|
||||
private FileSystem fs;
|
||||
private MiniDFSCluster cluster;
|
||||
private static Random r;
|
||||
|
||||
static {
|
||||
@ -105,18 +106,25 @@ public class TestDFSPermission extends TestCase {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUp() throws IOException {
|
||||
cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();
|
||||
cluster.waitActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tearDown() throws IOException {
|
||||
if (cluster != null) {
|
||||
cluster.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
/** This tests if permission setting in create, mkdir, and
|
||||
* setPermission works correctly
|
||||
*/
|
||||
public void testPermissionSetting() throws Exception {
|
||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();
|
||||
try {
|
||||
cluster.waitActive();
|
||||
testPermissionSetting(OpType.CREATE); // test file creation
|
||||
testPermissionSetting(OpType.MKDIRS); // test directory creation
|
||||
} finally {
|
||||
cluster.shutdown();
|
||||
}
|
||||
testPermissionSetting(OpType.CREATE); // test file creation
|
||||
testPermissionSetting(OpType.MKDIRS); // test directory creation
|
||||
}
|
||||
|
||||
private void initFileSystem(short umask) throws Exception {
|
||||
@ -245,17 +253,22 @@ private void checkPermission(Path name, short expectedPermission,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* check that ImmutableFsPermission can be used as the argument
|
||||
* to setPermission
|
||||
*/
|
||||
public void testImmutableFsPermission() throws IOException {
|
||||
fs = FileSystem.get(conf);
|
||||
|
||||
// set the permission of the root to be world-wide rwx
|
||||
fs.setPermission(new Path("/"),
|
||||
FsPermission.createImmutable((short)0777));
|
||||
}
|
||||
|
||||
/* check if the ownership of a file/directory is set correctly */
|
||||
public void testOwnership() throws Exception {
|
||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();
|
||||
try {
|
||||
cluster.waitActive();
|
||||
testOwnership(OpType.CREATE); // test file creation
|
||||
testOwnership(OpType.MKDIRS); // test directory creation
|
||||
} finally {
|
||||
fs.close();
|
||||
cluster.shutdown();
|
||||
}
|
||||
testOwnership(OpType.CREATE); // test file creation
|
||||
testOwnership(OpType.MKDIRS); // test directory creation
|
||||
}
|
||||
|
||||
/* change a file/directory's owner and group.
|
||||
@ -342,9 +355,7 @@ private enum OpType {CREATE, MKDIRS, OPEN, SET_REPLICATION,
|
||||
/* Check if namenode performs permission checking correctly for
|
||||
* superuser, file owner, group owner, and other users */
|
||||
public void testPermissionChecking() throws Exception {
|
||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();
|
||||
try {
|
||||
cluster.waitActive();
|
||||
fs = FileSystem.get(conf);
|
||||
|
||||
// set the permission of the root to be world-wide rwx
|
||||
@ -401,7 +412,6 @@ public void testPermissionChecking() throws Exception {
|
||||
parentPermissions, permissions, parentPaths, filePaths, dirPaths);
|
||||
} finally {
|
||||
fs.close();
|
||||
cluster.shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user