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/10/27 01:13:55 UTC

svn commit: r1189532 - in /lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index: ./ codecs/pulsing/

Author: rmuir
Date: Wed Oct 26 23:13:55 2011
New Revision: 1189532

URL: http://svn.apache.org/viewvc?rev=1189532&view=rev
Log:
LUCENE-3490: fix some more tests

Modified:
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/Test2BPostings.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
    lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/codecs/pulsing/TestPulsingReuse.java

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/Test2BPostings.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/Test2BPostings.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/Test2BPostings.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/Test2BPostings.java Wed Oct 26 23:13:55 2011
@@ -27,23 +27,20 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.index.codecs.CodecProvider;
 import org.apache.lucene.store.MockDirectoryWrapper;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util._TestUtil;
+import org.apache.lucene.util.LuceneTestCase.UseNoMemoryExpensiveCodec;
 
 /**
  * Test indexes ~82M docs with 26 terms each, so you get > Integer.MAX_VALUE terms/docs pairs
  * @lucene.experimental
  */
+@UseNoMemoryExpensiveCodec
 public class Test2BPostings extends LuceneTestCase {
 
   @Nightly
   public void test() throws Exception {
-
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("field").equals("Memory"));
-    assumeFalse("This test is super-slow and very disk-space-consuming with SimpleText codec", CodecProvider.getDefault().getFieldCodec("field").equals("SimpleText"));
-
     MockDirectoryWrapper dir = newFSDirectory(_TestUtil.getTempDir("2BPostings"));
     dir.setThrottling(MockDirectoryWrapper.Throttling.NEVER);
     dir.setCheckIndexOnClose(false); // don't double-checkindex

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java Wed Oct 26 23:13:55 2011
@@ -206,7 +206,7 @@ public class TestDoc extends LuceneTestC
       r2.close();
       final FieldInfos fieldInfos =  merger.fieldInfos();
       final SegmentInfo info = new SegmentInfo(merged, si1.docCount + si2.docCount, si1.dir,
-                                               false, merger.getSegmentCodecs(), fieldInfos);
+                                               false, merger.getSegmentFormats(), fieldInfos);
       
       if (useCompoundFile) {
         Collection<String> filesToDelete = merger.createCompoundFile(merged + ".cfs", info, newIOContext(random));

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDocTermOrds.java Wed Oct 26 23:13:55 2011
@@ -33,6 +33,9 @@ import org.apache.lucene.document.TextFi
 import org.apache.lucene.index.DocTermOrds.TermOrdsIterator;
 import org.apache.lucene.index.codecs.BlockTermsReader;
 import org.apache.lucene.index.codecs.BlockTermsWriter;
+import org.apache.lucene.index.codecs.Codec;
+import org.apache.lucene.index.codecs.DefaultFieldsFormat;
+import org.apache.lucene.index.codecs.FieldsFormat;
 import org.apache.lucene.index.codecs.PostingsFormat;
 import org.apache.lucene.index.codecs.CoreCodecProvider;
 import org.apache.lucene.index.codecs.DefaultDocValuesProducer;
@@ -106,13 +109,32 @@ public class TestDocTermOrds extends Luc
     dir.close();
   }
 
