From: shangdehao1 Date: Sun, 13 Jan 2019 22:34:37 +0000 (+0800) Subject: test: add object cache message unite test X-Git-Tag: v15.0.0~136^2~46 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3b474707d29d17df38f97cabf03e43ed0297988f;p=ceph.git test: add object cache message unite test Signed-off-by: Dehao Shang --- diff --git a/src/test/immutable_object_cache/CMakeLists.txt b/src/test/immutable_object_cache/CMakeLists.txt index eec2936774e9..aade49afba88 100644 --- a/src/test/immutable_object_cache/CMakeLists.txt +++ b/src/test/immutable_object_cache/CMakeLists.txt @@ -6,6 +6,7 @@ add_executable(unittest_ceph_immutable_obj_cache test_DomainSocket.cc test_multi_session.cc test_object_store.cc + test_message.cc ) add_ceph_unittest(unittest_ceph_immutable_obj_cache) diff --git a/src/test/immutable_object_cache/test_message.cc b/src/test/immutable_object_cache/test_message.cc new file mode 100644 index 000000000000..4d00007e6ff4 --- /dev/null +++ b/src/test/immutable_object_cache/test_message.cc @@ -0,0 +1,63 @@ +#include "gtest/gtest.h" +#include "tools/immutable_object_cache/Types.h" + +using namespace ceph::immutable_obj_cache; + +TEST(test_for_message, test_1) +{ + std::string pool_name("this is a pool name"); + std::string image_name("this is an image name"); + std::string oid_name("this is a oid name"); + + ObjectCacheMsgHeader header; + header.seq = 1; + header.type = 2; + header.version =3; + header.mid_len =4; + header.data_len = 5; + header.reserved = 6; + + ObjectCacheRequest req; + + ASSERT_EQ(req.m_head_buffer.length(), 0); + ASSERT_EQ(req.m_mid_buffer.length(), 0); + ASSERT_EQ(req.m_data_buffer.length(), 0); + + req.m_head = header; + + req.m_mid.m_image_size = 111111; + req.m_mid.m_read_offset = 222222; + req.m_mid.m_read_len = 333333; + req.m_mid.m_pool_name = pool_name; + req.m_mid.m_image_name = image_name; + req.m_mid.m_oid = oid_name; + + req.encode(); + + ASSERT_EQ(req.m_head_buffer.length(), sizeof(req.m_head)); + ASSERT_EQ(req.m_data_buffer.length(), 0); + + + ObjectCacheRequest* req_decode; + + auto x = req.get_head_buffer(); + auto y = req.get_mid_buffer(); + auto z = req.get_data_buffer(); + + req_decode = decode_object_cache_request(x, y, z); + + ASSERT_EQ(req_decode->m_head.seq, header.seq); + ASSERT_EQ(req_decode->m_head.type, header.type); + ASSERT_EQ(req_decode->m_head.version, header.version); + ASSERT_EQ(req_decode->m_head.mid_len, req.m_mid_buffer.length()); + ASSERT_EQ(req_decode->m_head.data_len, req.m_data_buffer.length()); + ASSERT_EQ(req_decode->m_head.reserved, header.reserved); + + + ASSERT_EQ(req_decode->m_mid.m_image_size, 111111); + ASSERT_EQ(req_decode->m_mid.m_read_offset, 222222); + ASSERT_EQ(req_decode->m_mid.m_read_len, 333333); + ASSERT_EQ(req_decode->m_mid.m_pool_name, pool_name); + ASSERT_EQ(req_decode->m_mid.m_image_name, image_name); + ASSERT_EQ(req_decode->m_mid.m_oid, oid_name); +} diff --git a/src/tools/immutable_object_cache/CMakeLists.txt b/src/tools/immutable_object_cache/CMakeLists.txt index 4358b90216a9..fa713f639a3e 100644 --- a/src/tools/immutable_object_cache/CMakeLists.txt +++ b/src/tools/immutable_object_cache/CMakeLists.txt @@ -7,6 +7,7 @@ set(ceph_immutable_object_cache_files CacheSession.cc SimplePolicy.cc Utils.cc + Types.cc ) add_library(ceph_immutable_object_cache_lib STATIC ${ceph_immutable_object_cache_files}) @@ -18,6 +19,7 @@ add_executable(ceph-immutable-object-cache CacheSession.cc SimplePolicy.cc Utils.cc + Types.cc main.cc) target_link_libraries(ceph-immutable-object-cache librados-cxx