瀏覽代碼

HADOOP-12589. Fix intermittent test failure of TestCopyPreserveFlag (iwasakims)

(cherry picked from commit 36ba5cac37dee6b60e607401ac06d263e4ac5d8f)
Masatake Iwasaki 9 年之前
父節點
當前提交
e0fccc9c94

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -1880,6 +1880,9 @@ Release 2.6.5 - UNRELEASED
     HADOOP-12773. HBase classes fail to load with client/job classloader
     HADOOP-12773. HBase classes fail to load with client/job classloader
     enabled (sjlee)
     enabled (sjlee)
 
 
+    HADOOP-12589. Fix intermittent test failure of TestCopyPreserveFlag
+    (iwasakims)
+
 Release 2.6.4 - UNRELEASED
 Release 2.6.4 - UNRELEASED
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 3 - 3
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.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.FileSystemTestHelper;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 import org.apache.hadoop.fs.contract.AbstractFSContract;
 import org.apache.hadoop.fs.contract.ContractOptions;
 import org.apache.hadoop.fs.contract.ContractOptions;
@@ -39,9 +40,8 @@ import java.io.IOException;
 public class LocalFSContract extends AbstractFSContract {
 public class LocalFSContract extends AbstractFSContract {
 
 
   public static final String CONTRACT_XML = "contract/localfs.xml";
   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 FileSystem fs;
+  private String testDataDir = new FileSystemTestHelper().getTestRootDir();
 
 
   public LocalFSContract(Configuration conf) {
   public LocalFSContract(Configuration conf) {
     super(conf);
     super(conf);
@@ -111,6 +111,6 @@ public class LocalFSContract extends AbstractFSContract {
    * @return the directory for test data
    * @return the directory for test data
    */
    */
   protected String getTestDataDir() {
   protected String getTestDataDir() {
-    return System.getProperty(SYSPROP_TEST_BUILD_DATA, DEFAULT_TEST_BUILD_DATA_DIR);
+    return testDataDir;
   }
   }
 }
 }

+ 2 - 3
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/shell/TestCopyPreserveFlag.java

@@ -26,6 +26,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.FileSystemTestHelper;
 import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsAction;
 import org.apache.hadoop.fs.permission.FsAction;
@@ -59,9 +60,7 @@ public class TestCopyPreserveFlag {
     conf = new Configuration(false);
     conf = new Configuration(false);
     conf.set("fs.file.impl", LocalFileSystem.class.getName());
     conf.set("fs.file.impl", LocalFileSystem.class.getName());
     fs = FileSystem.getLocal(conf);
     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
     // don't want scheme on the path, just an absolute path
     testDir = new Path(fs.makeQualified(testDir).toUri().getPath());
     testDir = new Path(fs.makeQualified(testDir).toUri().getPath());