balancer/base: consider an empty address list an error
Fixes #3353 

This is essential, or else the channel will not be usable (no SubConns) and the resolver will never check for any update.
### What version of gRPC are you using?

1.26

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

1.13.4

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

Linux / Kubernetes / Docker - various. 

### What did you do?
When using `grpc.WithBalancerName(roundrobin.Name)`, with a `dns:///` Dial target, errors do not trigger re-resolve.

Detail: a client starts with `dns:///my-service` as a dial target and the round_robin load balancer.  `my-service` DNS returns an IP `192.168.0.19`.  Due to an operational change, `my-service` is moved and DNS is updated to return `192.168.0.20`.  The service stops running on `192.168.0.19`, refusing connections.  

This is approximately the workflow that would occur when using Kubernetes and a headless service if a pod is replaced.  This happens for a variety of reasons, including routine updates and rescheduling.

### What did you expect to see?
(a) Upon receiving a connection refused, DNS should be re-queried for an updated endpoint list
(b) Without receiving an error from an existing endpoint, the load balancer should be repopulated occasionally with the latest records in DNS as endpoint sets change

This was the behavior previous to 1.26.  By rolling code back to grpc 1.25.1, we were able to restore this behavior.  
 https://github.com/grpc/grpc-go/pull/3165 is likely the culprit.

### What did you see instead?
(a) Endpoint list is never re-queried and the client simply throws a persistent error: 

```
rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.1.5.253:443: connect: connection refused"
```
(b) Since _every_ subsequent request fails, the endpoint list does not seem to getting updated with new records in DNS at all.

### Additional

I recognize the API around DNS and load balancing may have changed recently (and are evolving) but I'm not seeing any clear indication of how to retain the expected behavior.


