aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/end2end/hybrid_end2end_test.cc
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-05-21 13:05:01 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-05-21 13:05:01 -0700
commit34c6e87598dd2c8c68f25793a56bb5d6ffae679d (patch)
tree7d4bbaa69b34e1db6a46245797759943c40ed097 /test/cpp/end2end/hybrid_end2end_test.cc
parente76528ce267e06024224ad52d2874384df26d0a1 (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.cc33
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());
}