You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/11/28 13:29:51 UTC

svn commit: r1207107 - in /lucene/dev/branches/branch_3x: ./ lucene/ lucene/backwards/src/ lucene/backwards/src/test-framework/ lucene/backwards/src/test/ lucene/src/test-framework/java/org/apache/lucene/store/ solr/ solr/contrib/analysis-extras/src/te...

Author: rmuir
Date: Mon Nov 28 12:29:50 2011
New Revision: 1207107

URL: http://svn.apache.org/viewvc?rev=1207107&view=rev
Log:
LUCENE-3601: beef up crash() to use random actions (not based on file count) and to sometimes leave zero-byte files

Modified:
    lucene/dev/branches/branch_3x/   (props changed)
    lucene/dev/branches/branch_3x/lucene/   (props changed)
    lucene/dev/branches/branch_3x/lucene/backwards/src/   (props changed)
    lucene/dev/branches/branch_3x/lucene/backwards/src/test/   (props changed)
    lucene/dev/branches/branch_3x/lucene/backwards/src/test-framework/   (props changed)
    lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java
    lucene/dev/branches/branch_3x/solr/   (props changed)
    lucene/dev/branches/branch_3x/solr/contrib/analysis-extras/src/test-files/analysis-extras/solr/conf/solrconfig-icucollate.xml   (props changed)
    lucene/dev/branches/branch_3x/solr/core/src/test-files/solr/conf/solrconfig-basic.xml   (props changed)
    lucene/dev/branches/branch_3x/solr/solrj/   (props changed)

Modified: lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1207107&r1=1207106&r2=1207107&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/test-framework/java/org/apache/lucene/store/MockDirectoryWrapper.java Mon Nov 28 12:29:50 2011
@@ -205,12 +205,12 @@ public class MockDirectoryWrapper extend
         f.close();
       } catch (Exception ignored) {}
     
-    int count = 0;
     while(it.hasNext()) {
       String name = it.next();
-      if (count % 3 == 0) {
+      int damage = randomState.nextInt(4);
+      if (damage == 0) {
         deleteFile(name, true);
-      } else if (count % 3 == 1) {
+      } else if (damage == 1) {
         // Zero out file entirely
         long length = fileLength(name);
         byte[] zeroes = new byte[256];
@@ -222,13 +222,18 @@ public class MockDirectoryWrapper extend
           upto += limit;
         }
         out.close();
-      } else if (count % 3 == 2) {
-        // Truncate the file:
+      } else if (damage == 2) {
+        // Partially Truncate the file:
         IndexOutput out = delegate.createOutput(name);
         out.setLength(fileLength(name)/2);
         out.close();
+      } else {
+        // Totally truncate the file to zero bytes
+        deleteFile(name, true);
+        IndexOutput out = delegate.createOutput(name);
+        out.setLength(0);
+        out.close();
       }
-      count++;
     }
   }