From b3977c53c930100310868096408ad059dc5cad9b Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Thu, 13 Jun 2024 16:24:43 +0200 Subject: [PATCH] test/librbd: make rollback in TestGroup.add_snapshot{,PP} meaningful The rollback assert doesn't really test anything -- because orig_data and test_data are written to non-overlapping areas, the test would pass even if rbd_group_snap_rollback() does nothing (i.e. rollback isn't performed) as long as the call returns 0. Signed-off-by: Ilya Dryomov --- src/test/librbd/test_Groups.cc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/test/librbd/test_Groups.cc b/src/test/librbd/test_Groups.cc index 5172dac316740..3e2ab64702edd 100644 --- a/src/test/librbd/test_Groups.cc +++ b/src/test/librbd/test_Groups.cc @@ -345,10 +345,12 @@ TEST_F(TestGroup, add_snapshot) ASSERT_STREQ(snap_name, snaps[0].name); - ASSERT_EQ(10, rbd_write(image, 11, 10, test_data)); - ASSERT_EQ(10, rbd_read(image, 11, 10, read_data)); + ASSERT_EQ(10, rbd_write(image, 9, 10, test_data)); + ASSERT_EQ(10, rbd_read(image, 9, 10, read_data)); ASSERT_EQ(0, memcmp(test_data, read_data, 10)); + ASSERT_EQ(10, rbd_read(image, 0, 10, read_data)); + ASSERT_NE(0, memcmp(orig_data, read_data, 10)); ASSERT_EQ(0, rbd_group_snap_rollback(ioctx, group_name, snap_name)); ASSERT_EQ(10, rbd_read(image, 0, 10, read_data)); ASSERT_EQ(0, memcmp(orig_data, read_data, 10)); @@ -435,14 +437,13 @@ TEST_F(TestGroup, add_snapshotPP) bufferlist write_bl; write_bl.append(std::string(1024, '2')); - ASSERT_EQ(1024, image.write(513, write_bl.length(), write_bl)); - - read_bl.clear(); - ASSERT_EQ(1024, image.read(513, 1024, read_bl)); + ASSERT_EQ(1024, image.write(256, write_bl.length(), write_bl)); + ASSERT_EQ(1024, image.read(256, 1024, read_bl)); ASSERT_TRUE(write_bl.contents_equal(read_bl)); + ASSERT_EQ(512, image.read(0, 512, read_bl)); + ASSERT_FALSE(expect_bl.contents_equal(read_bl)); ASSERT_EQ(0, rbd.group_snap_rollback(ioctx, group_name, snap_name)); - ASSERT_EQ(512, image.read(0, 512, read_bl)); ASSERT_TRUE(expect_bl.contents_equal(read_bl)); -- 2.39.5