aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Juanli Shen <juanlishen@google.com>2018-02-12 11:38:47 -0800
committerGravatar Juanli Shen <juanlishen@google.com>2018-02-12 13:32:32 -0800
commit95f37b31085546da54c3b618a2503b61abdfa267 (patch)
tree9c14d46dd08fd70bb1e20d580b43c1e9edecad40 /test
parent776490af0eae820fb8919b2ea6f245aff197a1ab (diff)
Fix test
Diffstat (limited to 'test')
-rw-r--r--test/cpp/end2end/grpclb_end2end_test.cc34
1 files changed, 8 insertions, 26 deletions
diff --git a/test/cpp/end2end/grpclb_end2end_test.cc b/test/cpp/end2end/grpclb_end2end_test.cc
index d84ec60a7b..21cad11a71 100644
--- a/test/cpp/end2end/grpclb_end2end_test.cc
+++ b/test/cpp/end2end/grpclb_end2end_test.cc
@@ -1096,7 +1096,7 @@ TEST_F(UpdatesTest, ReresolveDeadBalancer) {
SetNextResolution(addresses);
addresses.clear();
addresses.emplace_back(AddressData{balancer_servers_[1].port_, true, ""});
- SetNextResolutionUponError(addresses);
+ SetNextReresolutionResponse(addresses);
const std::vector<int> first_backend{GetBackendPorts()[0]};
const std::vector<int> second_backend{GetBackendPorts()[1]};
@@ -1178,14 +1178,12 @@ TEST_F(UpdatesTest, ReresolveDeadBackend) {
addresses.emplace_back(AddressData{balancer_servers_[0].port_, true, ""});
addresses.emplace_back(AddressData{backend_servers_[0].port_, false, ""});
SetNextResolution(addresses);
- // The re-resolution result will contain a balancer address.
+ // The re-resolution result will contain the addresses of the same balancer
+ // and a new fallback backend.
addresses.clear();
- addresses.emplace_back(AddressData{balancer_servers_[1].port_, true, ""});
- SetNextResolutionUponError(addresses);
- const std::vector<int> second_backend{backend_servers_[1].port_};
-
- ScheduleResponseForBalancer(
- 1, BalancerServiceImpl::BuildResponseForBackends(second_backend, {}), 0);
+ addresses.emplace_back(AddressData{balancer_servers_[0].port_, true, ""});
+ addresses.emplace_back(AddressData{backend_servers_[1].port_, false, ""});
+ SetNextReresolutionResponse(addresses);
// Start servers and send 10 RPCs per server.
gpr_log(GPR_INFO, "========= BEFORE FIRST BATCH ==========");
@@ -1199,22 +1197,6 @@ TEST_F(UpdatesTest, ReresolveDeadBackend) {
if (backends_[0]->Shutdown()) backend_servers_[0].Shutdown();
gpr_log(GPR_INFO, "********** KILLED BACKEND 0 *************");
- balancers_[0]->NotifyDoneWithServerlists();
- balancers_[1]->NotifyDoneWithServerlists();
- balancers_[2]->NotifyDoneWithServerlists();
- // Balancer 0 got a single request.
- EXPECT_EQ(1U, balancer_servers_[0].service_->request_count());
- // but didn't send any response.
- EXPECT_EQ(0U, balancer_servers_[0].service_->response_count());
- // Balancer 1 may have received a request if re-resolution is done quickly
- // enough.
- EXPECT_GE(balancer_servers_[1].service_->request_count(), 0U);
- EXPECT_GE(balancer_servers_[1].service_->response_count(), 0U);
- EXPECT_LE(balancer_servers_[1].service_->request_count(), 1U);
- EXPECT_LE(balancer_servers_[1].service_->response_count(), 1U);
- EXPECT_EQ(0U, balancer_servers_[2].service_->request_count());
- EXPECT_EQ(0U, balancer_servers_[2].service_->response_count());
-
// Wait until re-resolution has finished, as signaled by the second backend
// receiving a request.
WaitForBackend(1);
@@ -1230,8 +1212,8 @@ TEST_F(UpdatesTest, ReresolveDeadBackend) {
balancers_[2]->NotifyDoneWithServerlists();
EXPECT_EQ(1U, balancer_servers_[0].service_->request_count());
EXPECT_EQ(0U, balancer_servers_[0].service_->response_count());
- EXPECT_EQ(1U, balancer_servers_[1].service_->request_count());
- EXPECT_EQ(1U, balancer_servers_[1].service_->response_count());
+ EXPECT_EQ(0U, balancer_servers_[1].service_->request_count());
+ EXPECT_EQ(0U, balancer_servers_[1].service_->response_count());
EXPECT_EQ(0U, balancer_servers_[2].service_->request_count());
EXPECT_EQ(0U, balancer_servers_[2].service_->response_count());
}