From a2f3ab9f4eaff84b1c22d7f15361c3f019ad1ad3 Mon Sep 17 00:00:00 2001 From: Masatake Iwasaki Date: Sat, 13 Feb 2016 14:59:38 +0900 Subject: [PATCH] HADOOP-12589. Fix intermittent test failure of TestCopyPreserveFlag (iwasakims) (cherry picked from commit 36ba5cac37dee6b60e607401ac06d263e4ac5d8f) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../apache/hadoop/fs/contract/localfs/LocalFSContract.java | 6 +++--- .../org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java | 5 ++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index c3000451343..3ea31ef1a30 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -874,6 +874,9 @@ Release 2.6.5 - UNRELEASED HADOOP-12773. HBase classes fail to load with client/job classloader enabled (sjlee) + HADOOP-12589. Fix intermittent test failure of TestCopyPreserveFlag + (iwasakims) + Release 2.6.4 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/localfs/LocalFSContract.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/localfs/LocalFSContract.java index 8053335b9f8..74906fac214 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/localfs/LocalFSContract.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/localfs/LocalFSContract.java @@ -20,6 +20,7 @@ package org.apache.hadoop.fs.contract.localfs; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.FileSystemTestHelper; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.contract.AbstractFSContract; import org.apache.hadoop.fs.contract.ContractOptions; @@ -39,9 +40,8 @@ import java.io.IOException; public class LocalFSContract extends AbstractFSContract { public static final String CONTRACT_XML = "contract/localfs.xml"; - public static final String SYSPROP_TEST_BUILD_DATA = "test.build.data"; - public static final String DEFAULT_TEST_BUILD_DATA_DIR = "test/build/data"; private FileSystem fs; + private String testDataDir = new FileSystemTestHelper().getTestRootDir(); public LocalFSContract(Configuration conf) { super(conf); @@ -111,6 +111,6 @@ public class LocalFSContract extends AbstractFSContract { * @return the directory for test data */ protected String getTestDataDir() { - return System.getProperty(SYSPROP_TEST_BUILD_DATA, DEFAULT_TEST_BUILD_DATA_DIR); + return testDataDir; } } diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java index ecfb5a5c33c..f9827cae6d0 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java @@ -25,6 +25,7 @@ import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.FileSystemTestHelper; import org.apache.hadoop.fs.LocalFileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.permission.FsAction; @@ -54,9 +55,7 @@ public class TestCopyPreserveFlag { conf = new Configuration(false); conf.set("fs.file.impl", LocalFileSystem.class.getName()); fs = FileSystem.getLocal(conf); - testDir = new Path( - System.getProperty("test.build.data", "build/test/data") + "/testStat" - ); + testDir = new FileSystemTestHelper().getTestRootPath(fs); // don't want scheme on the path, just an absolute path testDir = new Path(fs.makeQualified(testDir).toUri().getPath());