diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java index b427f399a0d..a61e9389a5e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java @@ -34,12 +34,15 @@ import org.apache.hadoop.io.Text; import org.apache.hadoop.io.SequenceFile.CompressionType; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.MRJobConfig; + import org.junit.After; -import org.junit.Assert; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -97,15 +100,15 @@ public class TestClientDistributedCacheManager { FileStatus firstStatus = statCache.get(firstCacheFile.toUri()); FileStatus secondStatus = statCache.get(secondCacheFile.toUri()); - Assert.assertNotNull(firstCacheFile + " was not found in the stats cache", + assertNotNull(firstCacheFile + " was not found in the stats cache", firstStatus); - Assert.assertNotNull(secondCacheFile + " was not found in the stats cache", + assertNotNull(secondCacheFile + " was not found in the stats cache", secondStatus); - Assert.assertEquals("Missing/extra entries found in the stas cache", + assertEquals("Missing/extra entries found in the stats cache", 2, statCache.size()); String expected = firstStatus.getModificationTime() + "," + secondStatus.getModificationTime(); - Assert.assertEquals(expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); + assertEquals(expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); job = Job.getInstance(conf); job.addCacheFile(new Path(TEST_VISIBILITY_CHILD_DIR, "*").toUri()); @@ -115,12 +118,12 @@ public class TestClientDistributedCacheManager { FileStatus thirdStatus = statCache.get(TEST_VISIBILITY_CHILD_DIR.toUri()); - Assert.assertEquals("Missing/extra entries found in the stas cache", + assertEquals("Missing/extra entries found in the stats cache", 1, statCache.size()); - Assert.assertNotNull(TEST_VISIBILITY_CHILD_DIR + assertNotNull(TEST_VISIBILITY_CHILD_DIR + " was not found in the stats cache", thirdStatus); expected = Long.toString(thirdStatus.getModificationTime()); - Assert.assertEquals("Incorrect timestamp for " + TEST_VISIBILITY_CHILD_DIR, + assertEquals("Incorrect timestamp for " + TEST_VISIBILITY_CHILD_DIR, expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); } @@ -141,6 +144,11 @@ public class TestClientDistributedCacheManager { job.addCacheFile(relativePath.toUri()); jobConf = job.getConfiguration(); + // skip test if scratch dir is not PUBLIC + assumeTrue(TEST_VISIBILITY_PARENT_DIR + " is not public", + ClientDistributedCacheManager.isPublic( + jobConf, TEST_VISIBILITY_PARENT_DIR.toUri(), statCache)); + ClientDistributedCacheManager.determineCacheVisibilities(jobConf, statCache); // We use get() instead of getBoolean() so we can tell the difference