From: Haomai Wang Date: Wed, 25 Feb 2015 07:16:27 +0000 (+0800) Subject: TestMsgr: Add inject error tests for lossless_peer_reuse policy X-Git-Tag: v9.0.0~241^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ff2d497f86c093f9bcadba696958981ed3e7438c;p=ceph.git TestMsgr: Add inject error tests for lossless_peer_reuse policy Signed-off-by: Haomai Wang --- diff --git a/src/test/msgr/test_msgr.cc b/src/test/msgr/test_msgr.cc index 68ef3f4c826e..2f7b9a142578 100644 --- a/src/test/msgr/test_msgr.cc +++ b/src/test/msgr/test_msgr.cc @@ -1032,6 +1032,39 @@ TEST_P(MessengerTest, SyntheticInjectTest) { g_ceph_context->_conf->set_val("ms_inject_internal_delays", "0"); } +TEST_P(MessengerTest, SyntheticInjectTest2) { + g_ceph_context->_conf->set_val("ms_inject_socket_failures", "30"); + g_ceph_context->_conf->set_val("ms_inject_internal_delays", "0.1"); + SyntheticWorkload test_msg(4, 16, GetParam(), 100, + Messenger::Policy::lossless_peer_reuse(0, 0), + Messenger::Policy::lossless_peer_reuse(0, 0)); + for (int i = 0; i < 100; ++i) { + if (!(i % 10)) cerr << "seeding connection " << i << std::endl; + test_msg.generate_connection(); + } + gen_type rng(time(NULL)); + for (int i = 0; i < 1000; ++i) { + if (!(i % 10)) { + cerr << "Op " << i << ": "; + test_msg.print_internal_state(); + } + boost::uniform_int<> true_false(0, 99); + int val = true_false(rng); + if (val > 90) { + test_msg.generate_connection(); + } else if (val > 80) { + test_msg.drop_connection(); + } else if (val > 10) { + test_msg.send_message(); + } else { + usleep(rand() % 500 + 100); + } + } + test_msg.wait_for_done(); + g_ceph_context->_conf->set_val("ms_inject_socket_failures", "0"); + g_ceph_context->_conf->set_val("ms_inject_internal_delays", "0"); +} + class MarkdownDispatcher : public Dispatcher { Mutex lock;