Skip to content

Commit b3977c5

Browse files
committed
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 <[email protected]>
1 parent 2b6ed5b commit b3977c5

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/test/librbd/test_Groups.cc

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -345,10 +345,12 @@ TEST_F(TestGroup, add_snapshot)
345345

346346
ASSERT_STREQ(snap_name, snaps[0].name);
347347

348-
ASSERT_EQ(10, rbd_write(image, 11, 10, test_data));
349-
ASSERT_EQ(10, rbd_read(image, 11, 10, read_data));
348+
ASSERT_EQ(10, rbd_write(image, 9, 10, test_data));
349+
ASSERT_EQ(10, rbd_read(image, 9, 10, read_data));
350350
ASSERT_EQ(0, memcmp(test_data, read_data, 10));
351351

352+
ASSERT_EQ(10, rbd_read(image, 0, 10, read_data));
353+
ASSERT_NE(0, memcmp(orig_data, read_data, 10));
352354
ASSERT_EQ(0, rbd_group_snap_rollback(ioctx, group_name, snap_name));
353355
ASSERT_EQ(10, rbd_read(image, 0, 10, read_data));
354356
ASSERT_EQ(0, memcmp(orig_data, read_data, 10));
@@ -435,14 +437,13 @@ TEST_F(TestGroup, add_snapshotPP)
435437

436438
bufferlist write_bl;
437439
write_bl.append(std::string(1024, '2'));
438-
ASSERT_EQ(1024, image.write(513, write_bl.length(), write_bl));
439-
440-
read_bl.clear();
441-
ASSERT_EQ(1024, image.read(513, 1024, read_bl));
440+
ASSERT_EQ(1024, image.write(256, write_bl.length(), write_bl));
441+
ASSERT_EQ(1024, image.read(256, 1024, read_bl));
442442
ASSERT_TRUE(write_bl.contents_equal(read_bl));
443443

444+
ASSERT_EQ(512, image.read(0, 512, read_bl));
445+
ASSERT_FALSE(expect_bl.contents_equal(read_bl));
444446
ASSERT_EQ(0, rbd.group_snap_rollback(ioctx, group_name, snap_name));
445-
446447
ASSERT_EQ(512, image.read(0, 512, read_bl));
447448
ASSERT_TRUE(expect_bl.contents_equal(read_bl));
448449

0 commit comments

Comments
 (0)