You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rj...@apache.org on 2015/03/31 21:55:07 UTC
svn commit: r1670454 - in
/lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene:
codecs/lucene50/TestBlockPostingsFormat3.java index/TestOmitPositions.java
Author: rjernst
Date: Tue Mar 31 19:55:07 2015
New Revision: 1670454
URL: http://svn.apache.org/r1670454
Log:
LUCENE-6271: test fixes
Modified:
lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
Modified: lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java?rev=1670454&r1=1670453&r2=1670454&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java (original)
+++ lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java Tue Mar 31 19:55:07 2015
@@ -172,9 +172,10 @@ public class TestBlockPostingsFormat3 ex
// NOTE: we don't assert hasOffsets/hasPositions/hasPayloads because they are allowed to be different
+ boolean bothHavePositions = leftTerms.hasPositions() && rightTerms.hasPositions();
TermsEnum leftTermsEnum = leftTerms.iterator(null);
TermsEnum rightTermsEnum = rightTerms.iterator(null);
- assertTermsEnum(leftTermsEnum, rightTermsEnum, true);
+ assertTermsEnum(leftTermsEnum, rightTermsEnum, true, bothHavePositions);
assertTermsSeeking(leftTerms, rightTerms);
@@ -187,7 +188,7 @@ public class TestBlockPostingsFormat3 ex
// TODO: test start term too
TermsEnum leftIntersection = leftTerms.intersect(automaton, null);
TermsEnum rightIntersection = rightTerms.intersect(automaton, null);
- assertTermsEnum(leftIntersection, rightIntersection, rarely());
+ assertTermsEnum(leftIntersection, rightIntersection, rarely(), bothHavePositions);
}
}
}
@@ -280,7 +281,7 @@ public class TestBlockPostingsFormat3 ex
* checks the terms enum sequentially
* if deep is false, it does a 'shallow' test that doesnt go down to the docsenums
*/
- public void assertTermsEnum(TermsEnum leftTermsEnum, TermsEnum rightTermsEnum, boolean deep) throws Exception {
+ public void assertTermsEnum(TermsEnum leftTermsEnum, TermsEnum rightTermsEnum, boolean deep, boolean hasPositions) throws Exception {
BytesRef term;
Bits randomBits = new RandomBits(MAXDOC, random().nextDouble(), random());
PostingsEnum leftPositions = null;
@@ -292,56 +293,58 @@ public class TestBlockPostingsFormat3 ex
assertEquals(term, rightTermsEnum.next());
assertTermStats(leftTermsEnum, rightTermsEnum);
if (deep) {
- // with payloads + off
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
-
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
- // with payloads only
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
-
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
-
- // with offsets only
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
-
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
-
- // with positions only
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
- assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
-
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
- rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
- assertPositionsSkipping(leftTermsEnum.docFreq(),
- leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
- rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
+ if (hasPositions) {
+ // with payloads + off
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
+
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.ALL),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.ALL));
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.ALL),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.ALL));
+ // with payloads only
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
+
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.PAYLOADS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.PAYLOADS));
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.PAYLOADS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.PAYLOADS));
+
+ // with offsets only
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
+
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.OFFSETS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.OFFSETS));
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.OFFSETS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.OFFSETS));
+
+ // with positions only
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
+ assertDocsAndPositionsEnum(leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
+
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(null, leftPositions, PostingsEnum.POSITIONS),
+ rightPositions = rightTermsEnum.postings(null, rightPositions, PostingsEnum.POSITIONS));
+ assertPositionsSkipping(leftTermsEnum.docFreq(),
+ leftPositions = leftTermsEnum.postings(randomBits, leftPositions, PostingsEnum.POSITIONS),
+ rightPositions = rightTermsEnum.postings(randomBits, rightPositions, PostingsEnum.POSITIONS));
+ }
// with freqs:
assertDocsEnum(leftDocs = leftTermsEnum.postings(null, leftDocs),
@@ -389,11 +392,8 @@ public class TestBlockPostingsFormat3 ex
* checks docs + freqs + positions + payloads, sequentially
*/
public void assertDocsAndPositionsEnum(PostingsEnum leftDocs, PostingsEnum rightDocs) throws Exception {
- if (leftDocs == null || rightDocs == null) {
- assertNull(leftDocs);
- assertNull(rightDocs);
- return;
- }
+ assertNotNull(leftDocs);
+ assertNotNull(rightDocs);
assertEquals(-1, leftDocs.docID());
assertEquals(-1, rightDocs.docID());
int docid;
Modified: lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java?rev=1670454&r1=1670453&r2=1670454&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java (original)
+++ lucene/dev/branches/lucene6271/lucene/core/src/test/org/apache/lucene/index/TestOmitPositions.java Tue Mar 31 19:55:07 2015
@@ -51,7 +51,7 @@ public class TestOmitPositions extends L
IndexReader reader = w.getReader();
w.close();
- assertNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test")));
+ assertNotNull(MultiFields.getTermPositionsEnum(reader, null, "foo", new BytesRef("test")));
PostingsEnum de = TestUtil.docs(random(), reader, "foo", new BytesRef("test"), null, null, PostingsEnum.FREQS);
while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {