HDFS-11132. Allow AccessControlException in contract tests when getFileStatus on subdirectory of existing files. Contributed by Vishwajeet Dusane

(cherry picked from commit 19f373a46b)

Conflicts:
	hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/FileSystemContractBaseTest.java
This commit is contained in:
John Zhuge 2017-03-20 21:29:17 -07:00
parent c7b6e0dd6e
commit e792f1671d
2 changed files with 34 additions and 8 deletions

View File

@ -29,6 +29,7 @@ import org.apache.hadoop.HadoopIllegalArgumentException;
import org.apache.hadoop.fs.Options.CreateOpts;
import org.apache.hadoop.fs.Options.Rename;
import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.hadoop.security.AccessControlException;
import org.apache.hadoop.test.GenericTestUtils;
import org.junit.After;
import org.junit.Assert;
@ -251,8 +252,14 @@ public abstract class FileContextMainOperationsBaseTest {
} catch (IOException e) {
// expected
}
Assert.assertFalse(exists(fc, testSubDir));
try {
Assert.assertFalse(exists(fc, testSubDir));
} catch (AccessControlException e) {
// Expected : HDFS-11132 Checks on paths under file may be rejected by
// file missing execute permission.
}
Path testDeepSubDir = getTestRootPath(fc, "test/hadoop/file/deep/sub/dir");
try {
fc.mkdir(testDeepSubDir, FsPermission.getDefault(), true);
@ -260,8 +267,14 @@ public abstract class FileContextMainOperationsBaseTest {
} catch (IOException e) {
// expected
}
Assert.assertFalse(exists(fc, testDeepSubDir));
try {
Assert.assertFalse(exists(fc, testDeepSubDir));
} catch (AccessControlException e) {
// Expected : HDFS-11132 Checks on paths under file may be rejected by
// file missing execute permission.
}
}
@Test

View File

@ -28,6 +28,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.hadoop.security.AccessControlException;
/**
* <p>
@ -137,8 +138,14 @@ public abstract class FileSystemContractBaseTest extends TestCase {
} catch (IOException e) {
// expected
}
assertFalse(fs.exists(testSubDir));
try {
assertFalse(fs.exists(testSubDir));
} catch (AccessControlException e) {
// Expected : HDFS-11132 Checks on paths under file may be rejected by
// file missing execute permission.
}
Path testDeepSubDir = path("/test/hadoop/file/deep/sub/dir");
try {
fs.mkdirs(testDeepSubDir);
@ -146,8 +153,14 @@ public abstract class FileSystemContractBaseTest extends TestCase {
} catch (IOException e) {
// expected
}
assertFalse(fs.exists(testDeepSubDir));
try {
assertFalse(fs.exists(testDeepSubDir));
} catch (AccessControlException e) {
// Expected : HDFS-11132 Checks on paths under file may be rejected by
// file missing execute permission.
}
}
public void testMkdirsWithUmask() throws Exception {