From 25efc6f060905bf770d9632234d4ef52422d8a58 Mon Sep 17 00:00:00 2001 From: Yunchuan Wen Date: Sat, 17 Dec 2016 08:40:26 +0800 Subject: [PATCH] test: add new testcase for request admin_socket with long request Signed-off-by: Yunchuan Wen --- src/test/admin_socket.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/admin_socket.cc b/src/test/admin_socket.cc index 3f9fc0c5260d..a3fdeaae538d 100644 --- a/src/test/admin_socket.cc +++ b/src/test/admin_socket.cc @@ -105,6 +105,20 @@ TEST(AdminSocket, SendNoOp) { ASSERT_EQ(true, asoct.shutdown()); } +TEST(AdminSocket, SendTooLongRequest) { + std::unique_ptr + asokc(new AdminSocket(g_ceph_context)); + AdminSocketTest asoct(asokc.get()); + ASSERT_EQ(true, asoct.shutdown()); + ASSERT_EQ(true, asoct.init(get_rand_socket_path())); + AdminSocketClient client(get_rand_socket_path()); + string version; + string request(16384, 'a'); + //if admin_socket cannot handle it, segfault will happened. + ASSERT_NE("", client.do_request(request, &version)); + ASSERT_EQ(true, asoct.shutdown()); +} + class MyTest : public AdminSocketHook { bool call(std::string command, cmdmap_t& cmdmap, std::string format, bufferlist& result) { std::vector args; -- 2.47.3