From c42ef8cc0251c91d0811b1485091ef65dc04c6b2 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Wed, 9 Oct 2019 10:51:05 +0800 Subject: [PATCH] test/crimson: v2 failover tests with Tag::ACK Signed-off-by: Yingxin Cheng --- src/test/crimson/test_messenger.cc | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/test/crimson/test_messenger.cc b/src/test/crimson/test_messenger.cc index f3bdb106dd93d..dec5d4ac951ba 100644 --- a/src/test/crimson/test_messenger.cc +++ b/src/test/crimson/test_messenger.cc @@ -1976,6 +1976,54 @@ test_v2_lossless_connected_fault(FailoverTest& test) { }); } +seastar::future<> +test_v2_lossless_connected_fault2(FailoverTest& test) { + return seastar::do_with(std::vector{ + {Tag::ACK, bp_type_t::READ}, + {Tag::ACK, bp_type_t::WRITE}, + }, [&test] (auto& failure_cases) { + return seastar::do_for_each(failure_cases, [&test] (auto bp) { + TestInterceptor interceptor; + interceptor.make_fault(bp); + return test.run_suite( + fmt::format("test_v2_lossless_connected_fault2 -- {}", bp), + interceptor, + policy_t::lossless_client, + policy_t::stateful_server, + [&test] (FailoverSuite& suite) { + return seastar::futurize_apply([&suite] { + return suite.connect_peer(); + }).then([&suite] { + return suite.wait_established(); + }).then([&suite] { + return suite.send_peer(); + }).then([&suite] { + return suite.wait_established(); + }).then([&test] { + return test.peer_send_me(); + }).then([&suite] { + return suite.wait_established(); + }).then([&suite] { + return suite.send_peer(); + }).then([&suite] { + return suite.wait_established(); + }).then([&test] { + return test.peer_send_me(); + }).then([&suite] { + return suite.wait_established(); + }).then([&suite] { + return suite.wait_results(1); + }).then([] (ConnResults& results) { + results[0].assert_state_at(conn_state_t::established); + results[0].assert_connect(2, 1, 1, 2); + results[0].assert_accept(0, 0, 0, 0); + results[0].assert_reset(0, 0); + }); + }); + }); + }); +} + seastar::future<> test_v2_lossless_reconnect_fault(FailoverTest& test) { return seastar::do_with(std::vector>{ @@ -2837,6 +2885,8 @@ test_v2_protocol(entity_addr_t test_addr = entity_addr_t(), return test_v2_lossless_connect_fault(*test); }).then([test] { return test_v2_lossless_connected_fault(*test); + }).then([test] { + return test_v2_lossless_connected_fault2(*test); }).then([test] { return test_v2_lossless_reconnect_fault(*test); }).then([test] { -- 2.39.5