From 0a6b5767f0379261466cba8044838f1e3e7923f3 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 19 Nov 2020 17:01:45 +0100 Subject: [PATCH] crimson/tests: add simple multi-replica test for backfill. Signed-off-by: Radoslaw Zarzynski --- src/test/crimson/test_backfill.cc | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/test/crimson/test_backfill.cc b/src/test/crimson/test_backfill.cc index 0409d47253d..6caa18fd998 100644 --- a/src/test/crimson/test_backfill.cc +++ b/src/test/crimson/test_backfill.cc @@ -355,7 +355,7 @@ TEST(backfill, same_primary_same_replica) EXPECT_TRUE(cluster_fixture.all_stores_look_like(reference_store)); } -TEST(backfill, single_empty_replica) +TEST(backfill, one_empty_replica) { const auto reference_store = FakeStore{ { { "1:00058bcc:::rbd_data.1018ac3e755.00000000000000d5:head", {10, 234} }, @@ -376,6 +376,27 @@ TEST(backfill, single_empty_replica) EXPECT_TRUE(cluster_fixture.all_stores_look_like(reference_store)); } +TEST(backfill, two_empty_replicas) +{ + const auto reference_store = FakeStore{ { + { "1:00058bcc:::rbd_data.1018ac3e755.00000000000000d5:head", {10, 234} }, + { "1:00ed7f8e:::rbd_data.1018ac3e755.00000000000000af:head", {10, 196} }, + { "1:01483aea:::rbd_data.1018ac3e755.0000000000000095:head", {10, 169} }, + }}; + auto cluster_fixture = BackfillFixtureBuilder::add_source( + reference_store.objs + ).add_target( + { /* nothing 1 */ } + ).add_target( + { /* nothing 2 */ } + ).get_result(); + + EXPECT_CALL(cluster_fixture, backfilled); + cluster_fixture.next_till_done(); + + EXPECT_TRUE(cluster_fixture.all_stores_look_like(reference_store)); +} + namespace StoreRandomizer { // FIXME: copied & pasted from test/test_snap_mapper.cc. We need to // find a way to avoid code duplication in test. A static library? -- 2.39.5