You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/03/06 16:12:33 UTC

svn commit: r1297518 - in /lucene/dev/trunk/lucene: core/src/java/org/apache/lucene/util/packed/ core/src/test/org/apache/lucene/codecs/lucene3x/ test-framework/src/java/org/apache/lucene/codecs/lucene3x/

Author: mikemccand
Date: Tue Mar  6 15:12:32 2012
New Revision: 1297518

URL: http://svn.apache.org/viewvc?rev=1297518&view=rev
Log:
LUCENE-3851: fix test bug; add asserts

Modified:
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed32.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
    lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene3x/TestTermInfosReaderIndex.java
    lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/TermInfosWriter.java

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct16.java Tue Mar  6 15:12:32 2012
@@ -69,6 +69,7 @@ class Direct16 extends PackedInts.Reader
   }
 
   public long get(final int index) {
+    assert index >= 0 && index < size();
     return 0xFFFFL & values[index];
   }
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct32.java Tue Mar  6 15:12:32 2012
@@ -65,6 +65,7 @@ class Direct32 extends PackedInts.Reader
   }
 
   public long get(final int index) {
+    assert index >= 0 && index < size();
     return 0xFFFFFFFFL & values[index];
   }
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct64.java Tue Mar  6 15:12:32 2012
@@ -61,6 +61,7 @@ class Direct64 extends PackedInts.Reader
   }
 
   public long get(final int index) {
+    assert index >= 0 && index < size();
     return values[index];
   }
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Direct8.java Tue Mar  6 15:12:32 2012
@@ -70,6 +70,7 @@ class Direct8 extends PackedInts.ReaderI
   }
 
   public long get(final int index) {
+    assert index >= 0 && index < size();
     return 0xFFL & values[index];
   }
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed32.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed32.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed32.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed32.java Tue Mar  6 15:12:32 2012
@@ -186,6 +186,7 @@ class Packed32 extends PackedInts.Reader
    * @return the value at the given index.
    */
   public long get(final int index) {
+    assert index >= 0 && index < size();
     final long majorBitPos = (long)index * bitsPerValue;
     final int elementPos = (int)(majorBitPos >>> BLOCK_BITS); // / BLOCK_SIZE
     final int bitPos =     (int)(majorBitPos & MOD_MASK); // % BLOCK_SIZE);

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/util/packed/Packed64.java Tue Mar  6 15:12:32 2012
@@ -176,6 +176,7 @@ class Packed64 extends PackedInts.Reader
    * @return the value at the given index.
    */
   public long get(final int index) {
+    assert index >= 0 && index < size();
     final long majorBitPos = (long)index * bitsPerValue;
     final int elementPos = (int)(majorBitPos >>> BLOCK_BITS); // / BLOCK_SIZE
     final int bitPos =     (int)(majorBitPos & MOD_MASK); // % BLOCK_SIZE);

Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene3x/TestTermInfosReaderIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene3x/TestTermInfosReaderIndex.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene3x/TestTermInfosReaderIndex.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/lucene3x/TestTermInfosReaderIndex.java Tue Mar  6 15:12:32 2012
@@ -25,12 +25,7 @@ import java.util.Random;
 
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenizer;
-import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.FieldInfosReader;
-import org.apache.lucene.codecs.lucene3x.Lucene3xPostingsFormat;
-import org.apache.lucene.codecs.lucene3x.PreFlexRWCodec;
-import org.apache.lucene.codecs.lucene3x.SegmentTermEnum;
-import org.apache.lucene.codecs.lucene3x.TermInfosReaderIndex;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.CorruptIndexException;
@@ -86,8 +81,8 @@ public class TestTermInfosReaderIndex ex
     directory = newDirectory();
 
     config.setCodec(new PreFlexRWCodec());
-    // turn off compound file, this test will open some index files directly.
     LogMergePolicy mp = newLogMergePolicy();
+    // turn off compound file, this test will open some index files directly.
     mp.setUseCompoundFile(false);
     config.setMergePolicy(mp);
 
@@ -182,9 +177,16 @@ public class TestTermInfosReaderIndex ex
     int termPosition = index * termIndexInterval * indexDivisor;
     for (int i = 0; i < termPosition; i++) {
       // TODO: this test just uses random terms, so this is always possible
-      assumeTrue("ran out of terms.", termEnum.next());
+      assumeTrue("ran out of terms", termEnum.next());
     }
-    return termEnum.term();
+    final Term term = termEnum.term();
+    // An indexed term is only written when the term after
+    // it exists, so, if the number of terms is 0 mod
+    // termIndexInterval, the last index term will not be
+    // written; so we require a term after this term
+    // as well:
+    assumeTrue("ran out of terms", termEnum.next());
+    return term;
   }
 
   private static void populate(Directory directory, IndexWriterConfig config) throws CorruptIndexException, LockObtainFailedException, IOException {

Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/TermInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/TermInfosWriter.java?rev=1297518&r1=1297517&r2=1297518&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/TermInfosWriter.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/TermInfosWriter.java Tue Mar  6 15:12:32 2012
@@ -210,9 +210,9 @@ final class TermInfosWriter implements C
     assert ti.freqPointer >= lastTi.freqPointer: "freqPointer out of order (" + ti.freqPointer + " < " + lastTi.freqPointer + ")";
     assert ti.proxPointer >= lastTi.proxPointer: "proxPointer out of order (" + ti.proxPointer + " < " + lastTi.proxPointer + ")";
 
-    if (!isIndex && size % indexInterval == 0)
+    if (!isIndex && size % indexInterval == 0) {
       other.add(lastFieldNumber, lastTerm, lastTi);                      // add an index term
-
+    }
     writeTerm(fieldNumber, term);                        // write term
 
     output.writeVInt(ti.docFreq);                       // write doc freq