| 
					
				 | 
			
			
				@@ -1251,7 +1251,7 @@ class ClientLbInterceptTrailingMetadataTest : public ClientLbEnd2endTest { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int trailers_intercepted_ = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-TEST_F(ClientLbInterceptTrailingMetadataTest, InterceptsRetries) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+TEST_F(ClientLbInterceptTrailingMetadataTest, InterceptsRetriesDisabled) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const int kNumServers = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const int kNumRpcs = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   StartServers(kNumServers); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1267,6 +1267,38 @@ TEST_F(ClientLbInterceptTrailingMetadataTest, InterceptsRetries) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   EXPECT_EQ(kNumRpcs, trailers_intercepted()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+TEST_F(ClientLbInterceptTrailingMetadataTest, InterceptsRetriesEnabled) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const int kNumServers = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const int kNumRpcs = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  StartServers(kNumServers); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ChannelArguments args; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  args.SetServiceConfigJSON( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "{\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "  \"methodConfig\": [ {\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "    \"name\": [\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      { \"service\": \"grpc.testing.EchoTestService\" }\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "    ],\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "    \"retryPolicy\": {\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      \"maxAttempts\": 3,\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      \"initialBackoff\": \"1s\",\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      \"maxBackoff\": \"120s\",\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      \"backoffMultiplier\": 1.6,\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "      \"retryableStatusCodes\": [ \"ABORTED\" ]\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "    }\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "  } ]\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  auto channel = BuildChannel("intercept_trailing_metadata_lb", args); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  auto stub = BuildStub(channel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  SetNextResolution(GetServersPorts()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (size_t i = 0; i < kNumRpcs; ++i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    CheckRpcSendOk(stub, DEBUG_LOCATION); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Check LB policy name for the channel. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  EXPECT_EQ("intercept_trailing_metadata_lb", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            channel->GetLoadBalancingPolicyName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  EXPECT_EQ(kNumRpcs, trailers_intercepted()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace testing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }  // namespace grpc 
			 |