|
|
|
@ -1076,6 +1076,24 @@ TEST_F(End2endTest, ChannelState) { |
|
|
|
|
EXPECT_EQ(GRPC_CHANNEL_CONNECTING, channel_->GetState(false)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Takes 10s.
|
|
|
|
|
TEST_F(End2endTest, ChannelStateTimeout) { |
|
|
|
|
int port = grpc_pick_unused_port_or_die(); |
|
|
|
|
std::ostringstream server_address; |
|
|
|
|
server_address << "127.0.0.1:" << port; |
|
|
|
|
// Channel to non-existing server
|
|
|
|
|
auto channel = CreateChannel(server_address.str(), InsecureCredentials()); |
|
|
|
|
// Start IDLE
|
|
|
|
|
EXPECT_EQ(GRPC_CHANNEL_IDLE, channel->GetState(true)); |
|
|
|
|
|
|
|
|
|
auto state = GRPC_CHANNEL_IDLE; |
|
|
|
|
for (int i = 0; i < 10; i++) { |
|
|
|
|
channel->WaitForStateChange(state, std::chrono::system_clock::now() + |
|
|
|
|
std::chrono::milliseconds(1000)); |
|
|
|
|
state = channel->GetState(false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Talking to a non-existing service.
|
|
|
|
|
TEST_F(End2endTest, NonExistingService) { |
|
|
|
|
ResetChannel(); |
|
|
|
|