HADOOP-6188. TestTrash uses java.io.File api but not hadoop FileSystem api. Contributed by Boris Shkolnik
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@803296 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d70dd1a2df
commit
38a84a6c98
@ -914,6 +914,9 @@ Trunk (unreleased changes)
|
||||
HADOOP-6177. FSInputChecker.getPos() would return position greater
|
||||
than the file size. (Hong Tang via hairong)
|
||||
|
||||
HADOOP-6188. TestTrash uses java.io.File api but not hadoop FileSystem api.
|
||||
(Boris Shkolnik via szetszwo)
|
||||
|
||||
Release 0.20.1 - Unreleased
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -61,18 +61,22 @@ protected static void checkTrash(FileSystem fs, Path trashRoot,
|
||||
|
||||
// counts how many instances of the file are in the Trash
|
||||
// they all are in format fileName*
|
||||
protected static int countSameDeletedFiles(FileSystem fs, final File trashDir,
|
||||
final String fileName) throws IOException {
|
||||
System.out.println("Counting " + fileName + " in " + trashDir.getAbsolutePath());
|
||||
String [] res = trashDir.list(
|
||||
new FilenameFilter() {
|
||||
public boolean accept(File dir, String name) {
|
||||
return name.startsWith(fileName);
|
||||
}
|
||||
}
|
||||
);
|
||||
protected static int countSameDeletedFiles(FileSystem fs,
|
||||
Path trashDir, Path fileName) throws IOException {
|
||||
|
||||
return res.length;
|
||||
final String prefix = fileName.getName();
|
||||
System.out.println("Counting " + fileName + " in " + trashDir.toString());
|
||||
|
||||
// filter that matches all the files that start with fileName*
|
||||
PathFilter pf = new PathFilter() {
|
||||
public boolean accept(Path file) {
|
||||
return file.getName().startsWith(prefix);
|
||||
}
|
||||
};
|
||||
// run the filter
|
||||
FileStatus [] fss = fs.listStatus(trashDir, pf);
|
||||
|
||||
return fss==null? 0 : fss.length;
|
||||
}
|
||||
|
||||
// check that the specified file is not in Trash
|
||||
@ -358,10 +362,14 @@ protected static void trashShell(final FileSystem fs, final Path base)
|
||||
assertTrue(val==0);
|
||||
}
|
||||
// current trash directory
|
||||
File trashCurrent = new File(trashRoot.toUri().getPath() + myFile.getParent().toUri().getPath());
|
||||
Path trashDir = new Path(trashRoot.toUri().getPath() + myFile.getParent().toUri().getPath());
|
||||
|
||||
int count = countSameDeletedFiles(fs, trashCurrent, myFile.getName());
|
||||
System.out.println("counted " + count + " files " + myFile.getName() + "* in " + trashCurrent);
|
||||
System.out.println("Deleting same myFile: myFile.parent=" + myFile.getParent().toUri().getPath() +
|
||||
"; trashroot="+trashRoot.toUri().getPath() +
|
||||
"; trashDir=" + trashDir.toUri().getPath());
|
||||
|
||||
int count = countSameDeletedFiles(fs, trashDir, myFile);
|
||||
System.out.println("counted " + count + " files " + myFile.getName() + "* in " + trashDir);
|
||||
assertTrue(count==num_runs);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user