You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2010/09/29 18:35:48 UTC

svn commit: r1002724 - in /lucene/dev/trunk/lucene/src/test/org/apache/lucene/index: TestFieldsReader.java TestMultiLevelSkipList.java

Author: simonw
Date: Wed Sep 29 16:35:48 2010
New Revision: 1002724

URL: http://svn.apache.org/viewvc?rev=1002724&view=rev
Log:
LUCENE-2677: Tests failing when run with tests.iter > 1

Modified:
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java?rev=1002724&r1=1002723&r2=1002724&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestFieldsReader.java Wed Sep 29 16:35:48 2010
@@ -61,6 +61,7 @@ public class TestFieldsReader extends Lu
     IndexWriter writer = new IndexWriter(dir, conf);
     writer.addDocument(testDoc);
     writer.close();
+    FaultyIndexInput.doFail = false;
   }
 
   @Override

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=1002724&r1=1002723&r2=1002724&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Wed Sep 29 16:35:48 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.index;
 
 import java.io.IOException;
 import java.io.Reader;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.MockTokenizer;
@@ -26,16 +27,16 @@ import org.apache.lucene.analysis.TokenF
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
 import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
 import org.apache.lucene.document.Field.Index;
 import org.apache.lucene.document.Field.Store;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.IndexInput;
 import org.apache.lucene.store.MockDirectoryWrapper;
 import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util._TestUtil;
-import org.apache.lucene.util.BytesRef;
+import org.junit.Before;
 
 /**
  * This testcase tests whether multi-level skipping is being used
@@ -59,6 +60,12 @@ public class TestMultiLevelSkipList exte
       return in;
     }
   }
+  
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+    counter = 0;
+  }
 
   public void testSimpleSkip() throws IOException {
     Directory dir = new CountingRAMDirectory(new RAMDirectory());
@@ -73,7 +80,7 @@ public class TestMultiLevelSkipList exte
     writer.optimize();
     writer.close();
 
-    IndexReader reader = SegmentReader.getOnlySegmentReader(dir);
+    IndexReader reader = SegmentReader.getOnlySegmentReader(IndexReader.open(dir));
     
     for (int i = 0; i < 2; i++) {
       counter = 0;
@@ -106,20 +113,22 @@ public class TestMultiLevelSkipList exte
   }
 
   private static class PayloadAnalyzer extends Analyzer {
+    private final AtomicInteger payloadCount = new AtomicInteger(-1);
     @Override
     public TokenStream tokenStream(String fieldName, Reader reader) {
-      return new PayloadFilter(new MockTokenizer(reader, MockTokenizer.WHITESPACE, true));
+      return new PayloadFilter(payloadCount, new MockTokenizer(reader, MockTokenizer.WHITESPACE, true));
     }
 
   }
 
   private static class PayloadFilter extends TokenFilter {
-    static int count = 0;
     
     PayloadAttribute payloadAtt;
+    private AtomicInteger payloadCount;
     
-    protected PayloadFilter(TokenStream input) {
+    protected PayloadFilter(AtomicInteger payloadCount , TokenStream input) {
       super(input);
+      this.payloadCount = payloadCount;
       payloadAtt = addAttribute(PayloadAttribute.class);
     }
 
@@ -127,7 +136,7 @@ public class TestMultiLevelSkipList exte
     public boolean incrementToken() throws IOException {
       boolean hasNext = input.incrementToken();
       if (hasNext) {
-        payloadAtt.setPayload(new Payload(new byte[] { (byte) count++ }));
+        payloadAtt.setPayload(new Payload(new byte[] { (byte) payloadCount.incrementAndGet() }));
       } 
       return hasNext;
     }