From c0c644333b31dcdb1e077f5dd395365be4d5dcc6 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Tue, 16 May 2017 14:35:27 +0200 Subject: [PATCH] test/librbd: make unit tests pass when cache is disabled Signed-off-by: Mykola Golub --- src/test/librbd/io/test_mock_ImageRequest.cc | 17 +++++++++++++---- .../librbd/operation/test_mock_ResizeRequest.cc | 8 ++++++++ .../test_mock_SnapshotRollbackRequest.cc | 1 + 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/test/librbd/io/test_mock_ImageRequest.cc b/src/test/librbd/io/test_mock_ImageRequest.cc index 3a5d2fee3732e..50b60e73828d1 100644 --- a/src/test/librbd/io/test_mock_ImageRequest.cc +++ b/src/test/librbd/io/test_mock_ImageRequest.cc @@ -210,8 +210,12 @@ TEST_F(TestMockIoImageRequest, AioWriteJournalAppendDisabled) { InSequence seq; expect_is_journal_appending(mock_journal, false); - expect_write_to_cache(mock_image_ctx, ictx->get_object_name(0), - 0, 1, 0, 0); + if (mock_image_ctx.image_ctx->cache) { + expect_write_to_cache(mock_image_ctx, ictx->get_object_name(0), + 0, 1, 0, 0); + } else { + expect_object_request_send(mock_image_ctx, mock_aio_object_request, 0); + } C_SaferCond aio_comp_ctx; AioCompletion *aio_comp = AioCompletion::create_and_start( @@ -296,8 +300,13 @@ TEST_F(TestMockIoImageRequest, AioWriteSameJournalAppendDisabled) { InSequence seq; expect_is_journal_appending(mock_journal, false); - expect_write_to_cache(mock_image_ctx, ictx->get_object_name(0), - 0, 1, 0, 0); + if (mock_image_ctx.image_ctx->cache) { + expect_write_to_cache(mock_image_ctx, ictx->get_object_name(0), + 0, 1, 0, 0); + } else { + expect_object_request_send(mock_image_ctx, mock_aio_object_request, 0); + } + C_SaferCond aio_comp_ctx; AioCompletion *aio_comp = AioCompletion::create_and_start( diff --git a/src/test/librbd/operation/test_mock_ResizeRequest.cc b/src/test/librbd/operation/test_mock_ResizeRequest.cc index 851f34a108f1c..e67f8a2a8321a 100644 --- a/src/test/librbd/operation/test_mock_ResizeRequest.cc +++ b/src/test/librbd/operation/test_mock_ResizeRequest.cc @@ -114,12 +114,18 @@ public: } void expect_flush_cache(MockImageCtx &mock_image_ctx, int r) { + if (!mock_image_ctx.image_ctx->cache) { + return; + } EXPECT_CALL(mock_image_ctx, flush_cache(_)) .WillOnce(CompleteContext(r, static_cast(NULL))); expect_op_work_queue(mock_image_ctx); } void expect_invalidate_cache(MockImageCtx &mock_image_ctx, int r) { + if (!mock_image_ctx.image_ctx->cache) { + return; + } EXPECT_CALL(mock_image_ctx, invalidate_cache(false, _)) .WillOnce(WithArg<1>(CompleteContext(r, static_cast(NULL)))); expect_op_work_queue(mock_image_ctx); @@ -278,6 +284,7 @@ TEST_F(TestMockOperationResizeRequest, TrimError) { TEST_F(TestMockOperationResizeRequest, FlushCacheError) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); + REQUIRE(ictx->cache); MockImageCtx mock_image_ctx(*ictx); MockExclusiveLock mock_exclusive_lock; @@ -300,6 +307,7 @@ TEST_F(TestMockOperationResizeRequest, FlushCacheError) { TEST_F(TestMockOperationResizeRequest, InvalidateCacheError) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); + REQUIRE(ictx->cache); MockImageCtx mock_image_ctx(*ictx); MockExclusiveLock mock_exclusive_lock; diff --git a/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc b/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc index 1341864720e3f..97cc5f153dc2a 100644 --- a/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc +++ b/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc @@ -302,6 +302,7 @@ TEST_F(TestMockOperationSnapshotRollbackRequest, RollbackObjectsError) { TEST_F(TestMockOperationSnapshotRollbackRequest, InvalidateCacheError) { librbd::ImageCtx *ictx; ASSERT_EQ(0, open_image(m_image_name, &ictx)); + REQUIRE(ictx->cache); MockOperationImageCtx mock_image_ctx(*ictx); MockExclusiveLock mock_exclusive_lock; -- 2.39.5