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

(cherry picked from commit 36ba5cac37)
This commit is contained in:
Masatake Iwasaki 2016-02-13 14:59:38 +09:00
parent 81f8927050
commit a2f3ab9f4e
3 changed files with 8 additions and 6 deletions

View File

@ -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

View File

@ -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;
}
}

View File

@ -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());