clientconn: fix race when service config updated while closing
Closing `ClientConn` sets `balancerWrapper` to nil.
If service config switches balancer, the new balancer will be notified of the existing addresses.

When these two happens together, there's a chance that a method will be called on the nil `balancerWrapper`. This change adds a check to make sure that never happens. 

fixes #2367
### What version of gRPC are you using?
1.15.0

### What version of Go are you using (`go version`)?
1.11

### What operating system (Linux, Windows, …) and version?
linux

### What did you do?
Call Close on a ClientConn, meanwhile the resolver resolved a new service config

### What did you expect to see?
Close ClientConn without err

### What did you see instead?
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x910846]

goroutine 5513264 [running]:
myapp/vendor/google.golang.org/grpc.(*ccBalancerWrapper).handleResolvedAddrs(0x0, 0xc448770280, 0x1, 0x1, 0x0, 0x0)
        /opt/gopath/src/myapp/vendor/google.golang.org/grpc/balancer_conn_wrappers.go:182 +0x26
myapp/vendor/google.golang.org/grpc.(*ClientConn).handleServiceConfig(0xc43dc7ac00, 0xc445bfbc00, 0x1a7, 0x1, 0x1)
        /opt/gopath/src/myapp/vendor/google.golang.org/grpc/clientconn.go:1046 +0x299
myapp/vendor/google.golang.org/grpc.(*ccResolverWrapper).watcher(0xc43af18930)
        /opt/gopath/src/myapp/vendor/google.golang.org/grpc/resolver_conn_wrapper.go:125 +0x2d6
created by myapp/vendor/google.golang.org/grpc.(*ccResolverWrapper).start
        /opt/gopath/src/myapp/vendor/google.golang.org/grpc/resolver_conn_wrapper.go:95 +0x3f
