Tests in mapreduce-client-app are writing outside of target. Contributed by Akira AJISAKA.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/15d577bf Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/15d577bf Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/15d577bf Branch: refs/heads/yarn-2877 Commit: 15d577bfbb3f18fc95251d22378b53aa4210115f Parents: 84d01ad Author: Junping Du <junping...@apache.org> Authored: Wed Nov 25 09:15:26 2015 -0800 Committer: Junping Du <junping...@apache.org> Committed: Wed Nov 25 09:15:26 2015 -0800 ---------------------------------------------------------------------- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../mapreduce/v2/app/TestMRAppMaster.java | 24 +++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/15d577bf/hadoop-mapreduce-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 26a0776..c6e80e7 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -647,6 +647,9 @@ Release 2.8.0 - UNRELEASED MAPREDUCE-6553. Replace '\u2b05' with '<-' in rendering job configuration. (Gabor Liptak via aajisaka) + MAPREDUCE-6557. Tests in mapreduce-client-app are writing outside of + target. (Akira AJISAKA via junping_du) + Release 2.7.3 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/15d577bf/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestMRAppMaster.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestMRAppMaster.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestMRAppMaster.java index 86fa33e..5116491 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestMRAppMaster.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestMRAppMaster.java @@ -87,6 +87,7 @@ import org.apache.hadoop.yarn.util.ConverterUtils; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; +import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; @@ -95,11 +96,13 @@ import org.mockito.Mockito; public class TestMRAppMaster { private static final Log LOG = LogFactory.getLog(TestMRAppMaster.class); - static String stagingDir = "staging/"; + private static final Path TEST_ROOT_DIR = + new Path(System.getProperty("test.build.data", "target/test-dir")); + private static final Path testDir = new Path(TEST_ROOT_DIR, + TestMRAppMaster.class.getName() + "-tmpDir"); + static String stagingDir = new Path(testDir, "staging").toString(); private static FileContext localFS = null; - private static final File testDir = new File("target", - TestMRAppMaster.class.getName() + "-tmpDir").getAbsoluteFile(); - + @BeforeClass public static void setup() throws AccessControlException, FileNotFoundException, IllegalArgumentException, IOException { @@ -108,12 +111,12 @@ public class TestMRAppMaster { File dir = new File(stagingDir); stagingDir = dir.getAbsolutePath(); localFS = FileContext.getLocalFSFileContext(); - localFS.delete(new Path(testDir.getAbsolutePath()), true); - testDir.mkdir(); + localFS.delete(testDir, true); + new File(testDir.toString()).mkdir(); } @Before - public void cleanup() throws IOException { + public void prepare() throws IOException { File dir = new File(stagingDir); if(dir.exists()) { FileUtils.deleteDirectory(dir); @@ -121,6 +124,11 @@ public class TestMRAppMaster { dir.mkdirs(); } + @AfterClass + public static void cleanup() throws IOException { + localFS.delete(testDir, true); + } + @Test public void testMRAppMasterForDifferentUser() throws IOException, InterruptedException { @@ -427,7 +435,7 @@ public class TestMRAppMaster { JobConf conf = new JobConf(); - Path tokenFilePath = new Path(testDir.getAbsolutePath(), "tokens-file"); + Path tokenFilePath = new Path(testDir, "tokens-file"); Map<String, String> newEnv = new HashMap<String, String>(); newEnv.put(UserGroupInformation.HADOOP_TOKEN_FILE_LOCATION, tokenFilePath .toUri().getPath());