You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sz...@apache.org on 2009/08/11 23:03:50 UTC

svn commit: r803296 - in /hadoop/common/trunk: CHANGES.txt src/test/core/org/apache/hadoop/fs/TestTrash.java

Author: szetszwo
Date: Tue Aug 11 21:03:50 2009
New Revision: 803296

URL: http://svn.apache.org/viewvc?rev=803296&view=rev
Log:
HADOOP-6188. TestTrash uses java.io.File api but not hadoop FileSystem api.  Contributed by Boris Shkolnik

Modified:
    hadoop/common/trunk/CHANGES.txt
    hadoop/common/trunk/src/test/core/org/apache/hadoop/fs/TestTrash.java

Modified: hadoop/common/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/CHANGES.txt?rev=803296&r1=803295&r2=803296&view=diff
==============================================================================
--- hadoop/common/trunk/CHANGES.txt (original)
+++ hadoop/common/trunk/CHANGES.txt Tue Aug 11 21:03:50 2009
@@ -914,6 +914,9 @@
     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

Modified: hadoop/common/trunk/src/test/core/org/apache/hadoop/fs/TestTrash.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/src/test/core/org/apache/hadoop/fs/TestTrash.java?rev=803296&r1=803295&r2=803296&view=diff
==============================================================================
--- hadoop/common/trunk/src/test/core/org/apache/hadoop/fs/TestTrash.java (original)
+++ hadoop/common/trunk/src/test/core/org/apache/hadoop/fs/TestTrash.java Tue Aug 11 21:03:50 2009
@@ -61,18 +61,22 @@
   
   // 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 @@
         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());
+      
+      System.out.println("Deleting same myFile: myFile.parent=" + myFile.getParent().toUri().getPath() + 
+          "; trashroot="+trashRoot.toUri().getPath() + 
+          "; trashDir=" + trashDir.toUri().getPath());
       
-      int count = countSameDeletedFiles(fs, trashCurrent, myFile.getName());
-      System.out.println("counted " + count + " files " + myFile.getName() + "* in " + trashCurrent);
+      int count = countSameDeletedFiles(fs, trashDir, myFile);
+      System.out.println("counted " + count + " files " + myFile.getName() + "* in " + trashDir);
       assertTrue(count==num_runs);
     }