```
panic when close ClientConn
diff --git a/clientconn.go b/clientconn.go
index 12ecf3b43b36..b3b22a157fb3 100644
--- a/clientconn.go
+++ b/clientconn.go
@@ -747,6 +747,13 @@ func (cc *ClientConn) handleServiceConfig(js string) error {
 		return err
 	}
 	cc.mu.Lock()
+	// Check if the ClientConn is already closed. Some fields (e.g.
+	// balancerWrapper) are set to nil when closing the ClientConn, and could
+	// cause nil pointer panic if we don't have this check.
+	if cc.conns == nil {
+		cc.mu.Unlock()
+		return nil
+	}
 	cc.scRaw = js
 	cc.sc = sc
 

diff --git a/clientconn_test.go b/clientconn_test.go
index 720fc35ceb62..8ee4595bcb4a 100644
--- a/clientconn_test.go
+++ b/clientconn_test.go
@@ -676,6 +676,22 @@ func TestResolverServiceConfigBeforeAddressNotPanic(t *testing.T) {
 	time.Sleep(time.Second) // Sleep to make sure the service config is handled by ClientConn.
 }
 
+func TestResolverServiceConfigWhileClosingNotPanic(t *testing.T) {
+	defer leakcheck.Check(t)
+	for i := 0; i < 10; i++ { // Run this multiple times to make sure it doesn't panic.
+		r, rcleanup := manual.GenerateAndRegisterManualResolver()
+		defer rcleanup()
+
+		cc, err := Dial(r.Scheme()+":///test.server", WithInsecure())
+		if err != nil {
+			t.Fatalf("failed to dial: %v", err)
+		}
+		// Send a new service config while closing the ClientConn.
+		go cc.Close()
+		go r.NewServiceConfig(`{"loadBalancingPolicy": "round_robin"}`) // This should not panic.
+	}
+}
+
 func TestResolverEmptyUpdateNotPanic(t *testing.T) {
 	defer leakcheck.Check(t)
 	r, rcleanup := manual.GenerateAndRegisterManualResolver()

{"TestToRPCErr": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDialCloseStateTransition": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPraseTimeOut": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBackendsPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDialParseTargetUnknownScheme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPraseMsgSize": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDisableServiceConfigOption": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPick": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseTargetString": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestSimpleParsing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetCodecForProtoIsNotNil": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestStreamContext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestAllServersDownPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResolverEmptyUpdateNotPanic": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetServiceInfo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseDuration": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestMultipleParsing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompress": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestStopBeforeServe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGracefulStop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestOneBackendPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestHTTPConnect": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetClientConnTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestNewAddressWhileBlockingPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickTransientWaitforready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResolverServiceConfigWhileClosingNotPanic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestParseWaitForReady": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCloseWithPendingRPCPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseDialTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickTimeout": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestOneServerDownPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestClientUpdatesParamsAfterGoAway": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResetConnectBackoff": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBackoffCancel": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestAddressesRemovedPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickNoSubAvailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestMapAddressEnv": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseLoadBalancer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickSCNotReady": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestEncode": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"TestOneBackend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPickFirstCloseWithPendingRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPipeClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendToOutgoingContext_FromKVSlice": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetOnWaitChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEventHasFired": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialContextCancel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestOneAddressRemoval": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithBackoffMaxDelay": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetServers": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsFullDuplexRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSayHello": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPickFirstOneAddressRemoval": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsUnaryDrop": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialWaitsForServerSettings": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSwitchBalancerGRPCLBFirst": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHeaderConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAuthInfoFromContext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorsWithSameParameters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEmptyAddrs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorUnknownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolverServiceConfigBeforeAddressNotPanic": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPingPong": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsStreamingSuccess": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithBackoffConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIsRunningOnGCP": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDial": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConvertUnknownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDNSResolverRetry": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLBCacheClientConnExpire": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocketOptions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPairsMD": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialWithBlockingBalancer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorProtoOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerHandshakeReturnsAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorImplementsInterface": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFileDescForType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMEncrypt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewLoggerFromConfigStringInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromNilProto": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestListener": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolve": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloneServer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAllExtensionNumbersForType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerDialOption": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromStdContextError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRegister": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSwitchBalancerGRPCLBServiceConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodNameInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolveFunc": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsFullDuplexRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRouteChat": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestListenerAndDialer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIncorrectMsgType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocketOpt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSwitchBalancerGRPCLBRoundRobin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSmallReadBuffer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInvokeErrorSpecialChars": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithTransportCredentialsTLS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseConnectionWhenServerPrefaceNotReceived": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInvokeLargeErr": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConnCloseWithData": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAllServersDown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWhileAccepting": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsUnaryRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompareRPCVersions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConnectivityStates": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetMethodLoggerOff": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSync": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewLoggerFromConfigString": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSyncTooSlow": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWithPendingRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestJSONUnmarshal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsClientStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestOneServerDown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPickFirstOrderAllServerUp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBackendsRoundRobin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringPerService": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialWithMultipleBackendsNotSendingServerPreface": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsStreamingFailedToSend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetServerSockets": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendToOutgoingContext_Repeated": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithAuthorityAndTLS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringGlobal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDisableServiceConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerAndClientHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCopy": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConvertKnownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromContextError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConcurrentUsage": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTLSOverrideServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPeerNotResponding": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLoggerV2Severity": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAuthInfoFromPeer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloneClient": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithAuthority": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSwitchBalancer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMRekeyEncryptRoundtrip": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInfoServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetMethodLogger": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPickFirstEmptyAddrs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTrace": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestOverrideServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLongMethodConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsFullDuplexRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTags": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientHandshakeReturnsAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMEncryptRoundtrip": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestMessageConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsFullDuplexRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCredentialsMisuse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckRegisterIgnore": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPipe": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestJoin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFrameTooLarge": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBWeighted": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestALTSAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringPerMethod": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEventMultipleFires": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBasicProtoCodecMarshalAndUnmarshal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNonblockingDialWithEmptyBalancer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDefaultAuthority": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWriteLargeData": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsUnaryRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCounterSides": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFallback": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithTimeout": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodConfigAndSuffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMRekeyEncrypt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendToOutgoingContext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIPWatcher": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheck": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInvokeCancelClosedNonFailFast": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_WithDetails_Fail": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewAddressWhileBlocking": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialWaitsForServerSettingsAndFails": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAddressesRemoved": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFileDescContainingExtension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTLSServerNameOverwrite": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_UnknownInput": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsStreamingDrop": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_ErrorDetails": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckRPCVersions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestReflectionEnd2end": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDropRequest": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromToProto": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsClientStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBufferBloat": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLB": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsClientStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerDisconnects": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConn": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsUnaryFailedToSend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNameDiscovery": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInvokeCancel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStaggeredMarshalAndUnmarshalUsingSamePool": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCounterInc": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSwitchBalancerGRPCLBSecond": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBackoffWhenNoServerPrefaceReceived": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTypeForName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseHeaderMessageLengthConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCustomAuthority": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDialContextFailFast": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLBCacheClientConnReuse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTLSClone": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseHeaderMessageLengthConfigInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_MarshalUnmarshal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodConfigAndSuffixInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWithBackoffConfigDefault": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetTopChannels": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringBlacklist": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWhileDialing": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRolloverCounter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompileUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsClientStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPickFirstOrderOneServerDown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInvoke": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRoundRobin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsUnarySuccess": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLargeMsg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEventDoneChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTypeForNameNotFound": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocket": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHeaderMessageConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSubChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_NilReceiver": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_ErrorDetails_Fail": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"TestToRPCErr": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDialCloseStateTransition": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPraseTimeOut": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBackendsPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDialParseTargetUnknownScheme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestPraseMsgSize": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestDisableServiceConfigOption": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPick": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseTargetString": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestSimpleParsing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetCodecForProtoIsNotNil": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestStreamContext": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestAllServersDownPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResolverEmptyUpdateNotPanic": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetServiceInfo": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseDuration": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestMultipleParsing": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCompress": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestStopBeforeServe": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGracefulStop": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestOneBackendPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestHTTPConnect": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestGetClientConnTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestNewAddressWhileBlockingPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickTransientWaitforready": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResolverServiceConfigWhileClosingNotPanic": {"run": "NONE", "test": "NONE", "fix": "PASS"}, "TestParseWaitForReady": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestCloseWithPendingRPCPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseDialTarget": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickTimeout": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestOneServerDownPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestClientUpdatesParamsAfterGoAway": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestResetConnectBackoff": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBackoffCancel": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestAddressesRemovedPickfirst": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickNoSubAvailable": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestMapAddressEnv": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestParseLoadBalancer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestBlockingPickSCNotReady": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "TestEncode": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 247, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestPickFirstCloseWithPendingRPC", "TestToRPCErr", "TestServerStatsUnaryRPC", "TestPipeClose", "TestDialCloseStateTransition", "TestAppendToOutgoingContext_FromKVSlice", "TestGetOnWaitChannel", "TestEventHasFired", "TestDialContextCancel", "TestPraseTimeOut", "TestBackendsPickfirst", "TestOneAddressRemoval", "TestFillMethodLoggerWithConfigStringInvalid", "TestWithBackoffMaxDelay", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestPickFirstOneAddressRemoval", "TestGRPCLBStatsUnaryDrop", "TestDialWaitsForServerSettings", "TestSwitchBalancerGRPCLBFirst", "TestDialParseTargetUnknownScheme", "TestHeaderConfigRegexp", "TestAuthInfoFromContext", "TestErrorsWithSameParameters", "TestEmptyAddrs", "TestFromErrorUnknownError", "TestResolverServiceConfigBeforeAddressNotPanic", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestWithBackoffConfig", "TestIsRunningOnGCP", "TestDial", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestPraseMsgSize", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestPairsMD", "TestDialWithBlockingBalancer", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestDisableServiceConfigOption", "TestParseTarget", "TestBlockingPick", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestListener", "TestResolve", "TestCloneServer", "TestAllExtensionNumbersForType", "TestParseTargetString", "TestSimpleParsing", "TestGetCodecForProtoIsNotNil", "TestStreamContext", "TestBalancerDialOption", "TestFromStdContextError", "TestRegister", "TestSwitchBalancerGRPCLBServiceConfig", "TestParseMethodNameInvalid", "TestResolveFunc", "TestAllServersDownPickfirst", "TestResolverEmptyUpdateNotPanic", "TestServerStatsServerStreamRPCError", "TestServerStatsFullDuplexRPCError", "TestRouteChat", "TestGetServiceInfo", "TestListenerAndDialer", "TestIncorrectMsgType", "TestGetSocketOpt", "TestSwitchBalancerGRPCLBRoundRobin", "TestSmallReadBuffer", "TestInvokeErrorSpecialChars", "TestWithTransportCredentialsTLS", "TestParseDuration", "TestSet", "TestCloseConnectionWhenServerPrefaceNotReceived", "TestInvokeLargeErr", "TestMultipleParsing", "TestConnCloseWithData", "TestAllServersDown", "TestCompress", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestClientStatsUnaryRPCError", "TestCompareRPCVersions", "TestStopBeforeServe", "TestConnectivityStates", "TestGetMethodLoggerOff", "TestSync", "TestErrorOK", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestGracefulStop", "TestCloseWithPendingRPC", "TestGet", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestPickFirstOrderAllServerUp", "TestBackendsRoundRobin", "TestOneBackendPickfirst", "TestFillMethodLoggerWithConfigStringPerService", "TestDialWithMultipleBackendsNotSendingServerPreface", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestAppendToOutgoingContext_Repeated", "TestWithAuthorityAndTLS", "TestFillMethodLoggerWithConfigStringGlobal", "TestDisableServiceConfig", "TestServerAndClientHandshake", "TestCopy", "TestConvertKnownError", "TestFromContextError", "TestHTTPConnect", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestCloneClient", "TestParseMethodName", "TestWithAuthority", "TestGetClientConnTarget", "TestInfo", "TestSwitchBalancer", "TestAES128GCMRekeyEncryptRoundtrip", "TestNewAddressWhileBlockingPickfirst", "TestInfoServerName", "TestAppend", "TestGetMethodLogger", "TestPickFirstEmptyAddrs", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientStatsFullDuplexRPCError", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestMessageConfigRegexp", "TestClientStatsFullDuplexRPC", "TestCredentialsMisuse", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestBlockingPickTransientWaitforready", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestNonblockingDialWithEmptyBalancer", "TestDefaultAuthority", "TestWriteLargeData", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestWithTimeout", "TestParseWaitForReady", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestCloseWithPendingRPCPickfirst", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestClientStatsUnaryRPC", "TestIPWatcher", "TestParseDialTarget", "TestCheck", "TestInvokeCancelClosedNonFailFast", "TestBlockingPickTimeout", "TestStatus_WithDetails_Fail", "TestNewAddressWhileBlocking", "TestDialWaitsForServerSettingsAndFails", "TestAddressesRemoved", "TestFileDescContainingExtension", "TestTLSServerNameOverwrite", "TestUnmarshalJSON_UnknownInput", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestOneServerDownPickfirst", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "TestBufferBloat", "TestClientUpdatesParamsAfterGoAway", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestNameDiscovery", "TestInvokeCancel", "TestResetConnectBackoff", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestGetChannel", "TestCounterInc", "TestSwitchBalancerGRPCLBSecond", "TestBackoffWhenNoServerPrefaceReceived", "TestTypeForName", "TestBackoffCancel", "TestAddressesRemovedPickfirst", "TestParseHeaderMessageLengthConfig", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestBlockingPickNoSubAvailable", "TestDialContextFailFast", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestWithBackoffConfigDefault", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestPickFirstOrderOneServerDown", "TestInvoke", "TestMapAddressEnv", "TestRoundRobin", "TestParseLoadBalancer", "TestBlockingPickSCNotReady", "TestGRPCLBStatsUnarySuccess", "TestLargeMsg", "TestEventDoneChannel", "TestTypeForNameNotFound", "TestGetSocket", "TestHeaderMessageConfigRegexp", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake", "TestEncode"], "failed_tests": ["google.golang.org/grpc/internal", "google.golang.org/grpc"], "skipped_tests": []}
{"passed_count": 207, "failed_count": 3, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestPickFirstCloseWithPendingRPC", "TestServerStatsUnaryRPC", "TestPipeClose", "TestAppendToOutgoingContext_FromKVSlice", "TestGetOnWaitChannel", "TestEventHasFired", "TestDialContextCancel", "TestOneAddressRemoval", "TestFillMethodLoggerWithConfigStringInvalid", "TestWithBackoffMaxDelay", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestPickFirstOneAddressRemoval", "TestGRPCLBStatsUnaryDrop", "TestDialWaitsForServerSettings", "TestSwitchBalancerGRPCLBFirst", "TestHeaderConfigRegexp", "TestErrorsWithSameParameters", "TestAuthInfoFromContext", "TestEmptyAddrs", "TestFromErrorUnknownError", "TestResolverServiceConfigBeforeAddressNotPanic", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestWithBackoffConfig", "TestIsRunningOnGCP", "TestDial", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestPairsMD", "TestDialWithBlockingBalancer", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestListener", "TestResolve", "TestCloneServer", "TestAllExtensionNumbersForType", "TestBalancerDialOption", "TestFromStdContextError", "TestRegister", "TestSwitchBalancerGRPCLBServiceConfig", "TestParseMethodNameInvalid", "TestResolveFunc", "TestServerStatsServerStreamRPCError", "TestServerStatsFullDuplexRPCError", "TestRouteChat", "TestListenerAndDialer", "TestIncorrectMsgType", "TestGetSocketOpt", "TestSwitchBalancerGRPCLBRoundRobin", "TestSmallReadBuffer", "TestInvokeErrorSpecialChars", "TestWithTransportCredentialsTLS", "TestSet", "TestCloseConnectionWhenServerPrefaceNotReceived", "TestInvokeLargeErr", "TestConnCloseWithData", "TestAllServersDown", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestClientStatsUnaryRPCError", "TestCompareRPCVersions", "TestConnectivityStates", "TestGetMethodLoggerOff", "TestSync", "TestErrorOK", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestCloseWithPendingRPC", "TestGet", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestPickFirstOrderAllServerUp", "TestBackendsRoundRobin", "TestFillMethodLoggerWithConfigStringPerService", "TestDialWithMultipleBackendsNotSendingServerPreface", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestAppendToOutgoingContext_Repeated", "TestWithAuthorityAndTLS", "TestFillMethodLoggerWithConfigStringGlobal", "TestDisableServiceConfig", "TestServerAndClientHandshake", "TestCopy", "TestConvertKnownError", "TestFromContextError", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestCloneClient", "TestParseMethodName", "TestWithAuthority", "TestInfo", "TestSwitchBalancer", "TestAES128GCMRekeyEncryptRoundtrip", "TestInfoServerName", "TestAppend", "TestGetMethodLogger", "TestPickFirstEmptyAddrs", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientStatsFullDuplexRPCError", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestMessageConfigRegexp", "TestClientStatsFullDuplexRPC", "TestCredentialsMisuse", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestNonblockingDialWithEmptyBalancer", "TestDefaultAuthority", "TestWriteLargeData", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestWithTimeout", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestClientStatsUnaryRPC", "TestIPWatcher", "TestCheck", "TestInvokeCancelClosedNonFailFast", "TestStatus_WithDetails_Fail", "TestNewAddressWhileBlocking", "TestDialWaitsForServerSettingsAndFails", "TestAddressesRemoved", "TestFileDescContainingExtension", "TestTLSServerNameOverwrite", "TestUnmarshalJSON_UnknownInput", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "TestBufferBloat", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestNameDiscovery", "TestInvokeCancel", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestGetChannel", "TestCounterInc", "TestSwitchBalancerGRPCLBSecond", "TestBackoffWhenNoServerPrefaceReceived", "TestTypeForName", "TestParseHeaderMessageLengthConfig", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestDialContextFailFast", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestWithBackoffConfigDefault", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestPickFirstOrderOneServerDown", "TestInvoke", "TestRoundRobin", "TestLargeMsg", "TestEventDoneChannel", "TestGRPCLBStatsUnarySuccess", "TestTypeForNameNotFound", "TestGetSocket", "TestHeaderMessageConfigRegexp", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake"], "failed_tests": ["google.golang.org/grpc/internal", "google.golang.org/grpc", "google.golang.org"], "skipped_tests": []}
{"passed_count": 248, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestPickFirstCloseWithPendingRPC", "TestToRPCErr", "TestServerStatsUnaryRPC", "TestPipeClose", "TestDialCloseStateTransition", "TestAppendToOutgoingContext_FromKVSlice", "TestGetOnWaitChannel", "TestEventHasFired", "TestDialContextCancel", "TestPraseTimeOut", "TestBackendsPickfirst", "TestOneAddressRemoval", "TestFillMethodLoggerWithConfigStringInvalid", "TestWithBackoffMaxDelay", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestPickFirstOneAddressRemoval", "TestGRPCLBStatsUnaryDrop", "TestDialWaitsForServerSettings", "TestSwitchBalancerGRPCLBFirst", "TestDialParseTargetUnknownScheme", "TestHeaderConfigRegexp", "TestAuthInfoFromContext", "TestErrorsWithSameParameters", "TestEmptyAddrs", "TestFromErrorUnknownError", "TestResolverServiceConfigBeforeAddressNotPanic", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestWithBackoffConfig", "TestIsRunningOnGCP", "TestDial", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestPraseMsgSize", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestPairsMD", "TestDialWithBlockingBalancer", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestDisableServiceConfigOption", "TestParseTarget", "TestBlockingPick", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestListener", "TestResolve", "TestCloneServer", "TestAllExtensionNumbersForType", "TestParseTargetString", "TestSimpleParsing", "TestGetCodecForProtoIsNotNil", "TestStreamContext", "TestBalancerDialOption", "TestFromStdContextError", "TestRegister", "TestSwitchBalancerGRPCLBServiceConfig", "TestParseMethodNameInvalid", "TestResolveFunc", "TestAllServersDownPickfirst", "TestResolverEmptyUpdateNotPanic", "TestServerStatsServerStreamRPCError", "TestServerStatsFullDuplexRPCError", "TestRouteChat", "TestGetServiceInfo", "TestListenerAndDialer", "TestIncorrectMsgType", "TestGetSocketOpt", "TestSwitchBalancerGRPCLBRoundRobin", "TestSmallReadBuffer", "TestInvokeErrorSpecialChars", "TestWithTransportCredentialsTLS", "TestParseDuration", "TestSet", "TestCloseConnectionWhenServerPrefaceNotReceived", "TestInvokeLargeErr", "TestMultipleParsing", "TestConnCloseWithData", "TestAllServersDown", "TestCompress", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestClientStatsUnaryRPCError", "TestCompareRPCVersions", "TestStopBeforeServe", "TestConnectivityStates", "TestGetMethodLoggerOff", "TestSync", "TestErrorOK", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestGracefulStop", "TestCloseWithPendingRPC", "TestGet", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestPickFirstOrderAllServerUp", "TestBackendsRoundRobin", "TestOneBackendPickfirst", "TestFillMethodLoggerWithConfigStringPerService", "TestDialWithMultipleBackendsNotSendingServerPreface", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestAppendToOutgoingContext_Repeated", "TestWithAuthorityAndTLS", "TestFillMethodLoggerWithConfigStringGlobal", "TestDisableServiceConfig", "TestServerAndClientHandshake", "TestCopy", "TestConvertKnownError", "TestFromContextError", "TestHTTPConnect", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestCloneClient", "TestParseMethodName", "TestWithAuthority", "TestGetClientConnTarget", "TestInfo", "TestSwitchBalancer", "TestAES128GCMRekeyEncryptRoundtrip", "TestNewAddressWhileBlockingPickfirst", "TestInfoServerName", "TestAppend", "TestGetMethodLogger", "TestPickFirstEmptyAddrs", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientStatsFullDuplexRPCError", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestMessageConfigRegexp", "TestClientStatsFullDuplexRPC", "TestCredentialsMisuse", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestBlockingPickTransientWaitforready", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestNonblockingDialWithEmptyBalancer", "TestDefaultAuthority", "TestWriteLargeData", "TestResolverServiceConfigWhileClosingNotPanic", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestWithTimeout", "TestParseWaitForReady", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestCloseWithPendingRPCPickfirst", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestClientStatsUnaryRPC", "TestIPWatcher", "TestParseDialTarget", "TestCheck", "TestInvokeCancelClosedNonFailFast", "TestBlockingPickTimeout", "TestStatus_WithDetails_Fail", "TestNewAddressWhileBlocking", "TestDialWaitsForServerSettingsAndFails", "TestAddressesRemoved", "TestFileDescContainingExtension", "TestTLSServerNameOverwrite", "TestUnmarshalJSON_UnknownInput", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestOneServerDownPickfirst", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "TestBufferBloat", "TestClientUpdatesParamsAfterGoAway", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestNameDiscovery", "TestInvokeCancel", "TestResetConnectBackoff", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestGetChannel", "TestCounterInc", "TestSwitchBalancerGRPCLBSecond", "TestBackoffWhenNoServerPrefaceReceived", "TestTypeForName", "TestBackoffCancel", "TestAddressesRemovedPickfirst", "TestParseHeaderMessageLengthConfig", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestBlockingPickNoSubAvailable", "TestDialContextFailFast", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestWithBackoffConfigDefault", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestPickFirstOrderOneServerDown", "TestInvoke", "TestMapAddressEnv", "TestRoundRobin", "TestParseLoadBalancer", "TestBlockingPickSCNotReady", "TestGRPCLBStatsUnarySuccess", "TestLargeMsg", "TestEventDoneChannel", "TestTypeForNameNotFound", "TestGetSocket", "TestHeaderMessageConfigRegexp", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake", "TestEncode"], "failed_tests": ["google.golang.org/grpc/internal", "google.golang.org/grpc"], "skipped_tests": []}