diff options
Diffstat (limited to 'searchlib/src/tests/attribute')
-rw-r--r-- | searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp | 13 | ||||
-rw-r--r-- | searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp b/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp index d51ec22a54a..1d66eefaff7 100644 --- a/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp +++ b/searchlib/src/tests/attribute/bitvector_search_cache/bitvector_search_cache_test.cpp @@ -3,6 +3,7 @@ #include <vespa/vespalib/testkit/test_kit.h> #include <vespa/searchlib/attribute/bitvector_search_cache.h> #include <vespa/searchlib/common/bitvector.h> +#include <vespa/vespalib/util/memoryusage.h> using namespace search; using namespace search::attribute; @@ -31,9 +32,13 @@ struct Fixture { TEST_F("require that bit vectors can be inserted and retrieved", Fixture) { EXPECT_EQUAL(0u, f.cache.size()); + auto old_mem_usage = f.cache.get_memory_usage(); f.cache.insert("foo", f.entry1); f.cache.insert("bar", f.entry2); EXPECT_EQUAL(2u, f.cache.size()); + auto new_mem_usage = f.cache.get_memory_usage(); + EXPECT_LESS(old_mem_usage.usedBytes(), new_mem_usage.usedBytes()); + EXPECT_LESS(old_mem_usage.allocatedBytes(), new_mem_usage.allocatedBytes()); EXPECT_EQUAL(f.entry1, f.cache.find("foo")); EXPECT_EQUAL(f.entry2, f.cache.find("bar")); @@ -43,9 +48,13 @@ TEST_F("require that bit vectors can be inserted and retrieved", Fixture) TEST_F("require that insert() doesn't replace existing bit vector", Fixture) { f.cache.insert("foo", f.entry1); + auto old_mem_usage = f.cache.get_memory_usage(); f.cache.insert("foo", f.entry2); + auto new_mem_usage = f.cache.get_memory_usage(); EXPECT_EQUAL(1u, f.cache.size()); EXPECT_EQUAL(f.entry1, f.cache.find("foo")); + EXPECT_EQUAL(old_mem_usage.usedBytes(), new_mem_usage.usedBytes()); + EXPECT_EQUAL(old_mem_usage.allocatedBytes(), new_mem_usage.allocatedBytes()); } TEST_F("require that cache can be cleared", Fixture) @@ -53,11 +62,15 @@ TEST_F("require that cache can be cleared", Fixture) f.cache.insert("foo", f.entry1); f.cache.insert("bar", f.entry2); EXPECT_EQUAL(2u, f.cache.size()); + auto old_mem_usage = f.cache.get_memory_usage(); f.cache.clear(); + auto new_mem_usage = f.cache.get_memory_usage(); EXPECT_EQUAL(0u, f.cache.size()); EXPECT_TRUE(f.cache.find("foo").get() == nullptr); EXPECT_TRUE(f.cache.find("bar").get() == nullptr); + EXPECT_GREATER(old_mem_usage.usedBytes(), new_mem_usage.usedBytes()); + EXPECT_GREATER(old_mem_usage.allocatedBytes(), new_mem_usage.allocatedBytes()); } TEST_MAIN() { TEST_RUN_ALL(); } diff --git a/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp b/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp index 41ec377dece..7c38c322bc8 100644 --- a/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp +++ b/searchlib/src/tests/attribute/imported_search_context/imported_search_context_test.cpp @@ -508,6 +508,7 @@ assertBitVector(const std::vector<uint32_t> &expDocIds, const BitVector &bitVect TEST_F("Entry is inserted into search cache if bit vector posting list is used", SearchCacheFixture) { EXPECT_EQUAL(0u, f.imported_attr->getSearchCache()->size()); + auto old_mem_usage = f.imported_attr->get_memory_usage(); auto ctx = f.create_context(word_term("5678")); ctx->fetchPostings(queryeval::ExecuteInfo::FULL, true); TermFieldMatchData match; @@ -515,6 +516,9 @@ TEST_F("Entry is inserted into search cache if bit vector posting list is used", TEST_DO(f.assertSearch({3, 5}, *iter)); EXPECT_EQUAL(1u, f.imported_attr->getSearchCache()->size()); + auto new_mem_usage = f.imported_attr->get_memory_usage(); + EXPECT_LESS(old_mem_usage.usedBytes(), new_mem_usage.usedBytes()); + EXPECT_LESS(old_mem_usage.allocatedBytes(), new_mem_usage.allocatedBytes()); auto cacheEntry = f.imported_attr->getSearchCache()->find("5678"); EXPECT_EQUAL(cacheEntry->docIdLimit, f.get_imported_attr()->getNumDocs()); TEST_DO(assertBitVector({3, 5}, *cacheEntry->bitVector)); |