From ca4e1e382ac87dd101a2d95657955825eb763d8c Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Sun, 8 Oct 2017 15:52:34 +0800 Subject: [PATCH] src/test/objectstore/Allocator_{test,bench}.cc: test AvlAllocator too Signed-off-by: xie xingguo (cherry picked from commit 97dfbc9c4816027d766731f0facf1ffa03455491) Conflicts: src/test/objectstore/Allocator_bench.cc src/test/objectstore/Allocator_test.cc GTEST_SKIP not present, +trivial --- src/test/objectstore/Allocator_bench.cc | 2 +- src/test/objectstore/Allocator_test.cc | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/test/objectstore/Allocator_bench.cc b/src/test/objectstore/Allocator_bench.cc index 2a20a7ac49b3a..4f3c40f42168c 100755 --- a/src/test/objectstore/Allocator_bench.cc +++ b/src/test/objectstore/Allocator_bench.cc @@ -332,7 +332,7 @@ TEST_P(AllocTest, test_alloc_bench_10_300) INSTANTIATE_TEST_CASE_P( Allocator, AllocTest, - ::testing::Values("stupid", "bitmap")); + ::testing::Values("stupid", "bitmap", "avl")); #else diff --git a/src/test/objectstore/Allocator_test.cc b/src/test/objectstore/Allocator_test.cc index c4ea76f78233e..f66c7bc3d29f3 100644 --- a/src/test/objectstore/Allocator_test.cc +++ b/src/test/objectstore/Allocator_test.cc @@ -69,6 +69,7 @@ TEST_P(AllocTest, test_alloc_min_alloc) * Allocate extent and make sure all comes in single extent. */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 4); PExtentVector extents; EXPECT_EQ(4*block_size, @@ -82,6 +83,7 @@ TEST_P(AllocTest, test_alloc_min_alloc) * Allocate extent and make sure we get two different extents. */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 2); alloc->init_add_free(3 * block_size, block_size * 2); PExtentVector extents; @@ -108,6 +110,7 @@ TEST_P(AllocTest, test_alloc_min_max_alloc) * min_alloc_size == max_alloc_size */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 4); PExtentVector extents; EXPECT_EQ(4*block_size, @@ -125,6 +128,7 @@ TEST_P(AllocTest, test_alloc_min_max_alloc) * when max alloc size > min_alloc size */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 4); PExtentVector extents; EXPECT_EQ(4*block_size, @@ -140,6 +144,7 @@ TEST_P(AllocTest, test_alloc_min_max_alloc) * Make sure allocations are of min_alloc_size when min_alloc_size > block_size. */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 1024); PExtentVector extents; EXPECT_EQ(1024 * block_size, @@ -156,6 +161,7 @@ TEST_P(AllocTest, test_alloc_min_max_alloc) * Allocate and free. */ { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 16); PExtentVector extents; EXPECT_EQ(16 * block_size, @@ -174,8 +180,8 @@ TEST_P(AllocTest, test_alloc_failure) int64_t block_size = 1024; int64_t capacity = 4 * 1024 * block_size; - init_alloc(capacity, block_size); { + init_alloc(capacity, block_size); alloc->init_add_free(0, block_size * 256); alloc->init_add_free(block_size * 512, block_size * 256); @@ -253,6 +259,12 @@ TEST_P(AllocTest, test_alloc_fragmentation) } EXPECT_EQ(-ENOSPC, alloc->allocate(want_size, alloc_unit, 0, 0, &tmp)); + if (GetParam() == string("avl")) { + // AVL allocator uses a different allocating strategy + cout << "skipping for AVL allocator"; + return; + } + for (size_t i = 0; i < allocated.size(); i += 2) { interval_set release_set; @@ -404,7 +416,7 @@ TEST_P(AllocTest, test_alloc_big2) INSTANTIATE_TEST_CASE_P( Allocator, AllocTest, - ::testing::Values("stupid", "bitmap")); + ::testing::Values("stupid", "bitmap", "avl")); #else -- 2.39.5