You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2010/09/30 02:25:14 UTC

svn commit: r1002909 - /commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java

Author: niallp
Date: Thu Sep 30 00:25:13 2010
New Revision: 1002909

URL: http://svn.apache.org/viewvc?rev=1002909&view=rev
Log:
IO-196 - make test more focused to avoid the intermitent failures

Modified:
    commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java

Modified: commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java?rev=1002909&r1=1002908&r2=1002909&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java (original)
+++ commons/proper/io/trunk/src/test/org/apache/commons/io/monitor/FilesystemObserverTestCase.java Thu Sep 30 00:25:13 2010
@@ -60,13 +60,13 @@ public class FilesystemObserverTestCase 
 
         IOFileFilter files = FileFilterUtils.fileFileFilter();
         IOFileFilter javaSuffix = FileFilterUtils.suffixFileFilter(".java");
-        IOFileFilter fileFilter = FileFilterUtils.andFileFilter(files, javaSuffix);
+        IOFileFilter fileFilter = FileFilterUtils.and(files, javaSuffix);
         
         IOFileFilter directories = FileFilterUtils.directoryFileFilter();
         IOFileFilter visible = HiddenFileFilter.VISIBLE;
-        IOFileFilter dirFilter = FileFilterUtils.andFileFilter(directories, visible);
+        IOFileFilter dirFilter = FileFilterUtils.and(directories, visible);
 
-        IOFileFilter filter = FileFilterUtils.orFileFilter(dirFilter, fileFilter);
+        IOFileFilter filter = FileFilterUtils.or(dirFilter, fileFilter);
         
         createObserver(testDir, filter);
     }
@@ -114,7 +114,8 @@ public class FilesystemObserverTestCase 
             File testDirBFile1 = touch(new File(testDirB, "B-file1.java"));
  
             checkAndNotify();
-            checkCollectionSizes("B", 3, 0, 0, 4, 0, 0);
+            checkDirectoryCounts("B", 3, 0, 0);
+            checkFileCounts("B", 4, 0, 0);
             assertTrue("B testDirA",   listener.getCreatedDirectories().contains(testDirA));
             assertTrue("B testDirB",   listener.getCreatedDirectories().contains(testDirB));
             assertTrue("B testDirC",   listener.getCreatedDirectories().contains(testDirC));
@@ -130,14 +131,16 @@ public class FilesystemObserverTestCase 
             testDirAFile4 = touch(testDirAFile4);
             FileUtils.deleteDirectory(testDirB);
             checkAndNotify();
-            checkCollectionSizes("D", 0, 0, 1, 0, 1, 1);
+            checkDirectoryCounts("D", 0, 0, 1);
+            checkFileCounts("D", 0, 1, 1);
             assertTrue("D testDirB",   listener.getDeletedDirectories().contains(testDirB));
             assertTrue("D testDirAFile4", listener.getChangedFiles().contains(testDirAFile4));
             assertTrue("D testDirBFile1", listener.getDeletedFiles().contains(testDirBFile1));
 
             FileUtils.deleteDirectory(testDir);
             checkAndNotify();
-            checkCollectionSizes("E", 0, 0, 2, 0, 0, 3);
+            checkDirectoryCounts("E", 0, 0, 2);
+            checkFileCounts("E", 0, 0, 3);
             assertTrue("E testDirA",   listener.getDeletedDirectories().contains(testDirA));
             assertTrue("E testDirAFile1", listener.getDeletedFiles().contains(testDirAFile1));
             assertFalse("E testDirAFile2", listener.getDeletedFiles().contains(testDirAFile2));
@@ -174,7 +177,8 @@ public class FilesystemObserverTestCase 
             File testDirAFile5 =       new File(testDirA, "A-file5.java");
  
             checkAndNotify();
-            checkCollectionSizes("B", 1, 0, 0, 2, 0, 0);
+            checkDirectoryCounts("B", 1, 0, 0);
+            checkFileCounts("B", 2, 0, 0);
             assertFalse("B testDirAFile1", listener.getCreatedFiles().contains(testDirAFile1));
             assertTrue("B testDirAFile2",  listener.getCreatedFiles().contains(testDirAFile2));
             assertFalse("B testDirAFile3", listener.getCreatedFiles().contains(testDirAFile3));
@@ -192,25 +196,22 @@ public class FilesystemObserverTestCase 
 
             // Create file with name < first entry
             testDirAFile1 = touch(testDirAFile1);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("D", 0, 1, 0, 1, 0, 0);
