diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-03 09:41:13 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-10-03 09:46:03 +0000 |
commit | 6b27ae6138a1e924a39806bc1de75ef91c30a5c6 (patch) | |
tree | 0cc184c87011e5f598e34e418662a6d52e3d168b /searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp | |
parent | 6446b42c81bf21f4bbe2772813a27e426e92f157 (diff) |
Prevent eternal loop if bit vectors are shorter than docid limit
Diffstat (limited to 'searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp')
-rw-r--r-- | searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp b/searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp index dd3394db507..23f77a9d9d9 100644 --- a/searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp +++ b/searchlib/src/tests/queryeval/multibitvectoriterator/multibitvectoriterator_test.cpp @@ -578,7 +578,7 @@ createDual(Fixture & f, TermFieldMatchData & tfmd, int32_t docIdLimit) { MultiSearch::Children children; children.push_back(f.createIter(0, false, tfmd, true)); children.push_back(f.createIter(1, false, tfmd, true)); - SearchIterator::UP s = AndSearch::create(std::move(children), false); + SearchIterator::UP s = AndSearch::create(std::move(children), true); s = MultiBitVectorIteratorBase::optimize(std::move(s)); EXPECT_TRUE(s); if (docIdLimit < 0) { @@ -612,12 +612,11 @@ TEST_F("test that short vectors don't spin at end", Fixture) { countUntilEnd(*createDual(f, tfmd, f._bvs[0]->size())); countUntilDocId(*createDual(f, tfmd, f._bvs[0]->size())); - // Below fails with eternal loop - //countUntilDocId(*createDual(f, tfmd, f._bvs[0]->size() + 1)); - //countUntilEnd(*createDual(f, tfmd, f._bvs[0]->size() + 1)); + countUntilDocId(*createDual(f, tfmd, f._bvs[0]->size() + 1)); + countUntilEnd(*createDual(f, tfmd, f._bvs[0]->size() + 1)); - //countUntilDocId(*createDual(f, tfmd, -1)); - //countUntilEnd(*createDual(f, tfmd, -1)); + countUntilDocId(*createDual(f, tfmd, -1)); + countUntilEnd(*createDual(f, tfmd, -1)); } class Verifier : public search::test::SearchIteratorVerifier { |