diff options
author | Craig Tiller <ctiller@google.com> | 2016-05-21 13:05:01 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-05-21 13:05:01 -0700 |
commit | 34c6e87598dd2c8c68f25793a56bb5d6ffae679d (patch) | |
tree | 7d4bbaa69b34e1db6a46245797759943c40ed097 /test/cpp/end2end/hybrid_end2end_test.cc | |
parent | e76528ce267e06024224ad52d2874384df26d0a1 (diff) |
Simpler trick to force a listening cq
Diffstat (limited to 'test/cpp/end2end/hybrid_end2end_test.cc')
-rw-r--r-- | test/cpp/end2end/hybrid_end2end_test.cc | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/test/cpp/end2end/hybrid_end2end_test.cc b/test/cpp/end2end/hybrid_end2end_test.cc index b4270070e2..38c6ba9c94 100644 --- a/test/cpp/end2end/hybrid_end2end_test.cc +++ b/test/cpp/end2end/hybrid_end2end_test.cc @@ -199,8 +199,7 @@ class HybridEnd2endTest : public ::testing::Test { HybridEnd2endTest() {} void SetUpServer(::grpc::Service* service1, ::grpc::Service* service2, - AsyncGenericService* generic_service, - int num_cqs_frequently_polled) { + AsyncGenericService* generic_service) { int port = grpc_pick_unused_port_or_die(); server_address_ << "localhost:" << port; @@ -208,6 +207,9 @@ class HybridEnd2endTest : public ::testing::Test { ServerBuilder builder; builder.AddListeningPort(server_address_.str(), grpc::InsecureServerCredentials()); + // Always add a sync unimplemented service: we rely on having at least one + // synchronous method to get a listening cq + builder.RegisterService(&unimplemented_service_); builder.RegisterService(service1); if (service2) { builder.RegisterService(service2); @@ -217,7 +219,7 @@ class HybridEnd2endTest : public ::testing::Test { } // Create a separate cq for each potential handler. for (int i = 0; i < 5; i++) { - cqs_.push_back(builder.AddCompletionQueue(i == num_cqs_frequently_polled - 1)); + cqs_.push_back(builder.AddCompletionQueue(false)); } server_ = builder.BuildAndStart(); } @@ -344,6 +346,7 @@ class HybridEnd2endTest : public ::testing::Test { EXPECT_TRUE(s.ok()); } + grpc::testing::UnimplementedService::Service unimplemented_service_; std::vector<std::unique_ptr<ServerCompletionQueue> > cqs_; std::unique_ptr<grpc::testing::EchoTestService::Stub> stub_; std::unique_ptr<Server> server_; @@ -352,7 +355,7 @@ class HybridEnd2endTest : public ::testing::Test { TEST_F(HybridEnd2endTest, AsyncEcho) { EchoTestService::WithAsyncMethod_Echo<TestServiceImpl> service; - SetUpServer(&service, nullptr, nullptr, 1); + SetUpServer(&service, nullptr, nullptr); ResetStub(); std::thread echo_handler_thread( [this, &service] { HandleEcho(&service, cqs_[0].get(), false); }); @@ -364,7 +367,7 @@ TEST_F(HybridEnd2endTest, AsyncEchoRequestStream) { EchoTestService::WithAsyncMethod_RequestStream< EchoTestService::WithAsyncMethod_Echo<TestServiceImpl> > service; - SetUpServer(&service, nullptr, nullptr, 2); + SetUpServer(&service, nullptr, nullptr); ResetStub(); std::thread echo_handler_thread( [this, &service] { HandleEcho(&service, cqs_[0].get(), false); }); @@ -379,7 +382,7 @@ TEST_F(HybridEnd2endTest, AsyncRequestStreamResponseStream) { EchoTestService::WithAsyncMethod_RequestStream< EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > service; - SetUpServer(&service, nullptr, nullptr, 2); + SetUpServer(&service, nullptr, nullptr); ResetStub(); std::thread response_stream_handler_thread( [this, &service] { HandleServerStreaming(&service, cqs_[0].get()); }); @@ -396,7 +399,7 @@ TEST_F(HybridEnd2endTest, AsyncRequestStreamResponseStream_SyncDupService) { EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > service; TestServiceImplDupPkg dup_service; - SetUpServer(&service, &dup_service, nullptr, 2); + SetUpServer(&service, &dup_service, nullptr); ResetStub(); std::thread response_stream_handler_thread( [this, &service] { HandleServerStreaming(&service, cqs_[0].get()); }); @@ -414,7 +417,7 @@ TEST_F(HybridEnd2endTest, AsyncRequestStreamResponseStream_AsyncDupService) { EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > service; duplicate::EchoTestService::AsyncService dup_service; - SetUpServer(&service, &dup_service, nullptr, 3); + SetUpServer(&service, &dup_service, nullptr); ResetStub(); std::thread response_stream_handler_thread( [this, &service] { HandleServerStreaming(&service, cqs_[0].get()); }); @@ -432,7 +435,7 @@ TEST_F(HybridEnd2endTest, AsyncRequestStreamResponseStream_AsyncDupService) { TEST_F(HybridEnd2endTest, GenericEcho) { EchoTestService::WithGenericMethod_Echo<TestServiceImpl> service; AsyncGenericService generic_service; - SetUpServer(&service, nullptr, &generic_service, 1); + SetUpServer(&service, nullptr, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { HandleGenericCall(&generic_service, cqs_[0].get()); @@ -446,7 +449,7 @@ TEST_F(HybridEnd2endTest, GenericEchoAsyncRequestStream) { EchoTestService::WithGenericMethod_Echo<TestServiceImpl> > service; AsyncGenericService generic_service; - SetUpServer(&service, nullptr, &generic_service, 2); + SetUpServer(&service, nullptr, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { HandleGenericCall(&generic_service, cqs_[0].get()); @@ -465,7 +468,7 @@ TEST_F(HybridEnd2endTest, GenericEchoAsyncRequestStream_SyncDupService) { service; AsyncGenericService generic_service; TestServiceImplDupPkg dup_service; - SetUpServer(&service, &dup_service, &generic_service, 2); + SetUpServer(&service, &dup_service, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { HandleGenericCall(&generic_service, cqs_[0].get()); @@ -485,7 +488,7 @@ TEST_F(HybridEnd2endTest, GenericEchoAsyncRequestStream_AsyncDupService) { service; AsyncGenericService generic_service; duplicate::EchoTestService::AsyncService dup_service; - SetUpServer(&service, &dup_service, &generic_service, 3); + SetUpServer(&service, &dup_service, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { HandleGenericCall(&generic_service, cqs_[0].get()); @@ -507,7 +510,7 @@ TEST_F(HybridEnd2endTest, GenericEchoAsyncRequestStreamResponseStream) { EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > > service; AsyncGenericService generic_service; - SetUpServer(&service, nullptr, &generic_service, 3); + SetUpServer(&service, nullptr, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { gpr_log(GPR_DEBUG, "t0 start"); @@ -538,7 +541,7 @@ TEST_F(HybridEnd2endTest, GenericEchoRequestStreamAsyncResponseStream) { EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > > service; AsyncGenericService generic_service; - SetUpServer(&service, nullptr, &generic_service, 3); + SetUpServer(&service, nullptr, &generic_service); ResetStub(); std::thread generic_handler_thread([this, &generic_service] { HandleGenericCall(&generic_service, cqs_[0].get()); @@ -561,7 +564,7 @@ TEST_F(HybridEnd2endTest, GenericMethodWithoutGenericService) { EchoTestService::WithGenericMethod_Echo< EchoTestService::WithAsyncMethod_ResponseStream<TestServiceImpl> > > service; - SetUpServer(&service, nullptr, nullptr, 0); + SetUpServer(&service, nullptr, nullptr); EXPECT_EQ(nullptr, server_.get()); } |