-  private static class StandardCodecWithOrds extends PostingsFormat {
-    
+  private static class StandardCodecWithOrds extends Codec {
+    private final PostingsFormat postings = new StandardPostingsFormatWithOrds();
+    private final FieldsFormat fields = new DefaultFieldsFormat();
+
     public StandardCodecWithOrds() {
       super("StandardOrds");
     }
 
     @Override
+    public PostingsFormat postingsFormat() {
+      return postings;
+    }
+
+    @Override
+    public FieldsFormat fieldsFormat() {
+      return fields;
+    }  
+  }
+
+  private static class StandardPostingsFormatWithOrds extends PostingsFormat {
+    
+    public StandardPostingsFormatWithOrds() {
+      super("StandardOrds");
+    }
+
+    @Override
     public FieldsConsumer fieldsConsumer(SegmentWriteState state) throws IOException {
       PostingsWriterBase docs = new Lucene40PostingsWriter(state);
 
@@ -151,7 +173,7 @@ public class TestDocTermOrds extends Luc
 
     @Override
     public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
-      PostingsReaderBase postings = new Lucene40PostingsReader(state.dir, state.segmentInfo, state.context, state.codecId);
+      PostingsReaderBase postings = new Lucene40PostingsReader(state.dir, state.segmentInfo, state.context, state.formatId);
       TermsIndexReaderBase indexReader;
 
       boolean success = false;
@@ -161,7 +183,7 @@ public class TestDocTermOrds extends Luc
                                                    state.segmentInfo.name,
                                                    state.termsIndexDivisor,
                                                    BytesRef.getUTF8SortedAsUnicodeComparator(),
-                                                   state.codecId, state.context);
+                                                   state.formatId, state.context);
         success = true;
       } finally {
         if (!success) {
@@ -178,7 +200,7 @@ public class TestDocTermOrds extends Luc
                                                   postings,
                                                   state.context,
                                                   TERMS_CACHE_SIZE,
-                                                  state.codecId);
+                                                  state.formatId);
         success = true;
         return ret;
       } finally {
@@ -252,9 +274,16 @@ public class TestDocTermOrds extends Luc
     // Sometimes swap in codec that impls ord():
     if (random.nextInt(10) == 7) {
       // Make sure terms index has ords:
-      CoreCodecProvider cp = new CoreCodecProvider();
-      cp.register(new StandardCodecWithOrds());
-      cp.setDefaultFieldCodec("StandardOrds");
+      CoreCodecProvider cp = new CoreCodecProvider() {
+        {
+          register(new StandardCodecWithOrds());
+        }
+
+        @Override
+        public Codec getDefaultCodec() {
+          return lookup("StandardOrds");
+        }
+      };
 
       // So checkIndex on close works
       dir.setCodecProvider(cp);
@@ -355,9 +384,16 @@ public class TestDocTermOrds extends Luc
     // Sometimes swap in codec that impls ord():
     if (random.nextInt(10) == 7) {
       // Make sure terms index has ords:
-      CoreCodecProvider cp = new CoreCodecProvider();
-      cp.register(new StandardCodecWithOrds());
-      cp.setDefaultFieldCodec("StandardOrds");
+      CoreCodecProvider cp = new CoreCodecProvider() {
+        {
+          register(new StandardCodecWithOrds());
+        }
+
+        @Override
+        public Codec getDefaultCodec() {
+          return lookup("StandardOrds");
+        }
+      };
 
       // So checkIndex on close works
       dir.setCodecProvider(cp);

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterCommit.java Wed Oct 26 23:13:55 2011
@@ -28,7 +28,9 @@ import org.apache.lucene.document.Docume
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.index.codecs.Codec;
 import org.apache.lucene.index.codecs.CodecProvider;
+import org.apache.lucene.index.codecs.perfield.PerFieldCodec;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.TermQuery;
@@ -169,8 +171,16 @@ public class TestIndexWriterCommit exten
     // them, the merged result can easily be larger than the
     // sum because the merged FST may use array encoding for
     // some arcs (which uses more space):
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("id").equals("Memory"));
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("content").equals("Memory"));
+
+    // nocommit: make some kind of idiom for this?
+    // or can we just use the annotation? 
+    Codec codec = CodecProvider.getDefault().getDefaultCodec();
+    if (codec instanceof PerFieldCodec) {
+      PerFieldCodec perField = (PerFieldCodec) codec;
+      final String idFormat = perField.getPostingsFormat("id");
+      final String contentFormat = perField.getPostingsFormat("content");
+      assumeFalse("This test cannot run with Memory codec", idFormat.equals("Memory") || contentFormat.equals("Memory"));
+    }
     MockDirectoryWrapper dir = newDirectory();
     Analyzer analyzer;
     if (random.nextBoolean()) {

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterDelete.java Wed Oct 26 23:13:55 2011
@@ -31,7 +31,9 @@ import org.apache.lucene.document.Docume
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.StringField;
 import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.codecs.Codec;
 import org.apache.lucene.index.codecs.CodecProvider;
+import org.apache.lucene.index.codecs.perfield.PerFieldCodec;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.TermQuery;
@@ -897,8 +899,15 @@ public class TestIndexWriterDelete exten
   }
   
   public void testIndexingThenDeleting() throws Exception {
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("field").equals("Memory"));
-    assumeFalse("This test cannot run with SimpleText codec", CodecProvider.getDefault().getFieldCodec("field").equals("SimpleText"));
+    // nocommit: make some kind of idiom for this?
+    // or can we just use the annotation? 
+    Codec codec = CodecProvider.getDefault().getDefaultCodec();
+    if (codec instanceof PerFieldCodec) {
+      PerFieldCodec perField = (PerFieldCodec) codec;
+      final String fieldFormat = perField.getPostingsFormat("field");
+      assumeFalse("This test cannot run with Memory codec", fieldFormat.equals("Memory"));
+      assumeFalse("This test cannot run with SimpleText codec", fieldFormat.equals("SimpleText"));
+    }
     final Random r = random;
     Directory dir = newDirectory();
     // note this test explicitly disables payloads

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java Wed Oct 26 23:13:55 2011
@@ -24,7 +24,9 @@ import org.apache.lucene.document.Docume
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.index.codecs.Codec;
 import org.apache.lucene.index.codecs.CodecProvider;
+import org.apache.lucene.index.codecs.perfield.PerFieldCodec;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.TermQuery;
@@ -154,8 +156,16 @@ public class TestIndexWriterOnDiskFull e
     // them, the merged result can easily be larger than the
     // sum because the merged FST may use array encoding for
     // some arcs (which uses more space):
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("id").equals("Memory"));
-    assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec("content").equals("Memory"));
+
+    // nocommit: make some kind of idiom for this?
+    // or can we just use the annotation? 
+    Codec codec = CodecProvider.getDefault().getDefaultCodec();
+    if (codec instanceof PerFieldCodec) {
+      PerFieldCodec perField = (PerFieldCodec) codec;
+      final String idFormat = perField.getPostingsFormat("id");
+      final String contentFormat = perField.getPostingsFormat("content");
+      assumeFalse("This test cannot run with Memory codec", idFormat.equals("Memory") || contentFormat.equals("Memory"));
+    }
 
     int START_COUNT = 57;
     int NUM_DIR = TEST_NIGHTLY ? 50 : 5;

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Wed Oct 26 23:13:55 2011
@@ -23,7 +23,9 @@ import java.io.Reader;
 import org.apache.lucene.analysis.*;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.TextField;
