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 2014/05/01 12:54:19 UTC

svn commit: r1591597 - in /lucene/dev/branches/branch_4x: ./ lucene/ lucene/core/ lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java

Author: rmuir
Date: Thu May  1 10:54:18 2014
New Revision: 1591597

URL: http://svn.apache.org/r1591597
Log:
improve test to ensure exceptions here really dont abort

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/lucene/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/   (props changed)
    lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java

Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java?rev=1591597&r1=1591596&r2=1591597&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestDocValuesIndexing.java Thu May  1 10:54:18 2014
@@ -45,7 +45,6 @@ import org.apache.lucene.util.LuceneTest
  * 
  */
 @SuppressCodecs("Lucene3x")
-// TODO: fix all tests in here to ensure dv exceptions are non-aborting
 public class TestDocValuesIndexing extends LuceneTestCase {
   /*
    * - add test for multi segment case with deletes
@@ -121,10 +120,11 @@ public class TestDocValuesIndexing exten
     Directory d = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), d);
     Document doc = new Document();
+    doc.add(new NumericDocValuesField("field", 17));
+    w.addDocument(doc);
+    
     // Index doc values are single-valued so we should not
     // be able to add same field more than once:
-    Field f;
-    doc.add(f = new NumericDocValuesField("field", 17));
     doc.add(new BinaryDocValuesField("field", new BytesRef("blah")));
     try {
       w.addDocument(doc);
@@ -133,10 +133,6 @@ public class TestDocValuesIndexing exten
       // expected
     }
 
-    doc = new Document();
-    doc.add(f);
-    w.addDocument(doc);
-    w.forceMerge(1);
     DirectoryReader r = w.getReader();
     w.close();
     assertEquals(17, FieldCache.DEFAULT.getInts(getOnlySegmentReader(r), "field", false).get(0));
@@ -148,10 +144,11 @@ public class TestDocValuesIndexing exten
     Directory d = newDirectory();
     RandomIndexWriter w = new RandomIndexWriter(random(), d);
     Document doc = new Document();
+    doc.add(new NumericDocValuesField("field", 17));
+    w.addDocument(doc);
+    
     // Index doc values are single-valued so we should not
     // be able to add same field more than once:
-    Field f = new NumericDocValuesField("field", 17);
-    doc.add(f);
     doc.add(new SortedDocValuesField("field", new BytesRef("hello")));
     try {
       w.addDocument(doc);
@@ -159,10 +156,6 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException iae) {
       // expected
     }
-    doc = new Document();
-    doc.add(f);
-    w.addDocument(doc);
-    w.forceMerge(1);
     DirectoryReader r = w.getReader();
     assertEquals(17, getOnlySegmentReader(r).getNumericDocValues("field").get(0));
     r.close();
@@ -235,6 +228,8 @@ public class TestDocValuesIndexing exten
   public void testMixedTypesSameDocument() throws Exception {
     Directory dir = newDirectory();
     IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())));
+    w.addDocument(new Document());
+    
     Document doc = new Document();
     doc.add(new NumericDocValuesField("foo", 0));
     doc.add(new SortedDocValuesField("foo", new BytesRef("hello")));
@@ -243,6 +238,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException iae) {
       // expected
     }
+    IndexReader ir = w.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     w.close();
     dir.close();
   }
@@ -262,6 +260,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException iae) {
       // expected
     }
+    IndexReader ir = w.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     w.close();
     dir.close();
   }
@@ -276,6 +277,8 @@ public class TestDocValuesIndexing exten
     IndexWriter iwriter = new IndexWriter(directory, iwc);
     Document doc = new Document();
     doc.add(new SortedDocValuesField("dv", new BytesRef("foo!")));
+    iwriter.addDocument(doc);
+    
     doc.add(new SortedDocValuesField("dv", new BytesRef("bar!")));
     try {
       iwriter.addDocument(doc);
@@ -287,7 +290,9 @@ public class TestDocValuesIndexing exten
         expected.printStackTrace(System.out);
       }
     }
-    
+    IndexReader ir = iwriter.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     iwriter.close();
     directory.close();
   }
@@ -302,6 +307,8 @@ public class TestDocValuesIndexing exten
     IndexWriter iwriter = new IndexWriter(directory, iwc);
     Document doc = new Document();
     doc.add(new BinaryDocValuesField("dv", new BytesRef("foo!")));
+    iwriter.addDocument(doc);
+    
     doc.add(new BinaryDocValuesField("dv", new BytesRef("bar!")));
     try {
       iwriter.addDocument(doc);
@@ -310,6 +317,10 @@ public class TestDocValuesIndexing exten
       // expected
     }
     
+    IndexReader ir = iwriter.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
+    
     iwriter.close();
     directory.close();
   }
@@ -324,6 +335,8 @@ public class TestDocValuesIndexing exten
     IndexWriter iwriter = new IndexWriter(directory, iwc);
     Document doc = new Document();
     doc.add(new NumericDocValuesField("dv", 1));
+    iwriter.addDocument(doc);
+    
     doc.add(new NumericDocValuesField("dv", 2));
     try {
       iwriter.addDocument(doc);
@@ -331,7 +344,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException expected) {
       // expected
     }
-    
+    IndexReader ir = iwriter.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     iwriter.close();
     directory.close();
   }
@@ -345,6 +360,10 @@ public class TestDocValuesIndexing exten
     iwc.setMergePolicy(newLogMergePolicy());
     IndexWriter iwriter = new IndexWriter(directory, iwc);
     Document doc = new Document();
+    doc.add(new SortedDocValuesField("dv", new BytesRef("just fine")));
+    iwriter.addDocument(doc);
+    
+    doc = new Document();
     byte bytes[] = new byte[100000];
     BytesRef b = new BytesRef(bytes);
     random().nextBytes(bytes);
@@ -355,6 +374,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException expected) {
       // expected
     }
+    IndexReader ir = iwriter.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     iwriter.close();
     directory.close();
   }
@@ -369,6 +391,10 @@ public class TestDocValuesIndexing exten
     iwc.setMergePolicy(newLogMergePolicy());
     IndexWriter iwriter = new IndexWriter(directory, iwc);
     Document doc = new Document();
+    doc.add(new SortedSetDocValuesField("dv", new BytesRef("just fine")));
+    iwriter.addDocument(doc);
+    
+    doc = new Document();
     byte bytes[] = new byte[100000];
     BytesRef b = new BytesRef(bytes);
     random().nextBytes(bytes);
@@ -379,6 +405,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException expected) {
       // expected
     }
+    IndexReader ir = iwriter.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     iwriter.close();
     directory.close();
   }
@@ -536,6 +565,9 @@ public class TestDocValuesIndexing exten
     } catch (IllegalArgumentException iae) {
       // expected
     }
+    IndexReader ir = writer.getReader();
+    assertEquals(1, ir.numDocs());
+    ir.close();
     writer.close();
     dir.close();
   }