summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/datastore/free_list
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-10-05 14:08:11 +0000
committerGeir Storli <geirst@yahooinc.com>2022-10-05 14:08:11 +0000
commit31ac12e49fcf843d3a56f20b430dbacd3b12beb6 (patch)
treeb3a7927a1cb289fc7665ecbcf610893c3cb1b735 /vespalib/src/tests/datastore/free_list
parent0e7eaa58bcf3d2ffa4bfdc222f0c595ec0e438ff (diff)
Use datastore free list handling with a simpler API.
Diffstat (limited to 'vespalib/src/tests/datastore/free_list')
-rw-r--r--vespalib/src/tests/datastore/free_list/free_list_test.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/vespalib/src/tests/datastore/free_list/free_list_test.cpp b/vespalib/src/tests/datastore/free_list/free_list_test.cpp
index d80020d3dc5..44e11b2316b 100644
--- a/vespalib/src/tests/datastore/free_list/free_list_test.cpp
+++ b/vespalib/src/tests/datastore/free_list/free_list_test.cpp
@@ -21,7 +21,7 @@ struct FreeListTest : public testing::Test
{
for (size_t i = 0; i < 3; ++i) {
bufs.emplace_back(dead_elems);
- bufs.back().on_active(array_size);
+ bufs.back().set_array_size(array_size);
}
}
void TearDown() override {
@@ -114,6 +114,18 @@ TEST_F(FreeListTest, buffer_free_lists_are_reused_in_lifo_order)
EXPECT_TRUE(list.empty());
}
+TEST_F(FreeListTest, buffer_free_list_can_be_disabled_and_detached_when_not_currently_reused)
+{
+ enable_all();
+ push_entry({10, 0});
+ push_entry({20, 1});
+ EXPECT_EQ(2, list.size());
+ bufs[0].disable();
+ EXPECT_EQ(1, list.size());
+ EXPECT_EQ(MyEntryRef(20, 1), pop_entry());
+ EXPECT_TRUE(list.empty());
+}
+
TEST_F(FreeListTest, dead_elems_count_is_updated_when_popping_an_entry)
{
enable(0);