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.
|
HDFS-1217. Change some NameNode methods from public to package private.
|
||||||
(Laxman via szetszwo)
|
(Laxman via szetszwo)
|
||||||
|
|
||||||
|
HDFS-2332. Add test for HADOOP-7629 (using an immutable FsPermission
|
||||||
|
object as an RPC parameter fails). (todd)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HDFS-1458. Improve checkpoint performance by avoiding unnecessary image
|
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");
|
final private static Path NON_EXISTENT_FILE = new Path("/NonExistentFile");
|
||||||
|
|
||||||
private FileSystem fs;
|
private FileSystem fs;
|
||||||
|
private MiniDFSCluster cluster;
|
||||||
private static Random r;
|
private static Random r;
|
||||||
|
|
||||||
static {
|
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
|
/** This tests if permission setting in create, mkdir, and
|
||||||
* setPermission works correctly
|
* setPermission works correctly
|
||||||
*/
|
*/
|
||||||
public void testPermissionSetting() throws Exception {
|
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.CREATE); // test file creation
|
||||||
testPermissionSetting(OpType.MKDIRS); // test directory creation
|
testPermissionSetting(OpType.MKDIRS); // test directory creation
|
||||||
} finally {
|
|
||||||
cluster.shutdown();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initFileSystem(short umask) throws Exception {
|
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 */
|
/* check if the ownership of a file/directory is set correctly */
|
||||||
public void testOwnership() throws Exception {
|
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.CREATE); // test file creation
|
||||||
testOwnership(OpType.MKDIRS); // test directory creation
|
testOwnership(OpType.MKDIRS); // test directory creation
|
||||||
} finally {
|
|
||||||
fs.close();
|
|
||||||
cluster.shutdown();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* change a file/directory's owner and group.
|
/* 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
|
/* Check if namenode performs permission checking correctly for
|
||||||
* superuser, file owner, group owner, and other users */
|
* superuser, file owner, group owner, and other users */
|
||||||
public void testPermissionChecking() throws Exception {
|
public void testPermissionChecking() throws Exception {
|
||||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();
|
|
||||||
try {
|
try {
|
||||||
cluster.waitActive();
|
|
||||||
fs = FileSystem.get(conf);
|
fs = FileSystem.get(conf);
|
||||||
|
|
||||||
// set the permission of the root to be world-wide rwx
|
// 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);
|
parentPermissions, permissions, parentPaths, filePaths, dirPaths);
|
||||||
} finally {
|
} finally {
|
||||||
fs.close();
|
fs.close();
|
||||||
cluster.shutdown();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user