(t *testing.T)
| 477 | } |
| 478 | |
| 479 | func (s) TestResolverServiceConfigWhileClosingNotPanic(t *testing.T) { |
| 480 | for i := 0; i < 10; i++ { // Run this multiple times to make sure it doesn't panic. |
| 481 | r := manual.NewBuilderWithScheme(fmt.Sprintf("whatever-%d", i)) |
| 482 | cc, err := NewClient(r.Scheme()+":///test.server", WithTransportCredentials(insecure.NewCredentials()), WithResolvers(r)) |
| 483 | if err != nil { |
| 484 | t.Fatalf("grpc.NewClient() failed: %v", err) |
| 485 | } |
| 486 | cc.Connect() |
| 487 | // Send a new service config while closing the ClientConn. |
| 488 | go cc.Close() |
| 489 | go r.UpdateState(resolver.State{ServiceConfig: r.CC().ParseServiceConfig(rrServiceConfig)}) // This should not panic. |
| 490 | } |
| 491 | } |
| 492 | |
| 493 | func (s) TestResolverEmptyUpdateNotPanic(t *testing.T) { |
| 494 | r := manual.NewBuilderWithScheme("whatever") |
nothing calls this directly
no test coverage detected