+import org.apache.lucene.index.codecs.Codec;
 import org.apache.lucene.index.codecs.CodecProvider;
+import org.apache.lucene.index.codecs.perfield.PerFieldCodec;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.ScoreDoc;
@@ -131,8 +133,15 @@ public class TestLazyProxSkipping extend
     }
  
     public void testLazySkipping() throws IOException {
-        assumeFalse("This test cannot run with SimpleText codec", CodecProvider.getDefault().getFieldCodec(this.field).equals("SimpleText"));
-        assumeFalse("This test cannot run with Memory codec", CodecProvider.getDefault().getFieldCodec(this.field).equals("Memory"));
+      // nocommit: make some kind of idiom for this?
+      // or can we just use the annotation? 
+      Codec codec = CodecProvider.getDefault().getDefaultCodec();
+      if (codec instanceof PerFieldCodec) {
+        PerFieldCodec perField = (PerFieldCodec) codec;
+        final String fieldFormat = perField.getPostingsFormat(this.field);
+        assumeFalse("This test cannot run with Memory codec", fieldFormat.equals("Memory"));
+        assumeFalse("This test cannot run with SimpleText codec", fieldFormat.equals("SimpleText"));
+      };
         // test whether only the minimum amount of seeks()
         // are performed
         performTest(5);

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Wed Oct 26 23:13:55 2011
@@ -82,7 +82,7 @@ public class TestSegmentMerger extends L
     final FieldInfos fieldInfos = merger.fieldInfos();
     //Should be able to open a new SegmentReader against the new directory
     SegmentReader mergedReader = SegmentReader.get(false, mergedDir, new SegmentInfo(mergedSegment, docsMerged, mergedDir, false,
-                                                                                     merger.getSegmentCodecs(), fieldInfos),
+                                                                                     merger.getSegmentFormats(), fieldInfos),
                                                    true, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random));
     assertTrue(mergedReader != null);
     assertTrue(mergedReader.numDocs() == 2);

Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/codecs/pulsing/TestPulsingReuse.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/codecs/pulsing/TestPulsingReuse.java?rev=1189532&r1=1189531&r2=1189532&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/codecs/pulsing/TestPulsingReuse.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/codecs/pulsing/TestPulsingReuse.java Wed Oct 26 23:13:55 2011
@@ -170,7 +170,7 @@ public class TestPulsingReuse extends Lu
 
     @Override
     public FieldsProducer fieldsProducer(SegmentReadState state) throws IOException {
-      PostingsReaderBase docsReader = new Lucene40PostingsReader(state.dir, state.segmentInfo, state.context, state.codecId);
+      PostingsReaderBase docsReader = new Lucene40PostingsReader(state.dir, state.segmentInfo, state.context, state.formatId);
       PostingsReaderBase pulsingReaderInner = new PulsingPostingsReader(docsReader);
       PostingsReaderBase pulsingReader = new PulsingPostingsReader(pulsingReaderInner);
       boolean success = false;
@@ -179,7 +179,7 @@ public class TestPulsingReuse extends Lu
                                                       state.dir, state.fieldInfos, state.segmentInfo.name,
                                                       pulsingReader,
                                                       state.context,
-                                                      state.codecId,
+                                                      state.formatId,
                                                       state.termsIndexDivisor);
         success = true;
         return ret;