]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
src/test/objectstore/Allocator_{test,bench}.cc: test AvlAllocator too
authorxie xingguo <xie.xingguo@zte.com.cn>
Sun, 8 Oct 2017 07:52:34 +0000 (15:52 +0800)
committerIgor Fedotov <ifedotov@suse.com>
Sat, 25 Jul 2020 10:55:22 +0000 (13:55 +0300)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(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
src/test/objectstore/Allocator_test.cc

index 2a20a7ac49b3ac34bc6f03763165335f30a8a342..4f3c40f42168c8a23a0c6b2143f0fc591628ab8c 100755 (executable)
@@ -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
 
index c4ea76f78233e167b5c29e528ec55fd101337b9f..f66c7bc3d29f30ae6bf3a1e520d76038b5af52d8 100644 (file)
@@ -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<uint64_t> 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