aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/diskindex/pagedict4
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@oath.com>2018-04-13 10:08:39 +0000
committerTor Egge <Tor.Egge@oath.com>2018-04-13 10:26:28 +0000
commit22f3b1f8d2cda119f31522cc3b237d22c07d59bb (patch)
tree3a1257ce4656d0b784b57e343083ab5595afd37e /searchlib/src/tests/diskindex/pagedict4
parent35e36bf4319a16834ebfc45707cf0e1daee62dec (diff)
Simplify pagedict4 unit tests by moving ownership of encode and decode
contexts to shared test classes.
Diffstat (limited to 'searchlib/src/tests/diskindex/pagedict4')
-rw-r--r--searchlib/src/tests/diskindex/pagedict4/pagedict4_hugeword_cornercase_test.cpp25
-rw-r--r--searchlib/src/tests/diskindex/pagedict4/pagedict4test.cpp43
2 files changed, 9 insertions, 59 deletions
diff --git a/searchlib/src/tests/diskindex/pagedict4/pagedict4_hugeword_cornercase_test.cpp b/searchlib/src/tests/diskindex/pagedict4/pagedict4_hugeword_cornercase_test.cpp
index 72bd2981eef..b27efa2bb89 100644
--- a/searchlib/src/tests/diskindex/pagedict4/pagedict4_hugeword_cornercase_test.cpp
+++ b/searchlib/src/tests/diskindex/pagedict4/pagedict4_hugeword_cornercase_test.cpp
@@ -7,7 +7,6 @@
#include <vespa/searchlib/test/diskindex/threelevelcountbuffers.h>
#include <vespa/searchlib/test/diskindex/pagedict4_mem_writer.h>
#include <vespa/searchlib/test/diskindex/pagedict4_mem_seq_reader.h>
-#include <vespa/searchlib/test/diskindex/pagedict4_mem_rand_reader.h>
#include <vespa/searchlib/index/postinglistcounts.h>
#include <vespa/log/log.h>
@@ -133,29 +132,16 @@ PostingListCounts makeCounts(uint32_t wantLen)
using StartOffset = search::bitcompression::PageDict4StartOffset;
using Writer = search::diskindex::test::PageDict4MemWriter;
using SeqReader = search::diskindex::test::PageDict4MemSeqReader;
-using RandReader = search::diskindex::test::PageDict4MemRandReader;
void testWords()
{
- using EC = search::bitcompression::PostingListCountFileEncodeContext;
- using DC = search::bitcompression::PostingListCountFileDecodeContext;
-
- EC pe;
- EC spe;
- EC sse;
uint32_t pageBitSize = 32768;
uint32_t startBits = 15 * 3 + 12;
- sse._minChunkDocs = minChunkDocs;
- sse._numWordIds = numWordIds;
- spe.copyParams(sse);
- pe.copyParams(sse);
- Writer w(sse, spe, pe);
uint32_t ssPad = 64;
uint32_t spPad = 64;
uint32_t pPad = 64;
- w.startPad(ssPad, spPad, pPad);
- w.allocWriters();
+ Writer w(minChunkDocs, numWordIds, ssPad, spPad, pPad);
PostingListCounts baseCounts = makeBaseCounts();
PostingListCounts largeCounts = makeCounts(pageBitSize - startBits);
w.addCounts("a", baseCounts);
@@ -165,14 +151,7 @@ void testWords()
w.addCounts("e", baseCounts);
w.flush();
- DC ssd;
- ssd._minChunkDocs = minChunkDocs;
- ssd._numWordIds = numWordIds;
- DC spd;
- spd.copyParams(ssd);
- DC pd;
- pd.copyParams(ssd);
- SeqReader r(ssd, spd, pd, w);
+ SeqReader r(minChunkDocs, numWordIds, w._buffers);
uint64_t checkWordNum = 0;
PostingListCounts counts;
diff --git a/searchlib/src/tests/diskindex/pagedict4/pagedict4test.cpp b/searchlib/src/tests/diskindex/pagedict4/pagedict4test.cpp
index f75c04dee59..e914fe7c559 100644
--- a/searchlib/src/tests/diskindex/pagedict4/pagedict4test.cpp
+++ b/searchlib/src/tests/diskindex/pagedict4/pagedict4test.cpp
@@ -366,9 +366,6 @@ testWords(const std::string &logname,
bool firstWordForcedCommon,
bool lastWordForcedCommon)
{
- typedef search::bitcompression::PostingListCountFileEncodeContext EC;
- typedef search::bitcompression::PostingListCountFileDecodeContext DC;
-
LOG(info, "%s: word test start", logname.c_str());
std::vector<WordCounts> myrand;
makeWords(myrand, rnd, numWordIds, tupleCount,
@@ -384,17 +381,7 @@ testWords(const std::string &logname,
}
LOG(info, "%s: word counts generated", logname.c_str());
- EC pe;
- EC spe;
- EC sse;
-
- sse._minChunkDocs = chunkSize;
- sse._numWordIds = numWordIds;
- spe.copyParams(sse);
- pe.copyParams(sse);
- Writer w(sse, spe, pe);
- w.startPad(ssPad, spPad, pPad);
- w.allocWriters();
+ Writer w(chunkSize, numWordIds, ssPad, spPad, pPad);
PostingListCounts counts;
for (std::vector<WordCounts>::const_iterator
@@ -411,23 +398,15 @@ testWords(const std::string &logname,
"%s: Used %" PRIu64 "+%" PRIu64 "+%" PRIu64
" bits for %d words",
logname.c_str(),
- w._pFileBitSize,
- w._spFileBitSize,
- w._ssFileBitSize,
+ w._buffers._pFileBitSize,
+ w._buffers._spFileBitSize,
+ w._buffers._ssFileBitSize,
(int) myrand.size());
StartOffset checkOffset;
{
- DC ssd;
- ssd._minChunkDocs = chunkSize;
- ssd._numWordIds = numWordIds;
- DC spd;
- spd.copyParams(ssd);
- DC pd;
- pd.copyParams(ssd);
-
- SeqReader r(ssd, spd, pd, w);
+ SeqReader r(chunkSize, numWordIds, w._buffers);
uint64_t wordNum = 1;
uint64_t checkWordNum = 0;
@@ -444,20 +423,12 @@ testWords(const std::string &logname,
checkOffset._fileOffset += counts._bitLength;
checkOffset._accNumDocs += counts._numDocs;
}
- assert(pd.getReadOffset() == w._pFileBitSize);
+ assert(r._decoders.pd.getReadOffset() == w._buffers._pFileBitSize);
LOG(info, "%s: words seqRead test OK", logname.c_str());
}
{
- DC ssd;
- ssd._minChunkDocs = chunkSize;
- ssd._numWordIds = numWordIds;
- DC spd;
- spd.copyParams(ssd);
- DC pd;
- pd.copyParams(ssd);
-
- RandReader rr(ssd, spd, pd, w);
+ RandReader rr(chunkSize, numWordIds, w._buffers);
uint64_t wordNum = 1;
uint64_t checkWordNum = 0;