summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/attribute/enumstore/enumstore_test.cpp')
-rw-r--r--searchlib/src/tests/attribute/enumstore/enumstore_test.cpp61
1 files changed, 16 insertions, 45 deletions
diff --git a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
index 22584db7dd9..4b35d0fcdf7 100644
--- a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
+++ b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
@@ -132,8 +132,7 @@ checkReaders(const StringEnumStore& ses,
const std::vector<Reader>& readers)
{
const char* t = "";
- for (uint32_t i = 0; i < readers.size(); ++i) {
- const Reader& r = readers[i];
+ for (const auto & r : readers) {
for (uint32_t j = 0; j < r._indices.size(); ++j) {
EXPECT_TRUE(ses.get_value(r._indices[j], t));
EXPECT_TRUE(r._expected[j]._string == std::string(t));
@@ -151,12 +150,6 @@ public:
{}
};
-// Disable warnings emitted by gtest generated files when using typed tests
-#pragma GCC diagnostic push
-#ifndef __clang__
-#pragma GCC diagnostic ignored "-Wsuggest-override"
-#endif
-
using FloatEnumStoreTestTypes = ::testing::Types<BTreeFloatEnumStore, BTreeDoubleEnumStore, HybridFloatEnumStore, HybridDoubleEnumStore, HashFloatEnumStore, HashDoubleEnumStore>;
TYPED_TEST_SUITE(FloatEnumStoreTest, FloatEnumStoreTestTypes);
@@ -168,8 +161,8 @@ TYPED_TEST(FloatEnumStoreTest, numbers_can_be_inserted_and_retrieved)
EntryType a[5] = {-20.5f, -10.5f, -0.5f, 9.5f, 19.5f};
EntryType b[5] = {-25.5f, -15.5f, -5.5f, 4.5f, 14.5f};
- for (uint32_t i = 0; i < 5; ++i) {
- this->es.insert(a[i]);
+ for (auto i : a) {
+ this->es.insert(i);
}
for (uint32_t i = 0; i < 5; ++i) {
@@ -187,8 +180,6 @@ TYPED_TEST(FloatEnumStoreTest, numbers_can_be_inserted_and_retrieved)
}
}
-#pragma GCC diagnostic pop
-
TEST(EnumStoreTest, test_find_folded_on_string_enum_store)
{
StringEnumStore ses(false, DictionaryConfig::Type::BTREE);
@@ -235,7 +226,7 @@ testUniques(const StringEnumStore& ses, const std::vector<std::string>& unique)
class StringEnumStoreTest : public ::testing::Test {
public:
- void testInsert(bool hasPostings);
+ static void testInsert(bool hasPostings);
};
void
@@ -244,17 +235,13 @@ StringEnumStoreTest::testInsert(bool hasPostings)
StringEnumStore ses(hasPostings, DictionaryConfig::Type::BTREE);
std::vector<EnumIndex> indices;
- std::vector<std::string> unique;
- unique.push_back("");
- unique.push_back("add");
- unique.push_back("enumstore");
- unique.push_back("unique");
-
- for (uint32_t i = 0; i < unique.size(); ++i) {
- EnumIndex idx = ses.insert(unique[i].c_str());
+ std::vector<std::string> unique = {"", "add", "enumstore", "unique"};
+
+ for (const auto & i : unique) {
+ EnumIndex idx = ses.insert(i.c_str());
EXPECT_EQ(1u, ses.get_ref_count(idx));
indices.push_back(idx);
- EXPECT_TRUE(ses.find_index(unique[i].c_str(), idx));
+ EXPECT_TRUE(ses.find_index(i.c_str(), idx));
}
ses.freeze_dictionary();
@@ -294,14 +281,14 @@ TEST(EnumStoreTest, test_hold_lists_and_generation)
for (uint32_t i = 0; i < 100; ++i) {
char tmp[16];
sprintf(tmp, i < 10 ? "enum0%u" : "enum%u", i);
- uniques.push_back(tmp);
+ uniques.emplace_back(tmp);
}
StringVector newUniques;
newUniques.reserve(100);
for (uint32_t i = 0; i < 100; ++i) {
char tmp[16];
sprintf(tmp, i < 10 ? "unique0%u" : "unique%u", i);
- newUniques.push_back(tmp);
+ newUniques.emplace_back(tmp);
}
uint32_t generation = 0;
std::vector<Reader> readers;
@@ -327,7 +314,7 @@ TEST(EnumStoreTest, test_hold_lists_and_generation)
EXPECT_TRUE(indices.size() == 10);
EXPECT_TRUE(expected.size() == 10);
sesGen = generation++;
- readers.push_back(Reader(sesGen, indices, expected));
+ readers.emplace_back(sesGen, indices, expected);
checkReaders(ses, readers);
}
}
@@ -408,7 +395,7 @@ public:
expect_value_in_store(5, 2, i5);
}
- void expect_value_in_store(int32_t exp_value, uint32_t exp_ref_count, EnumIndex idx) {
+ void expect_value_in_store(int32_t exp_value, uint32_t exp_ref_count, EnumIndex idx) const {
EnumIndex tmp_idx;
EXPECT_TRUE(store.find_index(exp_value, tmp_idx));
EXPECT_EQ(idx, tmp_idx);
@@ -416,7 +403,7 @@ public:
EXPECT_EQ(exp_ref_count, store.get_ref_count(idx));
}
- void expect_value_not_in_store(int32_t value, EnumIndex idx) {
+ void expect_value_not_in_store(int32_t value, EnumIndex idx) const {
EnumIndex temp_idx;
EXPECT_FALSE(store.find_index(value, idx));
EXPECT_EQ(0, store.get_ref_count(idx));
@@ -508,7 +495,7 @@ public:
Values::load_values(loader);
}
- EnumIndex find_index(size_t values_idx) const {
+ [[nodiscard]] EnumIndex find_index(size_t values_idx) const {
EnumIndex result;
EXPECT_TRUE(store.find_index(Values::values[values_idx], result));
return result;
@@ -547,12 +534,6 @@ public:
};
-// Disable warnings emitted by gtest generated files when using typed tests
-#pragma GCC diagnostic push
-#ifndef __clang__
-#pragma GCC diagnostic ignored "-Wsuggest-override"
-#endif
-
using LoaderTestTypes = ::testing::Types<BTreeNumericEnumStore, BTreeFloatEnumStore, BTreeStringEnumStore, HybridNumericEnumStore, HybridFloatEnumStore, HybridStringEnumStore, HashNumericEnumStore, HashFloatEnumStore, HashStringEnumStore>;
TYPED_TEST_SUITE(LoaderTest, LoaderTestTypes);
@@ -605,8 +586,6 @@ TYPED_TEST(LoaderTest, store_is_instantiated_with_non_enumerated_loader)
this->expect_posting_idx(3, 103);
}
-#pragma GCC diagnostic pop
-
template <typename EnumStoreTypeAndDictionaryType>
class EnumStoreDictionaryTest : public ::testing::Test {
public:
@@ -724,7 +703,7 @@ EnumStoreDictionaryTest<EnumStoreTypeAndDictionaryType>::clear_sample_values(uin
auto comparator = store.make_comparator(i);
auto enum_idx = dict.find(comparator);
EXPECT_TRUE(enum_idx.valid());
- dict.update_posting_list(enum_idx, comparator, [](EntryRef) noexcept -> EntryRef { return EntryRef(); });
+ dict.update_posting_list(enum_idx, comparator, [](EntryRef) noexcept -> EntryRef { return {}; });
}
}
@@ -796,12 +775,6 @@ EnumStoreDictionaryTest<EnumStoreTypeAndDictionaryType>::test_foreach_posting_li
clear_sample_values(large_population);
}
-// Disable warnings emitted by gtest generated files when using typed tests
-#pragma GCC diagnostic push
-#ifndef __clang__
-#pragma GCC diagnostic ignored "-Wsuggest-override"
-#endif
-
using EnumStoreDictionaryTestTypes = ::testing::Types<BTreeNumericEnumStore, HybridNumericEnumStore, HashNumericEnumStore>;
TYPED_TEST_SUITE(EnumStoreDictionaryTest, EnumStoreDictionaryTestTypes);
@@ -942,8 +915,6 @@ TYPED_TEST(EnumStoreDictionaryTest, compact_worst_works)
EXPECT_EQ(exp_values, values);
}
-#pragma GCC diagnostic pop
-
}
GTEST_MAIN_RUN_ALL_TESTS()