+            checkFileCounts("D", 1, 0, 0);
             assertTrue("D testDirAFile1 exists", testDirAFile1.exists());
             assertTrue("D testDirAFile1",  listener.getCreatedFiles().contains(testDirAFile1));
 
             // Create file with name between 2 entries
             testDirAFile3 = touch(testDirAFile3);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("E", 0, 1, 0, 1, 0, 0);
+            checkFileCounts("E", 1, 0, 0);
             assertTrue("E testDirAFile3 exists", testDirAFile3.exists());
             assertTrue("E testDirAFile3",  listener.getCreatedFiles().contains(testDirAFile3));
 
             // Create file with name > last entry
             testDirAFile5 = touch(testDirAFile5);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("F", 0, 1, 0, 1, 0, 0);
+            checkFileCounts("F", 1, 0, 0);
             assertTrue("F testDirAFile5 exists", testDirAFile5.exists());
             assertTrue("F testDirAFile5",  listener.getCreatedFiles().contains(testDirAFile5));
         } catch (Exception e) {
@@ -236,7 +237,8 @@ public class FilesystemObserverTestCase 
             File testDirAFile5 = touch(new File(testDirA, "A-file5.java"));
  
             checkAndNotify();
-            checkCollectionSizes("B", 1, 0, 0, 5, 0, 0);
+            checkDirectoryCounts("B", 1, 0, 0);
+            checkFileCounts("B", 5, 0, 0);
             assertTrue("B testDirAFile1", listener.getCreatedFiles().contains(testDirAFile1));
             assertTrue("B testDirAFile2", listener.getCreatedFiles().contains(testDirAFile2));
             assertTrue("B testDirAFile3", listener.getCreatedFiles().contains(testDirAFile3));
@@ -254,23 +256,20 @@ public class FilesystemObserverTestCase 
 
             // Update first entry
             testDirAFile1 = touch(testDirAFile1);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("D", 0, 1, 0, 0, 1, 0);
+            checkFileCounts("D", 0, 1, 0);
             assertTrue("D testDirAFile1",  listener.getChangedFiles().contains(testDirAFile1));
 
             // Update file with name between 2 entries
             testDirAFile3 = touch(testDirAFile3);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("E", 0, 1, 0, 0, 1, 0);
+            checkFileCounts("E", 0, 1, 0);
             assertTrue("E testDirAFile3",  listener.getChangedFiles().contains(testDirAFile3));
 
             // Update last entry
             testDirAFile5 = touch(testDirAFile5);
-            testDirA      = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("F", 0, 1, 0, 0, 1, 0);
+            checkFileCounts("F", 0, 1, 0);
             assertTrue("F testDirAFile5",  listener.getChangedFiles().contains(testDirAFile5));
         } catch (Exception e) {
             fail("Threw " + e);
@@ -301,7 +300,8 @@ public class FilesystemObserverTestCase 
             assertTrue("B testDirAFile5 exists", testDirAFile5.exists());
 
             checkAndNotify();
-            checkCollectionSizes("B", 1, 0, 0, 5, 0, 0);
+            checkDirectoryCounts("B", 1, 0, 0);
+            checkFileCounts("B", 5, 0, 0);
             assertTrue("B testDirAFile1", listener.getCreatedFiles().contains(testDirAFile1));
             assertTrue("B testDirAFile2", listener.getCreatedFiles().contains(testDirAFile2));
             assertTrue("B testDirAFile3", listener.getCreatedFiles().contains(testDirAFile3));
@@ -313,25 +313,22 @@ public class FilesystemObserverTestCase 
 
             // Delete first entry
             FileUtils.deleteQuietly(testDirAFile1);
-            testDirA = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("D", 0, 1, 0, 0, 0, 1);
+            checkFileCounts("D", 0, 0, 1);
             assertFalse("D testDirAFile1 exists", testDirAFile1.exists());
             assertTrue("D testDirAFile1",  listener.getDeletedFiles().contains(testDirAFile1));
 
             // Delete file with name between 2 entries
             FileUtils.deleteQuietly(testDirAFile3);
-            testDirA = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("E", 0, 1, 0, 0, 0, 1);
+            checkFileCounts("E", 0, 0, 1);
             assertFalse("E testDirAFile3 exists", testDirAFile3.exists());
             assertTrue("E testDirAFile3",  listener.getDeletedFiles().contains(testDirAFile3));
 
             // Delete last entry
             FileUtils.deleteQuietly(testDirAFile5);
-            testDirA = touch(testDirA);
             checkAndNotify();
-            checkCollectionSizes("F", 0, 1, 0, 0, 0, 1);
+            checkFileCounts("F", 0, 0, 1);
             assertFalse("F testDirAFile5 exists", testDirAFile5.exists());
             assertTrue("F testDirAFile5",  listener.getDeletedFiles().contains(testDirAFile5));
 
@@ -363,7 +360,8 @@ public class FilesystemObserverTestCase 
             assertTrue("B testDirAFile2 exists", testDirAFile2.exists());
             assertTrue("B testDirAFile3 exists", testDirAFile3.exists());
             checkAndNotify();
-            checkCollectionSizes("C", 0, 0, 0, 1, 0, 0);
+            checkDirectoryCounts("C", 0, 0, 0);
+            checkFileCounts("C", 1, 0, 0);
             assertTrue("C created", listener.getCreatedFiles().contains(testDirAFile1));
             assertFalse("C created", listener.getCreatedFiles().contains(testDirAFile2));
             assertFalse("C created", listener.getCreatedFiles().contains(testDirAFile3));
@@ -373,7 +371,8 @@ public class FilesystemObserverTestCase 
             testDirAFile2 = touch(testDirAFile2);
             testDirAFile3 = touch(testDirAFile3);
             checkAndNotify();
-            checkCollectionSizes("D", 0, 0, 0, 0, 1, 0);
+            checkDirectoryCounts("D", 0, 0, 0);
+            checkFileCounts("D", 0, 1, 0);
             assertTrue("D changed", listener.getChangedFiles().contains(testDirAFile1));
             assertFalse("D changed", listener.getChangedFiles().contains(testDirAFile2));
             assertFalse("D changed", listener.getChangedFiles().contains(testDirAFile3));
@@ -386,7 +385,8 @@ public class FilesystemObserverTestCase 
             assertFalse("E testDirAFile2 exists", testDirAFile2.exists());
             assertFalse("E testDirAFile3 exists", testDirAFile3.exists());
             checkAndNotify();
-            checkCollectionSizes("E", 0, 0, 0, 0, 0, 1);
+            checkDirectoryCounts("E", 0, 0, 0);
+            checkFileCounts("E", 0, 0, 1);
             assertTrue("E deleted", listener.getDeletedFiles().contains(testDirAFile1));
             assertFalse("E deleted", listener.getDeletedFiles().contains(testDirAFile2));
             assertFalse("E deleted", listener.getDeletedFiles().contains(testDirAFile3));
@@ -409,22 +409,29 @@ public class FilesystemObserverTestCase 
      * Check all the Collections are empty
      */
     private void checkCollectionsEmpty(String label) {
-        checkCollectionSizes("EMPTY-" + label, 0, 0, 0, 0, 0, 0);
+        checkDirectoryCounts("EMPTY-" + label, 0, 0, 0);
+        checkFileCounts("EMPTY-" + label, 0, 0, 0);
     }
 
     /**
-     * Check all the Collections have the expected sizes.
+     * Check all the Directory Collections have the expected sizes.
      */
-    private void checkCollectionSizes(String label, int dirCreate, int dirChange, int dirDelete, int fileCreate, int fileChange, int fileDelete) {
+    private void checkDirectoryCounts(String label, int dirCreate, int dirChange, int dirDelete) {
         label = label + "[" + listener.getCreatedDirectories().size() +
                         " " + listener.getChangedDirectories().size() +
-                        " " + listener.getDeletedDirectories().size() +
-                        " " + listener.getCreatedFiles().size() +
-                        " " + listener.getChangedFiles().size() +
-                        " " + listener.getDeletedFiles().size() + "]";
+                        " " + listener.getDeletedDirectories().size() + "]";
         assertEquals(label + ": No. of directories created",  dirCreate,  listener.getCreatedDirectories().size());
         assertEquals(label + ": No. of directories changed",  dirChange,  listener.getChangedDirectories().size());
         assertEquals(label + ": No. of directories deleted",  dirDelete,  listener.getDeletedDirectories().size());
+    }
+
+    /**
+     * Check all the File Collections have the expected sizes.
+     */
+    private void checkFileCounts(String label, int fileCreate, int fileChange, int fileDelete) {
+        label = label + "[" + listener.getCreatedFiles().size() +
+                        " " + listener.getChangedFiles().size() +
+                        " " + listener.getDeletedFiles().size() + "]";
         assertEquals(label + ": No. of files created", fileCreate, listener.getCreatedFiles().size());
         assertEquals(label + ": No. of files changed", fileChange, listener.getChangedFiles().size());
         assertEquals(label + ": No. of files deleted", fileDelete, listener.getDeletedFiles().size());