aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/end2end/health_service_end2end_test.cc
diff options
context:
space:
mode:
authorGravatar yang-g <yangg@google.com>2016-12-29 15:15:12 -0800
committerGravatar yang-g <yangg@google.com>2016-12-29 15:15:12 -0800
commit35674af901576b078fe158814fa9d730e09426f6 (patch)
tree3c849a470dd7a90b5c614804b71a1f47b34771ff /test/cpp/end2end/health_service_end2end_test.cc
parent0a4e83a12ed8d52f93aa52d41a625207c90cd2b6 (diff)
make test robust
Diffstat (limited to 'test/cpp/end2end/health_service_end2end_test.cc')
-rw-r--r--test/cpp/end2end/health_service_end2end_test.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/test/cpp/end2end/health_service_end2end_test.cc b/test/cpp/end2end/health_service_end2end_test.cc
index beb84e0a3f..8a6a9886c9 100644
--- a/test/cpp/end2end/health_service_end2end_test.cc
+++ b/test/cpp/end2end/health_service_end2end_test.cc
@@ -132,7 +132,7 @@ class HealthServiceEnd2endTest : public ::testing::Test {
protected:
HealthServiceEnd2endTest() {}
- void SetUpServer(bool register_sync_test_service,
+ void SetUpServer(bool register_sync_test_service, bool add_async_cq,
bool explicit_health_service,
std::unique_ptr<HealthCheckServiceInterface> service) {
int port = grpc_pick_unused_port_or_die();
@@ -157,18 +157,21 @@ class HealthServiceEnd2endTest : public ::testing::Test {
if (register_sync_health_service_impl) {
builder.RegisterService(&health_check_service_impl_);
}
- cq_ = builder.AddCompletionQueue();
+ if (add_async_cq) {
+ cq_ = builder.AddCompletionQueue();
+ }
server_ = builder.BuildAndStart();
}
void TearDown() override {
if (server_) {
server_->Shutdown();
- cq_->Shutdown();
+ if (cq_ != nullptr) {
+ cq_->Shutdown();
+ }
if (cq_thread_.joinable()) {
cq_thread_.join();
}
- LoopCompletionQueue(cq_.get());
}
}
@@ -241,7 +244,7 @@ class HealthServiceEnd2endTest : public ::testing::Test {
TEST_F(HealthServiceEnd2endTest, DefaultHealthServiceDisabled) {
EnableDefaultHealthCheckService(false);
EXPECT_FALSE(DefaultHealthCheckServiceEnabled());
- SetUpServer(true, false, nullptr);
+ SetUpServer(true, false, false, nullptr);
HealthCheckServiceInterface* default_service =
server_->GetHealthCheckService();
EXPECT_TRUE(default_service == nullptr);
@@ -254,7 +257,7 @@ TEST_F(HealthServiceEnd2endTest, DefaultHealthServiceDisabled) {
TEST_F(HealthServiceEnd2endTest, DefaultHealthService) {
EnableDefaultHealthCheckService(true);
EXPECT_TRUE(DefaultHealthCheckServiceEnabled());
- SetUpServer(true, false, nullptr);
+ SetUpServer(true, false, false, nullptr);
VerifyHealthCheckService();
// The default service has a size limit of the service name.
@@ -263,11 +266,13 @@ TEST_F(HealthServiceEnd2endTest, DefaultHealthService) {
Status(StatusCode::INVALID_ARGUMENT, ""));
}
-TEST_F(HealthServiceEnd2endTest, DefaultHealthServiceAsync) {
+// The server has no sync service.
+TEST_F(HealthServiceEnd2endTest, DefaultHealthServiceAsyncOnly) {
EnableDefaultHealthCheckService(true);
EXPECT_TRUE(DefaultHealthCheckServiceEnabled());
- SetUpServer(false, false, nullptr);
+ SetUpServer(false, true, false, nullptr);
cq_thread_ = std::thread(LoopCompletionQueue, cq_.get());
+
VerifyHealthCheckService();
// The default service has a size limit of the service name.
@@ -281,7 +286,7 @@ TEST_F(HealthServiceEnd2endTest, ExplicitlyDisableViaOverride) {
EnableDefaultHealthCheckService(true);
EXPECT_TRUE(DefaultHealthCheckServiceEnabled());
std::unique_ptr<HealthCheckServiceInterface> empty_service;
- SetUpServer(true, true, std::move(empty_service));
+ SetUpServer(true, false, true, std::move(empty_service));
HealthCheckServiceInterface* service = server_->GetHealthCheckService();
EXPECT_TRUE(service == nullptr);
@@ -297,7 +302,7 @@ TEST_F(HealthServiceEnd2endTest, ExplicitlyOverride) {
std::unique_ptr<HealthCheckServiceInterface> override_service(
new CustomHealthCheckService(&health_check_service_impl_));
HealthCheckServiceInterface* underlying_service = override_service.get();
- SetUpServer(false, true, std::move(override_service));
+ SetUpServer(false, false, true, std::move(override_service));
HealthCheckServiceInterface* service = server_->GetHealthCheckService();
EXPECT_TRUE(service == underlying_service);