From: Yunchuan Wen Date: Sat, 17 Dec 2016 00:40:26 +0000 (+0800) Subject: test: add new testcase for request admin_socket with long request X-Git-Tag: v12.0.0~373^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=25efc6f060905bf770d9632234d4ef52422d8a58;p=ceph-ci.git test: add new testcase for request admin_socket with long request Signed-off-by: Yunchuan Wen --- diff --git a/src/test/admin_socket.cc b/src/test/admin_socket.cc index 3f9fc0c5260..a3fdeaae538 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;