dns + round_robin not updating address list in v1.26
diff --git a/balancer/base/balancer.go b/balancer/base/balancer.go
index d952f09f345a..d7d72918ad69 100644
--- a/balancer/base/balancer.go
+++ b/balancer/base/balancer.go
@@ -21,6 +21,7 @@ package base
 import (
 	"context"
 	"errors"
+	"fmt"
 
 	"google.golang.org/grpc/balancer"
 	"google.golang.org/grpc/connectivity"
@@ -76,6 +77,9 @@ type baseBalancer struct {
 	picker   balancer.Picker
 	v2Picker balancer.V2Picker
 	config   Config
+
+	resolverErr error // the last error reported by the resolver; cleared on successful resolution
+	connErr     error // the last connection error; cleared upon leaving TransientFailure
 }
 
 func (b *baseBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error) {
@@ -83,13 +87,23 @@ func (b *baseBalancer) HandleResolvedAddrs(addrs []resolver.Address, err error)
 }
 
 func (b *baseBalancer) ResolverError(err error) {
-	switch b.state {
-	case connectivity.TransientFailure, connectivity.Idle, connectivity.Connecting:
-		if b.picker != nil {
-			b.picker = NewErrPicker(err)
-		} else {
-			b.v2Picker = NewErrPickerV2(err)
-		}
+	b.resolverErr = err
+	if len(b.subConns) == 0 {
+		b.state = connectivity.TransientFailure
+	}
+	if b.state != connectivity.TransientFailure {
+		// The picker will not change since the balancer does not currently
+		// report an error.
+		return
+	}
+	b.regeneratePicker()
+	if b.picker != nil {
+		b.cc.UpdateBalancerState(b.state, b.picker)
+	} else {
+		b.cc.UpdateState(balancer.State{
+			ConnectivityState: b.state,
+			Picker:            b.v2Picker,
+		})
 	}
 }
 
@@ -99,6 +113,12 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
 	if grpclog.V(2) {
 		grpclog.Infoln("base.baseBalancer: got new ClientConn state: ", s)
 	}
+	if len(s.ResolverState.Addresses) == 0 {
+		b.ResolverError(errors.New("produced zero addresses"))
+		return balancer.ErrBadResolverState
+	}
+	// Successful resolution; clear resolver error and ensure we return nil.
+	b.resolverErr = nil
 	// addrsSet is the set converted from addrs, it's used for quick lookup of an address.
 	addrsSet := make(map[resolver.Address]struct{})
 	for _, a := range s.ResolverState.Addresses {
@@ -127,24 +147,30 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
 	return nil
 }
 
+// mergeErrors builds an error from the last connection error and the last
+// resolver error.  Must only be called if b.state is TransientFailure.
+func (b *baseBalancer) mergeErrors() error {
+	// connErr must always be non-nil unless there are no SubConns, in which
+	// case resolverErr must be non-nil.
+	if b.connErr == nil {
+		return fmt.Errorf("last resolver error: %v", b.resolverErr)
+	}
+	if b.resolverErr == nil {
+		return fmt.Errorf("last connection error: %v", b.connErr)
+	}
+	return fmt.Errorf("last connection error: %v; last resolver error: %v", b.connErr, b.resolverErr)
+}
+
 // regeneratePicker takes a snapshot of the balancer, and generates a picker
 // from it. The picker is
-//  - errPicker with ErrTransientFailure if the balancer is in TransientFailure,
+//  - errPicker if the balancer is in TransientFailure,
 //  - built by the pickerBuilder with all READY SubConns otherwise.
-func (b *baseBalancer) regeneratePicker(err error) {
+func (b *baseBalancer) regeneratePicker() {
 	if b.state == connectivity.TransientFailure {
 		if b.pickerBuilder != nil {
 			b.picker = NewErrPicker(balancer.ErrTransientFailure)
 		} else {
-			if err != nil {
-				b.v2Picker = NewErrPickerV2(balancer.TransientFailureError(err))
-			} else {
-				// This means the last subchannel transition was not to
-				// TransientFailure (otherwise err must be set), but the
-				// aggregate state of the balancer is TransientFailure, meaning
-				// there are no other addresses.
-				b.v2Picker = NewErrPickerV2(balancer.TransientFailureError(errors.New("resolver returned no addresses")))
-			}
+			b.v2Picker = NewErrPickerV2(balancer.TransientFailureError(b.mergeErrors()))
 		}
 		return
 	}
@@ -200,6 +226,9 @@ func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.Su
 	oldAggrState := b.state
 	b.state = b.csEvltr.RecordTransition(oldS, s)
 
+	// Set or clear the last connection error accordingly.
+	b.connErr = state.ConnectionError
+
 	// Regenerate picker when one of the following happens:
 	//  - this sc became ready from not-ready
 	//  - this sc became not-ready from ready
@@ -207,7 +236,7 @@ func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.Su
 	//  - the aggregated state of balancer became non-TransientFailure from TransientFailure
 	if (s == connectivity.Ready) != (oldS == connectivity.Ready) ||
 		(b.state == connectivity.TransientFailure) != (oldAggrState == connectivity.TransientFailure) {
-		b.regeneratePicker(state.ConnectionError)
+		b.regeneratePicker()
 	}
 
 	if b.picker != nil {

diff --git a/balancer/roundrobin/roundrobin_test.go b/balancer/roundrobin/roundrobin_test.go
index 4f13bdd78976..f43fb69edd78 100644
--- a/balancer/roundrobin/roundrobin_test.go
+++ b/balancer/roundrobin/roundrobin_test.go
@@ -22,6 +22,7 @@ import (
 	"context"
 	"fmt"
 	"net"
+	"strings"
 	"sync"
 	"testing"
 	"time"
@@ -29,6 +30,7 @@ import (
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/balancer/roundrobin"
 	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/connectivity"
 	_ "google.golang.org/grpc/grpclog/glogger"
 	"google.golang.org/grpc/internal/leakcheck"
 	"google.golang.org/grpc/peer"
@@ -210,15 +212,31 @@ func TestAddressesRemoved(t *testing.T) {
 	}
 
 	r.UpdateState(resolver.State{Addresses: []resolver.Address{}})
-	for i := 0; i < 1000; i++ {
-		ctx, cancel := context.WithTimeout(context.Background(), 50*time.Millisecond)
-		defer cancel()
-		if _, err := testc.EmptyCall(ctx, &testpb.Empty{}, grpc.WaitForReady(true)); status.Code(err) == codes.DeadlineExceeded {
-			return
+	// Removing addresses results in an error reported to the clientconn, but
+	// the existing connections remain.  RPCs should still succeed.
+	ctx, cancel = context.WithTimeout(context.Background(), 5*time.Second)
+	defer cancel()
+	if _, err := testc.EmptyCall(ctx, &testpb.Empty{}, grpc.WaitForReady(true)); err != nil {
+		t.Fatalf("EmptyCall() = _, %v, want _, <nil>", err)
+	}
+
+	// Stop the server to bring the channel state into transient failure.
+	test.cleanup()
+	// Wait for not-ready.
+	for src := cc.GetState(); src == connectivity.Ready; src = cc.GetState() {
+		if !cc.WaitForStateChange(ctx, src) {
+			t.Fatalf("timed out waiting for state change.  got %v; want !%v", src, connectivity.Ready)
 		}
-		time.Sleep(time.Millisecond)
 	}
-	t.Fatalf("No RPC failed after removing all addresses, want RPC to fail with DeadlineExceeded")
+	// Report an empty server list again; because the state is not ready, the
+	// empty address list error should surface to the user.
+	r.UpdateState(resolver.State{Addresses: []resolver.Address{}})
+
+	const msgWant = "produced zero addresses"
+	if _, err := testc.EmptyCall(ctx, &testpb.Empty{}); err == nil || !strings.Contains(status.Convert(err).Message(), msgWant) {
+		t.Fatalf("EmptyCall() = _, %v, want _, Contains(Message(), %q)", err, msgWant)
+	}
+
 }
 
 func TestCloseWithPendingRPC(t *testing.T) {
diff --git a/balancer_conn_wrappers_test.go b/balancer_conn_wrappers_test.go
index a29a7dd8fade..33a439f806d1 100644
--- a/balancer_conn_wrappers_test.go
+++ b/balancer_conn_wrappers_test.go
@@ -20,9 +20,11 @@ package grpc
 
 import (
 	"fmt"
+	"net"
 	"testing"
 
 	"google.golang.org/grpc/balancer"
+	"google.golang.org/grpc/balancer/roundrobin"
 	"google.golang.org/grpc/connectivity"
 	"google.golang.org/grpc/resolver"
 	"google.golang.org/grpc/resolver/manual"
@@ -88,3 +90,32 @@ func (s) TestBalancerErrorResolverPolling(t *testing.T) {
 		},
 		WithDefaultServiceConfig(fmt.Sprintf(`{ "loadBalancingConfig": [{"%v": {}}] }`, balName)))
 }
+
+// TestRoundRobinZeroAddressesResolverPolling reports no addresses to the round
+// robin balancer and verifies ResolveNow is called on the resolver with the
+// appropriate backoff strategy being consulted between ResolveNow calls.
+func (s) TestRoundRobinZeroAddressesResolverPolling(t *testing.T) {
+	// We need to start a real server or else the connecting loop will call
+	// ResolveNow after every iteration, even after a valid resolver result is
+	// returned.
+	lis, err := net.Listen("tcp", "localhost:0")
+	if err != nil {
+		t.Fatalf("Error while listening. Err: %v", err)
+	}
+	defer lis.Close()
+	s := NewServer()
+	defer s.Stop()
+	go s.Serve(lis)
+
+	testResolverErrorPolling(t,
+		func(r *manual.Resolver) {
+			// No addresses so the balancer will fail.
+			r.CC.UpdateState(resolver.State{})
+		}, func(r *manual.Resolver) {
+			// UpdateState will block if ResolveNow is being called (which
+			// blocks on rn), so call it in a goroutine.  Include a valid
+			// address so the balancer will be happy.
+			go r.CC.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: lis.Addr().String()}}})
+		},
+		WithDefaultServiceConfig(fmt.Sprintf(`{ "loadBalancingConfig": [{"%v": {}}] }`, roundrobin.Name)))
+}
diff --git a/test/channelz_test.go b/test/channelz_test.go
index 45021022529d..744284de3039 100644
--- a/test/channelz_test.go
+++ b/test/channelz_test.go
@@ -1515,15 +1515,29 @@ func (s) TestCZSubChannelTraceCreationDeletion(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	r.UpdateState(resolver.State{Addresses: []resolver.Address{}})
+	// Wait for ready
+	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+	defer cancel()
+	for src := te.cc.GetState(); src != connectivity.Ready; src = te.cc.GetState() {
+		if !te.cc.WaitForStateChange(ctx, src) {
+			t.Fatalf("timed out waiting for state change.  got %v; want %v", src, connectivity.Ready)
+		}
+	}
+	r.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: "fake address"}}})
+	// Wait for not-ready.
+	for src := te.cc.GetState(); src == connectivity.Ready; src = te.cc.GetState() {
+		if !te.cc.WaitForStateChange(ctx, src) {
+			t.Fatalf("timed out waiting for state change.  got %v; want !%v", src, connectivity.Ready)
+		}
+	}
 
 	if err := verifyResultWithDelay(func() (bool, error) {
 		tcs, _ := channelz.GetTopChannels(0, 0)
 		if len(tcs) != 1 {
 			return false, fmt.Errorf("there should only be one top channel, not %d", len(tcs))
 		}
-		if len(tcs[0].SubChans) != 0 {
-			return false, fmt.Errorf("there should be 0 subchannel not %d", len(tcs[0].SubChans))
+		if len(tcs[0].SubChans) != 1 {
+			return false, fmt.Errorf("there should be 1 subchannel not %d", len(tcs[0].SubChans))
 		}
 		scm := channelz.GetSubChannel(subConn)
 		if scm == nil {
@@ -1770,7 +1784,7 @@ func (s) TestCZSubChannelConnectivityState(t *testing.T) {
 			return false, fmt.Errorf("transient failure has not happened on SubChannel yet")
 		}
 		transient = 0
-		r.UpdateState(resolver.State{Addresses: []resolver.Address{}})
+		r.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: "fake address"}}})
 		for _, e := range scm.Trace.Events {
 			if e.Desc == fmt.Sprintf("Subchannel Connectivity change to %v", connectivity.Ready) {
 				ready++
@@ -1866,7 +1880,7 @@ func (s) TestCZTraceOverwriteChannelDeletion(t *testing.T) {
 	czCleanup := channelz.NewChannelzStorage()
 	defer czCleanupWrapper(czCleanup, t)
 	e := tcpClearRREnv
-	// avoid calling API to set balancer type, which will void service config's change of balancer.
+	// avoid newTest using WithBalancer, which would override service config's change of balancer below.
 	e.balancer = ""
 	te := newTest(t, e)
 	channelz.SetMaxTraceEntry(1)
@@ -1956,19 +1970,20 @@ func (s) TestCZTraceOverwriteSubChannelDeletion(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	r.UpdateState(resolver.State{Addresses: []resolver.Address{}})
-
-	if err := verifyResultWithDelay(func() (bool, error) {
-		tcs, _ := channelz.GetTopChannels(0, 0)
-		if len(tcs) != 1 {
-			return false, fmt.Errorf("there should only be one top channel, not %d", len(tcs))
+	// Wait for ready
+	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
+	defer cancel()
+	for src := te.cc.GetState(); src != connectivity.Ready; src = te.cc.GetState() {
+		if !te.cc.WaitForStateChange(ctx, src) {
+			t.Fatalf("timed out waiting for state change.  got %v; want %v", src, connectivity.Ready)
 		}
-		if len(tcs[0].SubChans) != 0 {
-			return false, fmt.Errorf("there should be 0 subchannel not %d", len(tcs[0].SubChans))
+	}
+	r.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: "fake address"}}})
+	// Wait for not-ready.
+	for src := te.cc.GetState(); src == connectivity.Ready; src = te.cc.GetState() {
+		if !te.cc.WaitForStateChange(ctx, src) {
+			t.Fatalf("timed out waiting for state change.  got %v; want !%v", src, connectivity.Ready)
 		}
-		return true, nil
-	}); err != nil {
-		t.Fatal(err)
 	}
 
 	// verify that the subchannel no longer exist due to trace referencing it got overwritten.
diff --git a/test/healthcheck_test.go b/test/healthcheck_test.go
index 1aa9d6b47c20..a08718d0971c 100644
--- a/test/healthcheck_test.go
+++ b/test/healthcheck_test.go
@@ -507,7 +507,7 @@ func (s) TestHealthCheckWithAddrConnDrain(t *testing.T) {
 	default:
 	}
 	// trigger teardown of the ac
-	r.UpdateState(resolver.State{Addresses: []resolver.Address{}, ServiceConfig: sc})
+	r.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: "fake address"}}, ServiceConfig: sc})
 
 	select {
 	case <-hcExitChan:
@@ -653,7 +653,7 @@ func (s) TestHealthCheckWithoutSetConnectivityStateCalledAddrConnShutDown(t *tes
 		t.Fatal("Health check function has not been invoked after 5s.")
 	}
 	// trigger teardown of the ac, ac in SHUTDOWN state
-	r.UpdateState(resolver.State{Addresses: []resolver.Address{}, ServiceConfig: sc})
+	r.UpdateState(resolver.State{Addresses: []resolver.Address{{Addr: "fake address"}}, ServiceConfig: sc})
 
 	// The health check func should exit without calling the setConnectivityState func, as server hasn't sent
 	// any response.

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