dns: do not call NewServiceConfig when lookups are disabled
Also:
- Fully ignore `NewServiceConfig` calls in `resolver_conn_wrapper`
- Fix `dns_resolver_test` to actually test service configs, and a handful of cleanups

Fixes #3199

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/grpc/grpc-go/3201)
<!-- Reviewable:end -->

### What version of gRPC are you using?

v1.25.0 or later

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

`go version go1.13.4 darwin/amd64`

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

Mac, Linux

### What did you do?
If possible, provide a recipe for reproducing the error.

### What did you expect to see?

For DNS resolver, the default frequency of DNS resolution is 30 minutes, so DNS resolution happens every 30 minutes.

### What did you see instead?

For DNS resolver, the minimum duration for re-resolution is set to 30 seconds by `minDNSResRate`. When Service Config is invalid, DNS resolution happens every 30 seconds. This happens even if service config feature is not used, which means txt lookup returns error.

This is because of [polling](https://github.com/grpc/grpc-go/blob/v1.25.x/resolver_conn_wrapper.go#L221-L231) that is introduced from v1.25.0 for error handling. The `NewServiceConfig` is called from resolver when service config is updated. 
In DNS resolver, [watcher](https://github.com/grpc/grpc-go/blob/v1.25.x/internal/resolver/dns/dns_resolver.go#L267) calls NewServiceConfig. The polling calls `ResolveNow` to do immediate re-resolution, so the request of dns resolution is queued in dns resolver. The request also makes a call of `NewServiceConfig`, so it becomes infinite loop.

If a resolver calls NewServiceConfig as a result of ResolveNow, the resolver possibly becomes loops. I'm not sure which part is bad, but NewServiceConfig should not be called when service config is disabled and it is better to have backoff for re-resolution.

Re-resolution loop when service config is not supported
diff --git a/internal/resolver/dns/dns_resolver.go b/internal/resolver/dns/dns_resolver.go
index e7ffc4f60e92..65f231c12cbc 100644
--- a/internal/resolver/dns/dns_resolver.go
+++ b/internal/resolver/dns/dns_resolver.go
@@ -268,7 +268,9 @@ func (d *dnsResolver) watcher() {
 			d.retryCount = 0
 			d.t.Reset(d.freq)
 		}
-		d.cc.NewServiceConfig(sc)
+		if sc != "" { // We get empty string when disabled or the TXT lookup failed.
+			d.cc.NewServiceConfig(sc)
+		}
 		d.cc.NewAddress(result)
 
 		// Sleep to prevent excessive re-resolutions. Incoming resolution requests
diff --git a/resolver_conn_wrapper.go b/resolver_conn_wrapper.go
index 35d40d0a6e1a..4c8b40525065 100644
--- a/resolver_conn_wrapper.go
+++ b/resolver_conn_wrapper.go
@@ -217,6 +217,10 @@ func (ccr *ccResolverWrapper) NewServiceConfig(sc string) {
 		return
 	}
 	grpclog.Infof("ccResolverWrapper: got new service config: %v", sc)
+	if ccr.cc.dopts.disableServiceConfig {
+		grpclog.Infof("Service config lookups disabled; ignoring config")
+		return
+	}
 	scpr := parseServiceConfig(sc)
 	if scpr.Err != nil {
 		grpclog.Warningf("ccResolverWrapper: error parsing service config: %v", scpr.Err)

diff --git a/internal/resolver/dns/dns_resolver_test.go b/internal/resolver/dns/dns_resolver_test.go
index 37dd953e0330..f8083b2026e5 100644
--- a/internal/resolver/dns/dns_resolver_test.go
+++ b/internal/resolver/dns/dns_resolver_test.go
@@ -183,20 +183,6 @@ func srvLookup(service, proto, name string) (string, []*net.SRV, error) {
 	return "", nil, fmt.Errorf("failed to lookup srv record for %s in srvLookupTbl", cname)
 }
 
-// div divides a byte slice into a slice of strings, each of which is of maximum
-// 255 bytes length, which is the length limit per TXT record in DNS.
-func div(b []byte) []string {
-	var r []string
-	for i := 0; i < len(b); i += txtBytesLimit {
-		if i+txtBytesLimit > len(b) {
-			r = append(r, string(b[i:]))
-		} else {
-			r = append(r, string(b[i:i+txtBytesLimit]))
-		}
-	}
-	return r
-}
-
 // scfs contains an array of service config file string in JSON format.
 // Notes about the scfs contents and usage:
 // scfs contains 4 service config file JSON strings for testing. Inside each
@@ -605,52 +591,36 @@ var scs = []string{
 		}`,
 }
 
-// scLookupTbl is a set, which contains targets that have service config. Target
-// not in this set should not have service config.
-var scLookupTbl = map[string]bool{
-	txtPrefix + "foo.bar.com":          true,
-	txtPrefix + "srv.ipv4.single.fake": true,
-	txtPrefix + "srv.ipv4.multi.fake":  true,
-	txtPrefix + "no.attribute":         true,
-}
-
-// generateSCF generates a slice of strings (aggregately representing a single
-// service config file) for the input name, which mocks the result from a real
-// DNS TXT record lookup.
-func generateSCF(name string) []string {
-	var b []byte
-	switch name {
-	case "foo.bar.com":
-		b = []byte(scfs[0])
-	case "srv.ipv4.single.fake":
-		b = []byte(scfs[1])
-	case "srv.ipv4.multi.fake":
-		b = []byte(scfs[2])
-	default:
-		b = []byte(scfs[3])
-	}
-	if name == "no.attribute" {
-		return div(b)
-	}
-	return div(append([]byte(txtAttribute), b...))
+// scLookupTbl is a map, which contains targets that have service config to
+// their configs.  Targets not in this set should not have service config.
+var scLookupTbl = map[string]string{
+	"foo.bar.com":          scs[0],
+	"srv.ipv4.single.fake": scs[1],
+	"srv.ipv4.multi.fake":  scs[2],
 }
 
 // generateSC returns a service config string in JSON format for the input name.
 func generateSC(name string) string {
-	_, cnt := scLookupTbl[name]
-	if !cnt || name == "no.attribute" {
-		return ""
-	}
-	switch name {
-	case "foo.bar.com":
-		return scs[0]
-	case "srv.ipv4.single.fake":
-		return scs[1]
-	case "srv.ipv4.multi.fake":
-		return scs[2]
-	default:
-		return ""
+	return scLookupTbl[name]
+}
+
+// generateSCF generates a slice of strings (aggregately representing a single
+// service config file) for the input config string, which mocks the result
+// from a real DNS TXT record lookup.
+func generateSCF(cfg string) []string {
+	b := append([]byte(txtAttribute), []byte(cfg)...)
+
+	// Split b into multiple strings, each with a max of 255 bytes, which is
+	// the DNS TXT record limit.
+	var r []string
+	for i := 0; i < len(b); i += txtBytesLimit {
+		if i+txtBytesLimit > len(b) {
+			r = append(r, string(b[i:]))
+		} else {
+			r = append(r, string(b[i:i+txtBytesLimit]))
+		}
 	}
+	return r
 }
 
 var txtLookupTbl = struct {
@@ -658,12 +628,11 @@ var txtLookupTbl = struct {
 	tbl map[string][]string
 }{
 	tbl: map[string][]string{
-		"foo.bar.com":          generateSCF("foo.bar.com"),
-		"srv.ipv4.single.fake": generateSCF("srv.ipv4.single.fake"),
-		"srv.ipv4.multi.fake":  generateSCF("srv.ipv4.multi.fake"),
-		"srv.ipv6.single.fake": generateSCF("srv.ipv6.single.fake"),
-		"srv.ipv6.multi.fake":  generateSCF("srv.ipv6.multi.fake"),
-		"no.attribute":         generateSCF("no.attribute"),
+		txtPrefix + "foo.bar.com":          generateSCF(scfs[0]),
+		txtPrefix + "srv.ipv4.single.fake": generateSCF(scfs[1]),
+		txtPrefix + "srv.ipv4.multi.fake":  generateSCF(scfs[2]),
+		txtPrefix + "srv.ipv6.single.fake": generateSCF(scfs[3]),
+		txtPrefix + "srv.ipv6.multi.fake":  generateSCF(scfs[3]),
 	},
 }
 
@@ -720,11 +689,6 @@ func testDNSResolver(t *testing.T) {
 			nil,
 			generateSC("srv.ipv6.multi.fake"),
 		},
-		{
-			"no.attribute",
-			nil,
-			generateSC("no.attribute"),
-		},
 	}
 
 	for _, a := range tests {
@@ -744,12 +708,18 @@ func testDNSResolver(t *testing.T) {
 			time.Sleep(time.Millisecond)
 		}
 		var sc string
-		for {
-			sc, cnt = cc.getSc()
-			if cnt > 0 {
-				break
+		if a.scWant != "" {
+			for {
+				sc, cnt = cc.getSc()
+				if cnt > 0 {
+					break
+				}
+				time.Sleep(time.Millisecond)
 			}
-			time.Sleep(time.Millisecond)
+		} else {
+			// A new service config should never be produced; call getSc once
+			// just in case.
+			sc, _ = cc.getSc()
 		}
 		if !reflect.DeepEqual(a.addrWant, addrs) {
 			t.Errorf("Resolved addresses of target: %q = %+v, want %+v\n", a.target, addrs, a.addrWant)
@@ -810,11 +780,6 @@ func testDNSResolverWithSRV(t *testing.T) {
 			},
 			generateSC("srv.ipv6.multi.fake"),
 		},
-		{
-			"no.attribute",
-			nil,
-			generateSC("no.attribute"),
-		},
 	}
 
 	for _, a := range tests {
@@ -834,12 +799,18 @@ func testDNSResolverWithSRV(t *testing.T) {
 			time.Sleep(time.Millisecond)
 		}
 		var sc string
-		for {
-			sc, cnt = cc.getSc()
-			if cnt > 0 {
-				break
+		if a.scWant != "" {
+			for {
+				sc, cnt = cc.getSc()
+				if cnt > 0 {
+					break
+				}
+				time.Sleep(time.Millisecond)
 			}
-			time.Sleep(time.Millisecond)
+		} else {
+			// A new service config should never be produced; call getSc once
+			// just in case.
+			sc, _ = cc.getSc()
 		}
 		if !reflect.DeepEqual(a.addrWant, addrs) {
 			t.Errorf("Resolved addresses of target: %q = %+v, want %+v\n", a.target, addrs, a.addrWant)
@@ -857,8 +828,8 @@ func mutateTbl(target string) func() {
 	hostLookupTbl.tbl[target] = hostLookupTbl.tbl[target][:len(oldHostTblEntry)-1]
 	hostLookupTbl.Unlock()
 	txtLookupTbl.Lock()
-	oldTxtTblEntry := txtLookupTbl.tbl[target]
-	txtLookupTbl.tbl[target] = []string{""}
+	oldTxtTblEntry := txtLookupTbl.tbl[txtPrefix+target]
+	txtLookupTbl.tbl[txtPrefix+target] = []string{txtAttribute + `[{"serviceConfig":{"loadBalancingPolicy": "grpclb"}}]`}
 	txtLookupTbl.Unlock()
 
 	return func() {
@@ -866,7 +837,7 @@ func mutateTbl(target string) func() {
 		hostLookupTbl.tbl[target] = oldHostTblEntry
 		hostLookupTbl.Unlock()
 		txtLookupTbl.Lock()
-		txtLookupTbl.tbl[target] = oldTxtTblEntry
+		txtLookupTbl.tbl[txtPrefix+target] = oldTxtTblEntry
 		txtLookupTbl.Unlock()
 	}
 }
@@ -885,7 +856,7 @@ func testDNSResolveNow(t *testing.T) {
 			[]resolver.Address{{Addr: "1.2.3.4" + colonDefaultPort}, {Addr: "5.6.7.8" + colonDefaultPort}},
 			[]resolver.Address{{Addr: "1.2.3.4" + colonDefaultPort}},
 			generateSC("foo.bar.com"),
-			"",
+			`{"loadBalancingPolicy": "grpclb"}`,
 		},
 	}
 
@@ -921,16 +892,18 @@ func testDNSResolveNow(t *testing.T) {
 		}
 		revertTbl := mutateTbl(a.target)
 		r.ResolveNow(resolver.ResolveNowOptions{})
-		for {
+		for i := 0; i < 1000; i++ {
 			addrs, cnt = cc.getAddress()
-			if cnt == 2 {
+			// Break if the address list changes or enough redundant updates happen.
+			if !reflect.DeepEqual(addrs, a.addrWant) || cnt > 10 {
 				break
 			}
 			time.Sleep(time.Millisecond)
 		}
-		for {
+		for i := 0; i < 1000; i++ {
 			sc, cnt = cc.getSc()
-			if cnt == 2 {
+			// Break if the service config changes or enough redundant updates happen.
+			if !reflect.DeepEqual(sc, a.scWant) || cnt > 10 {
 				break
 			}
 			time.Sleep(time.Millisecond)
@@ -1066,13 +1039,20 @@ func TestDisableServiceConfig(t *testing.T) {
 		}
 		var cnt int
 		var sc string
-		for {
-			sc, cnt = cc.getSc()
+		// First wait for addresses.  We know service configs are reported
+		// first, so once addresses have been reported, we can then check to
+		// see whether any configs have been reported..
+		for i := 0; i < 1000; i++ {
+			_, cnt = cc.getAddress()
 			if cnt > 0 {
 				break
 			}
 			time.Sleep(time.Millisecond)
 		}
+		sc, cnt = cc.getSc()
+		if a.disableServiceConfig && cnt > 0 {
+			t.Errorf("Resolver reported a service config even though lookups are disabled: sc=%v, cnt=%v", sc, cnt)
+		}
 		if !reflect.DeepEqual(a.scWant, sc) {
 			t.Errorf("Resolved service config of target: %q = %+v, want %+v\n", a.target, sc, a.scWant)
 		}
@@ -1114,22 +1094,18 @@ func TestDNSResolverRetry(t *testing.T) {
 	revertTbl()
 	// wait for the retry to happen in two seconds.
 	timer := time.NewTimer(2 * time.Second)
+loop:
 	for {
-		b := false
 		select {
 		case <-timer.C:
-			b = true
+			break loop
 		default:
 			addrs, _ = cc.getAddress()
-			if len(addrs) == 1 {
-				b = true
-				break
+			if len(addrs) != 0 {
+				break loop
 			}
 			time.Sleep(time.Millisecond)
 		}
-		if b {
-			break
-		}
 	}
 	if !reflect.DeepEqual(want, addrs) {
 		t.Errorf("Resolved addresses of target: %q = %+v, want %+v\n", target, addrs, want)

{"TestDisableServiceConfig": {"run": "PASS", "test": "FAIL", "fix": "PASS"}}
{"TestOneBackend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestV2ClientBackoffAfterRecvError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPipeClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIsRoundRobin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNew": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRDSCaching": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_HigherReadyCloseAllLower": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewConfigEnvNotSet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_locality_caching": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsUnaryDrop": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRateLimitedResolve": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHeaderConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorsWithSameParameters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAuthInfoFromContext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_start_close": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCacheExpire": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncateMessageNotTruncated": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDNSResolverRetry": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWatchServiceWithClientClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorImplementsInterface": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFileDescForType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_start_close_deadlock": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromNilProto": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleRDSResponse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_TwoRR_MoreBackends": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestListener": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolve": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAllExtensionNumbersForType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLDSWatchExpiryTimer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_locality_caching_not_readd_within_timeout": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestXDSResolverWatchCallbackAfterClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRandomWRRNext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWrapSyscallConn": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsFullDuplexRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIncorrectMsgType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDS_UpdateSubBalancerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPipeListener": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAllServersDown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogClientStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDurationSlice": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompareRPCVersions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSync": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIsRunningOnGCPNoProductNameFile": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewLoggerFromConfigString": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWithPendingRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsClientStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_lrsStore_buildStats_rpcCounts": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestV2ClientCancelWatch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_LoadReport": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringGlobal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromContextError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCacheRetrieveTimeoutRace": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConcurrentUsage": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTLSOverrideServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleRDSResponseWithoutLDSWatch": {"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"}, "TestWatchServiceWithNoResponseFromServer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogUnaryRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "ExampleAttributes_WithValues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestInfoServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetMethodLogger": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTrace": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTags": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMEncryptRoundtrip": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsFullDuplexRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCacheRemove": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_lrsStore_buildStats_drops": {"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"}, "TestBalancerGroup_OneRR_AddRemoveBackend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBWeighted": {"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"}, "TestEDSWatchExpiryTimer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWriteLargeData": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodConfigAndSuffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_RemovesAllLocalities": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheck": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_WithDetails_Fail": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatusErrEqual": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAddressesRemoved": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogFullDuplex": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFileDescContainingExtension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_TwoRR_DifferentWeight_MoreBackends": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDeadline": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDropPicker": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsStreamingDrop": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_ErrorDetails": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStringWithAllowedValues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBPickFirst": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromMetadata": {"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"}, "Test": {"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"}, "TestLog": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStaggeredMarshalAndUnmarshalUsingSamePool": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTypeForName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSingleWriter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCustomAuthority": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTLSClone": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestShutdown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_MarshalUnmarshal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetTopChannels": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWhileDialing": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRolloverCounter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogUnaryRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLargeMsg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTypeForNameNotFound": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocket": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRunSubTests": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHeaderMessageConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_InitTimeout": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetServerSocketsNonZeroStartID": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSubChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestStatus_ErrorDetails_Fail": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_NilReceiver": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestToMetadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_locality_caching_close_group": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendH2ToNextProtos": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendToOutgoingContext_FromKVSlice": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestXDSResolverGoodServiceUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_TwoRR_ChangeWeight_MoreBackends": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEventHasFired": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_childIsPickFirst": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDS_EndpointsHealth": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDropper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleEDSResponseWithoutEDSWatch": {"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"}, "TestBalancerGroup_TwoRR_OneBackend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestXdsBalancerConfigParsing": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFromErrorUnknownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWatchServiceEmptyRDS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPingPong": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsStreamingSuccess": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIsRunningOnGCP": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestDial": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogFullDuplexError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConvertUnknownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLBCacheClientConnExpire": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocketOptions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientHealthCheckBackoff": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPairsMD": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorProtoOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerHandshakeReturnsAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolverBuilder": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMEncrypt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewLoggerFromConfigStringInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_lrsStore_ReportTo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_HigherDownWhileAddingLower": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloneServer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogCancel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFallBackWithNoServerAddress": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRegister": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodNameInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLBCache_RemoveTimer_New_Race": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestResolveFunc": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorIs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_MultipleLocalities": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_Parse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRouteChat": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNoSetupOrTeardown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestListenerAndDialer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDS_LoadReport": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetSocketOpt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSmallReadBuffer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConnCloseWithData": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEdfWrrNext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCloseWhileAccepting": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestXdsConfigMarshalToJSON": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsUnaryRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetMethodLoggerOff": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestErrorOK": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestSyncTooSlow": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWatchService": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogClientStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_locality_caching_readd_with_different_builder": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestJSONUnmarshal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestOneServerDown": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBackendsRoundRobin": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestMultipleWriters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringPerService": {"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"}, "TestConvertKnownError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerAndClientHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExample": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCopy": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPeerNotResponding": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleLDSResponse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncateMessageTruncated": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDS_OneLocality": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestXDSResolverBadServiceUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetClusterFromRouteConfiguration": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAES128GCMRekeyEncryptRoundtrip": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "ExampleAttributes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppend": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncateMetadataTruncated": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestOverrideServerName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLongMethodConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogUnaryRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsFullDuplexRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleLDSResponseWithoutWatch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientHandshakeReturnsAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseEDSRespProto": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestMessageConfigRegexp": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLoadbalancingConfigParsing": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckRegisterIgnore": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnblocking": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestALTSAuthInfo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCacheClearWithoutCallback": {"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"}, "TestAES128GCMRekeyEncrypt": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestAppendToOutgoingContext": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBalancerGroup_ThreeRR_RemoveBalancer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDS_TwoLocalities": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIPWatcher": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_SwitchPriority": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewAddressWhileBlocking": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestUnmarshalJSON_UnknownInput": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetRouteConfigNameFromListener": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleRDSResponseWithoutRDSWatch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestHandleEDSResponse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckRPCVersions": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestBufferBloat": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerBinaryLogClientStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLB": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogServerStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCacheClearWithCallback": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGetChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCounterInc": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogClientStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseHeaderMessageLengthConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEDSPriority_HighPriorityReady": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerStatsServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLBCacheClientConnReuse": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIntSlice": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncateMetadataNotTruncated": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseHeaderMessageLengthConfigInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestWrapSyscallConnNoWrap": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseMethodConfigAndSuffixInvalid": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFillMethodLoggerWithConfigStringBlacklist": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestLocalityMatchProtoMessage": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompileUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientStatsClientStreamRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPriorityType": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRDSWatchExpiryTimer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestEventDoneChannel": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGRPCLBStatsUnarySuccess": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogFullDuplexRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogFullDuplexRPCError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestNewConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestClientBinaryLogServerStreamRPC": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestServerHandshake": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestV2ClientRetriesAfterBrokenStream": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"TestDisableServiceConfig": {"run": "PASS", "test": "FAIL", "fix": "PASS"}}
{"passed_count": 289, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestBalancerGroup_locality_caching_close_group", "TestAppendH2ToNextProtos", "TestServerStatsUnaryRPC", "TestV2ClientBackoffAfterRecvError", "TestPipeClose", "TestAppendToOutgoingContext_FromKVSlice", "TestXDSResolverGoodServiceUpdate", "TestBalancerGroup_TwoRR_ChangeWeight_MoreBackends", "TestServerBinaryLogServerStreamRPCError", "TestEventHasFired", "Test_childIsPickFirst", "TestIsRoundRobin", "TestNew", "TestRDSCaching", "TestEDS_EndpointsHealth", "TestDropper", "TestEDSPriority_HigherReadyCloseAllLower", "TestNewConfigEnvNotSet", "TestFillMethodLoggerWithConfigStringInvalid", "TestHandleEDSResponseWithoutEDSWatch", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestBalancerGroup_TwoRR_OneBackend", "TestHandleRDSResponse", "TestResolverBuilder", "TestBalancerGroup_locality_caching", "TestXdsBalancerConfigParsing", "TestGRPCLBStatsUnaryDrop", "TestRateLimitedResolve", "TestHeaderConfigRegexp", "TestErrorsWithSameParameters", "TestAuthInfoFromContext", "TestFromErrorUnknownError", "TestBalancerGroup_start_close", "TestWatchServiceEmptyRDS", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestCacheExpire", "TestIsRunningOnGCP", "TestDial", "TestTruncateMessageNotTruncated", "TestServerBinaryLogFullDuplexError", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestWatchServiceWithClientClose", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestClientHealthCheckBackoff", "TestPairsMD", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestBalancerGroup_start_close_deadlock", "TestClose", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestBalancerGroup_TwoRR_MoreBackends", "TestListener", "TestEDSPriority_HigherDownWhileAddingLower", "TestResolve", "Test_lrsStore_ReportTo", "TestCloneServer", "TestAllExtensionNumbersForType", "TestBalancerGroup_locality_caching_not_readd_within_timeout", "TestLDSWatchExpiryTimer", "TestXDSResolverWatchCallbackAfterClose", "TestClientBinaryLogCancel", "TestFallBackWithNoServerAddress", "TestRegister", "TestParseMethodNameInvalid", "TestLBCache_RemoveTimer_New_Race", "TestResolveFunc", "TestErrorIs", "TestEDSPriority_MultipleLocalities", "TestRandomWRRNext", "TestServerStatsServerStreamRPCError", "Test_Parse", "TestRouteChat", "TestNoSetupOrTeardown", "TestServerStatsFullDuplexRPCError", "TestListenerAndDialer", "TestIncorrectMsgType", "TestEDS_LoadReport", "TestGetSocketOpt", "TestSet", "TestSmallReadBuffer", "TestEDS_UpdateSubBalancerName", "TestConnCloseWithData", "TestPipeListener", "TestEdfWrrNext", "TestAllServersDown", "TestClientBinaryLogClientStreamRPCError", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestXdsConfigMarshalToJSON", "TestClientStatsUnaryRPCError", "TestDurationSlice", "TestCompareRPCVersions", "TestGetMethodLoggerOff", "TestErrorOK", "TestSync", "TestIsRunningOnGCPNoProductNameFile", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestWatchService", "TestCloseWithPendingRPC", "TestServerBinaryLogServerStreamRPC", "TestGet", "TestServerBinaryLogClientStreamRPC", "TestBalancerGroup_locality_caching_readd_with_different_builder", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestBackendsRoundRobin", "Test_lrsStore_buildStats_rpcCounts", "TestMultipleWriters", "TestFillMethodLoggerWithConfigStringPerService", "TestV2ClientCancelWatch", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestDisableServiceConfig", "TestFillMethodLoggerWithConfigStringGlobal", "TestAppendToOutgoingContext_Repeated", "TestConvertKnownError", "TestServerAndClientHandshake", "TestExample", "TestCopy", "TestFromContextError", "TestCacheRetrieveTimeoutRace", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestHandleRDSResponseWithoutLDSWatch", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestHandleLDSResponse", "TestCloneClient", "TestParseMethodName", "TestTruncateMessageTruncated", "TestInfo", "TestEDS_OneLocality", "TestWatchServiceWithNoResponseFromServer", "TestServerBinaryLogUnaryRPCError", "TestGetClusterFromRouteConfiguration", "ExampleAttributes_WithValues", "ExampleAttributes", "TestInfoServerName", "TestAES128GCMRekeyEncryptRoundtrip", "TestXDSResolverBadServiceUpdate", "TestAppend", "TestGetMethodLogger", "TestTruncateMetadataTruncated", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientBinaryLogUnaryRPC", "TestClientStatsFullDuplexRPCError", "TestHandleLDSResponseWithoutWatch", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestParseEDSRespProto", "TestMessageConfigRegexp", "TestCacheRemove", "TestClientStatsFullDuplexRPC", "TestLoadbalancingConfigParsing", "Test_lrsStore_buildStats_drops", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestUnblocking", "TestBalancerGroup_OneRR_AddRemoveBackend", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestCacheClearWithoutCallback", "TestEDSWatchExpiryTimer", "TestWriteLargeData", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestEDSPriority_RemovesAllLocalities", "TestClientStatsUnaryRPC", "TestBalancerGroup_ThreeRR_RemoveBalancer", "TestEDS_TwoLocalities", "TestIPWatcher", "TestCheck", "TestEDSPriority_SwitchPriority", "TestStatus_WithDetails_Fail", "TestStatusErrEqual", "TestNewAddressWhileBlocking", "TestAddressesRemoved", "TestServerBinaryLogFullDuplex", "TestFileDescContainingExtension", "TestBalancerGroup_TwoRR_DifferentWeight_MoreBackends", "TestUnmarshalJSON_UnknownInput", "TestDeadline", "TestDropPicker", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestStringWithAllowedValues", "TestServerBinaryLogUnaryRPC", "TestHandleEDSResponse", "TestGetRouteConfigNameFromListener", "TestGRPCLBPickFirst", "TestFromMetadata", "TestHandleRDSResponseWithoutRDSWatch", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "Test", "TestBufferBloat", "TestServerBinaryLogClientStreamRPCError", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestClientBinaryLogServerStreamRPCError", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestLog", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestCacheClearWithCallback", "TestGetChannel", "TestCounterInc", "TestClientBinaryLogClientStreamRPC", "TestTypeForName", "TestSingleWriter", "TestClientBinaryLogServerStreamRPC", "TestParseHeaderMessageLengthConfig", "TestEDSPriority_HighPriorityReady", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestIntSlice", "TestTruncateMetadataNotTruncated", "TestShutdown", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestWrapSyscallConnNoWrap", "TestBalancerGroup_LoadReport", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestLocalityMatchProtoMessage", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestClientBinaryLogUnaryRPCError", "TestPriorityType", "TestRDSWatchExpiryTimer", "TestLargeMsg", "TestEventDoneChannel", "TestGRPCLBStatsUnarySuccess", "TestGetServerSocketsNonZeroStartID", "TestClientBinaryLogFullDuplexRPC", "TestTypeForNameNotFound", "TestGetSocket", "TestRunSubTests", "TestClientBinaryLogFullDuplexRPCError", "TestHeaderMessageConfigRegexp", "TestEDSPriority_InitTimeout", "TestWrapSyscallConn", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake", "TestNewConfig", "TestV2ClientRetriesAfterBrokenStream", "TestToMetadata"], "failed_tests": ["google.golang.org/grpc/internal", "google.golang.org/grpc"], "skipped_tests": []}
{"passed_count": 288, "failed_count": 4, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestBalancerGroup_locality_caching_close_group", "TestAppendH2ToNextProtos", "TestServerStatsUnaryRPC", "TestV2ClientBackoffAfterRecvError", "TestPipeClose", "TestAppendToOutgoingContext_FromKVSlice", "TestXDSResolverGoodServiceUpdate", "TestBalancerGroup_TwoRR_ChangeWeight_MoreBackends", "TestServerBinaryLogServerStreamRPCError", "TestEventHasFired", "Test_childIsPickFirst", "TestIsRoundRobin", "TestNew", "TestRDSCaching", "TestEDS_EndpointsHealth", "TestDropper", "TestEDSPriority_HigherReadyCloseAllLower", "TestNewConfigEnvNotSet", "TestFillMethodLoggerWithConfigStringInvalid", "TestHandleEDSResponseWithoutEDSWatch", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestBalancerGroup_TwoRR_OneBackend", "TestHandleRDSResponse", "TestResolverBuilder", "TestBalancerGroup_locality_caching", "TestXdsBalancerConfigParsing", "TestGRPCLBStatsUnaryDrop", "TestRateLimitedResolve", "TestHeaderConfigRegexp", "TestErrorsWithSameParameters", "TestAuthInfoFromContext", "TestFromErrorUnknownError", "TestBalancerGroup_start_close", "TestWatchServiceEmptyRDS", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestCacheExpire", "TestIsRunningOnGCP", "TestDial", "TestTruncateMessageNotTruncated", "TestServerBinaryLogFullDuplexError", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestWatchServiceWithClientClose", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestClientHealthCheckBackoff", "TestPairsMD", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestBalancerGroup_start_close_deadlock", "TestClose", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestBalancerGroup_TwoRR_MoreBackends", "TestListener", "TestEDSPriority_HigherDownWhileAddingLower", "TestResolve", "Test_lrsStore_ReportTo", "TestCloneServer", "TestAllExtensionNumbersForType", "TestBalancerGroup_locality_caching_not_readd_within_timeout", "TestLDSWatchExpiryTimer", "TestXDSResolverWatchCallbackAfterClose", "TestClientBinaryLogCancel", "TestFallBackWithNoServerAddress", "TestRegister", "TestParseMethodNameInvalid", "TestLBCache_RemoveTimer_New_Race", "TestResolveFunc", "TestErrorIs", "TestEDSPriority_MultipleLocalities", "TestRandomWRRNext", "TestServerStatsServerStreamRPCError", "Test_Parse", "TestRouteChat", "TestNoSetupOrTeardown", "TestServerStatsFullDuplexRPCError", "TestListenerAndDialer", "TestIncorrectMsgType", "TestEDS_LoadReport", "TestGetSocketOpt", "TestSet", "TestSmallReadBuffer", "TestEDS_UpdateSubBalancerName", "TestConnCloseWithData", "TestPipeListener", "TestEdfWrrNext", "TestAllServersDown", "TestClientBinaryLogClientStreamRPCError", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestXdsConfigMarshalToJSON", "TestClientStatsUnaryRPCError", "TestDurationSlice", "TestCompareRPCVersions", "TestGetMethodLoggerOff", "TestErrorOK", "TestSync", "TestIsRunningOnGCPNoProductNameFile", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestWatchService", "TestCloseWithPendingRPC", "TestServerBinaryLogServerStreamRPC", "TestGet", "TestServerBinaryLogClientStreamRPC", "TestBalancerGroup_locality_caching_readd_with_different_builder", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestBackendsRoundRobin", "Test_lrsStore_buildStats_rpcCounts", "TestMultipleWriters", "TestFillMethodLoggerWithConfigStringPerService", "TestV2ClientCancelWatch", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestAppendToOutgoingContext_Repeated", "TestFillMethodLoggerWithConfigStringGlobal", "TestConvertKnownError", "TestBalancerGroup_LoadReport", "TestServerAndClientHandshake", "TestExample", "TestCopy", "TestFromContextError", "TestCacheRetrieveTimeoutRace", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestHandleRDSResponseWithoutLDSWatch", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestHandleLDSResponse", "TestCloneClient", "TestParseMethodName", "TestTruncateMessageTruncated", "TestInfo", "TestEDS_OneLocality", "TestWatchServiceWithNoResponseFromServer", "TestServerBinaryLogUnaryRPCError", "TestGetClusterFromRouteConfiguration", "ExampleAttributes_WithValues", "ExampleAttributes", "TestInfoServerName", "TestAES128GCMRekeyEncryptRoundtrip", "TestXDSResolverBadServiceUpdate", "TestAppend", "TestGetMethodLogger", "TestTruncateMetadataTruncated", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientBinaryLogUnaryRPC", "TestClientStatsFullDuplexRPCError", "TestHandleLDSResponseWithoutWatch", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestParseEDSRespProto", "TestMessageConfigRegexp", "TestCacheRemove", "TestClientStatsFullDuplexRPC", "TestLoadbalancingConfigParsing", "Test_lrsStore_buildStats_drops", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestUnblocking", "TestBalancerGroup_OneRR_AddRemoveBackend", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestCacheClearWithoutCallback", "TestEDSWatchExpiryTimer", "TestWriteLargeData", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestEDSPriority_RemovesAllLocalities", "TestClientStatsUnaryRPC", "TestBalancerGroup_ThreeRR_RemoveBalancer", "TestEDS_TwoLocalities", "TestIPWatcher", "TestCheck", "TestEDSPriority_SwitchPriority", "TestStatus_WithDetails_Fail", "TestStatusErrEqual", "TestNewAddressWhileBlocking", "TestAddressesRemoved", "TestServerBinaryLogFullDuplex", "TestFileDescContainingExtension", "TestBalancerGroup_TwoRR_DifferentWeight_MoreBackends", "TestUnmarshalJSON_UnknownInput", "TestDeadline", "TestDropPicker", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestStringWithAllowedValues", "TestServerBinaryLogUnaryRPC", "TestHandleEDSResponse", "TestGetRouteConfigNameFromListener", "TestGRPCLBPickFirst", "TestFromMetadata", "TestHandleRDSResponseWithoutRDSWatch", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "Test", "TestBufferBloat", "TestServerBinaryLogClientStreamRPCError", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestClientBinaryLogServerStreamRPCError", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestLog", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestCacheClearWithCallback", "TestGetChannel", "TestCounterInc", "TestClientBinaryLogClientStreamRPC", "TestTypeForName", "TestSingleWriter", "TestClientBinaryLogServerStreamRPC", "TestParseHeaderMessageLengthConfig", "TestEDSPriority_HighPriorityReady", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestIntSlice", "TestTruncateMetadataNotTruncated", "TestShutdown", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestWrapSyscallConnNoWrap", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestLocalityMatchProtoMessage", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestClientBinaryLogUnaryRPCError", "TestPriorityType", "TestRDSWatchExpiryTimer", "TestLargeMsg", "TestEventDoneChannel", "TestGRPCLBStatsUnarySuccess", "TestGetServerSocketsNonZeroStartID", "TestClientBinaryLogFullDuplexRPC", "TestTypeForNameNotFound", "TestGetSocket", "TestRunSubTests", "TestClientBinaryLogFullDuplexRPCError", "TestHeaderMessageConfigRegexp", "TestEDSPriority_InitTimeout", "TestWrapSyscallConn", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake", "TestNewConfig", "TestV2ClientRetriesAfterBrokenStream", "TestToMetadata"], "failed_tests": ["TestDisableServiceConfig", "google.golang.org/grpc/internal", "google.golang.org/grpc/internal/resolver", "google.golang.org/grpc"], "skipped_tests": []}
{"passed_count": 289, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestOneBackend", "TestBalancerGroup_locality_caching_close_group", "TestAppendH2ToNextProtos", "TestServerStatsUnaryRPC", "TestV2ClientBackoffAfterRecvError", "TestPipeClose", "TestAppendToOutgoingContext_FromKVSlice", "TestXDSResolverGoodServiceUpdate", "TestBalancerGroup_TwoRR_ChangeWeight_MoreBackends", "TestServerBinaryLogServerStreamRPCError", "TestEventHasFired", "Test_childIsPickFirst", "TestIsRoundRobin", "TestNew", "TestRDSCaching", "TestEDS_EndpointsHealth", "TestDropper", "TestEDSPriority_HigherReadyCloseAllLower", "TestNewConfigEnvNotSet", "TestFillMethodLoggerWithConfigStringInvalid", "TestHandleEDSResponseWithoutEDSWatch", "TestGetServers", "TestServerStatsFullDuplexRPC", "TestSayHello", "TestBalancerGroup_TwoRR_OneBackend", "TestHandleRDSResponse", "TestResolverBuilder", "TestBalancerGroup_locality_caching", "TestXdsBalancerConfigParsing", "TestGRPCLBStatsUnaryDrop", "TestRateLimitedResolve", "TestHeaderConfigRegexp", "TestErrorsWithSameParameters", "TestAuthInfoFromContext", "TestFromErrorUnknownError", "TestBalancerGroup_start_close", "TestWatchServiceEmptyRDS", "TestPingPong", "TestGRPCLBStatsStreamingSuccess", "TestCacheExpire", "TestIsRunningOnGCP", "TestDial", "TestTruncateMessageNotTruncated", "TestServerBinaryLogFullDuplexError", "TestConvertUnknownError", "TestDNSResolverRetry", "TestClientHandshake", "TestWatchServiceWithClientClose", "TestLBCacheClientConnExpire", "TestGetSocketOptions", "TestClientHealthCheckBackoff", "TestPairsMD", "TestErrorProtoOK", "TestServerHandshakeReturnsAuthInfo", "TestFromErrorImplementsInterface", "TestFileDescForType", "TestBalancerGroup_start_close_deadlock", "TestClose", "TestAES128GCMEncrypt", "TestNewLoggerFromConfigStringInvalid", "TestFromNilProto", "TestStatus_ErrorDetails_Fail", "TestBalancerGroup_TwoRR_MoreBackends", "TestListener", "TestEDSPriority_HigherDownWhileAddingLower", "TestResolve", "Test_lrsStore_ReportTo", "TestCloneServer", "TestAllExtensionNumbersForType", "TestBalancerGroup_locality_caching_not_readd_within_timeout", "TestLDSWatchExpiryTimer", "TestXDSResolverWatchCallbackAfterClose", "TestClientBinaryLogCancel", "TestFallBackWithNoServerAddress", "TestRegister", "TestParseMethodNameInvalid", "TestLBCache_RemoveTimer_New_Race", "TestResolveFunc", "TestErrorIs", "TestEDSPriority_MultipleLocalities", "TestRandomWRRNext", "TestServerStatsServerStreamRPCError", "Test_Parse", "TestRouteChat", "TestNoSetupOrTeardown", "TestServerStatsFullDuplexRPCError", "TestListenerAndDialer", "TestIncorrectMsgType", "TestEDS_LoadReport", "TestGetSocketOpt", "TestSet", "TestSmallReadBuffer", "TestEDS_UpdateSubBalancerName", "TestConnCloseWithData", "TestPipeListener", "TestEdfWrrNext", "TestAllServersDown", "TestClientBinaryLogClientStreamRPCError", "TestClientStatsServerStreamRPC", "TestClientStatsServerStreamRPCError", "TestCloseWhileAccepting", "TestXdsConfigMarshalToJSON", "TestClientStatsUnaryRPCError", "TestDurationSlice", "TestCompareRPCVersions", "TestGetMethodLoggerOff", "TestErrorOK", "TestSync", "TestIsRunningOnGCPNoProductNameFile", "TestNewLoggerFromConfigString", "TestSyncTooSlow", "TestWatchService", "TestCloseWithPendingRPC", "TestServerBinaryLogServerStreamRPC", "TestGet", "TestServerBinaryLogClientStreamRPC", "TestBalancerGroup_locality_caching_readd_with_different_builder", "TestJSONUnmarshal", "TestClientStatsClientStreamRPC", "TestOneServerDown", "TestBackendsRoundRobin", "Test_lrsStore_buildStats_rpcCounts", "TestMultipleWriters", "TestFillMethodLoggerWithConfigStringPerService", "TestV2ClientCancelWatch", "TestGRPCLBStatsStreamingFailedToSend", "TestGetServerSockets", "TestDisableServiceConfig", "TestFillMethodLoggerWithConfigStringGlobal", "TestAppendToOutgoingContext_Repeated", "TestConvertKnownError", "TestServerAndClientHandshake", "TestExample", "TestCopy", "TestFromContextError", "TestCacheRetrieveTimeoutRace", "TestConcurrentUsage", "TestTLSOverrideServerName", "TestPeerNotResponding", "TestHandleRDSResponseWithoutLDSWatch", "TestLoggerV2Severity", "TestAuthInfoFromPeer", "TestHandleLDSResponse", "TestCloneClient", "TestParseMethodName", "TestTruncateMessageTruncated", "TestInfo", "TestEDS_OneLocality", "TestWatchServiceWithNoResponseFromServer", "TestServerBinaryLogUnaryRPCError", "TestGetClusterFromRouteConfiguration", "ExampleAttributes_WithValues", "ExampleAttributes", "TestInfoServerName", "TestAES128GCMRekeyEncryptRoundtrip", "TestXDSResolverBadServiceUpdate", "TestAppend", "TestGetMethodLogger", "TestTruncateMetadataTruncated", "TestTrace", "TestOverrideServerName", "TestLongMethodConfigRegexp", "TestClientBinaryLogUnaryRPC", "TestClientStatsFullDuplexRPCError", "TestHandleLDSResponseWithoutWatch", "TestTags", "TestClientHandshakeReturnsAuthInfo", "TestAES128GCMEncryptRoundtrip", "TestParseEDSRespProto", "TestMessageConfigRegexp", "TestCacheRemove", "TestClientStatsFullDuplexRPC", "TestLoadbalancingConfigParsing", "Test_lrsStore_buildStats_drops", "TestCheckRegisterIgnore", "TestPipe", "TestJoin", "TestFrameTooLarge", "TestUnblocking", "TestBalancerGroup_OneRR_AddRemoveBackend", "TestGRPCLBWeighted", "TestALTSAuthInfo", "TestFillMethodLoggerWithConfigStringPerMethod", "TestEventMultipleFires", "TestBasicProtoCodecMarshalAndUnmarshal", "TestCacheClearWithoutCallback", "TestEDSWatchExpiryTimer", "TestWriteLargeData", "TestServerStatsUnaryRPCError", "TestCounterSides", "TestFallback", "TestParseMethodConfigAndSuffix", "TestAES128GCMRekeyEncrypt", "TestFromError", "TestAppendToOutgoingContext", "TestUnmarshalJSON", "TestEDSPriority_RemovesAllLocalities", "TestClientStatsUnaryRPC", "TestBalancerGroup_ThreeRR_RemoveBalancer", "TestEDS_TwoLocalities", "TestIPWatcher", "TestCheck", "TestEDSPriority_SwitchPriority", "TestStatus_WithDetails_Fail", "TestStatusErrEqual", "TestNewAddressWhileBlocking", "TestAddressesRemoved", "TestServerBinaryLogFullDuplex", "TestFileDescContainingExtension", "TestBalancerGroup_TwoRR_DifferentWeight_MoreBackends", "TestUnmarshalJSON_UnknownInput", "TestDeadline", "TestDropPicker", "TestGRPCLBStatsStreamingDrop", "TestStatus_ErrorDetails", "TestStringWithAllowedValues", "TestServerBinaryLogUnaryRPC", "TestHandleEDSResponse", "TestGetRouteConfigNameFromListener", "TestGRPCLBPickFirst", "TestFromMetadata", "TestHandleRDSResponseWithoutRDSWatch", "TestCheckRPCVersions", "TestReflectionEnd2end", "TestDropRequest", "TestFromToProto", "TestServerStatsClientStreamRPCError", "Test", "TestBufferBloat", "TestServerBinaryLogClientStreamRPCError", "TestGRPCLB", "TestServerStatsClientStreamRPC", "TestClientBinaryLogServerStreamRPCError", "TestBalancerDisconnects", "TestConn", "TestGRPCLBStatsUnaryFailedToSend", "TestLog", "TestStaggeredMarshalAndUnmarshalUsingSamePool", "TestCacheClearWithCallback", "TestGetChannel", "TestCounterInc", "TestClientBinaryLogClientStreamRPC", "TestTypeForName", "TestSingleWriter", "TestClientBinaryLogServerStreamRPC", "TestParseHeaderMessageLengthConfig", "TestEDSPriority_HighPriorityReady", "TestCustomAuthority", "TestServerStatsServerStreamRPC", "TestLBCacheClientConnReuse", "TestFromErrorOK", "TestTLSClone", "TestIntSlice", "TestTruncateMetadataNotTruncated", "TestShutdown", "TestParseHeaderMessageLengthConfigInvalid", "TestUnmarshalJSON_MarshalUnmarshal", "TestWrapSyscallConnNoWrap", "TestBalancerGroup_LoadReport", "TestParseMethodConfigAndSuffixInvalid", "TestError", "TestGetTopChannels", "TestFillMethodLoggerWithConfigStringBlacklist", "TestCloseWhileDialing", "TestRolloverCounter", "TestLocalityMatchProtoMessage", "TestCompileUpdate", "TestClientStatsClientStreamRPCError", "TestClientBinaryLogUnaryRPCError", "TestPriorityType", "TestRDSWatchExpiryTimer", "TestLargeMsg", "TestEventDoneChannel", "TestGRPCLBStatsUnarySuccess", "TestGetServerSocketsNonZeroStartID", "TestClientBinaryLogFullDuplexRPC", "TestTypeForNameNotFound", "TestGetSocket", "TestRunSubTests", "TestClientBinaryLogFullDuplexRPCError", "TestHeaderMessageConfigRegexp", "TestEDSPriority_InitTimeout", "TestWrapSyscallConn", "TestGetSubChannel", "TestUnmarshalJSON_NilReceiver", "TestServerHandshake", "TestNewConfig", "TestV2ClientRetriesAfterBrokenStream", "TestToMetadata"], "failed_tests": ["google.golang.org/grpc/internal", "google.golang.org/grpc"], "skipped_tests": []}