diff --git a/clientconn_test.go b/clientconn_test.go index f0c55a9a1..d276c7b5f 100644 --- a/clientconn_test.go +++ b/clientconn_test.go @@ -1067,8 +1067,14 @@ func stayConnected(cc *ClientConn) { defer cancel() for { - cc.Connect() - if state := cc.GetState(); state == connectivity.Shutdown || !cc.WaitForStateChange(ctx, state) { + state := cc.GetState() + switch state { + case connectivity.Idle: + cc.Connect() + case connectivity.Shutdown: + return + } + if !cc.WaitForStateChange(ctx, state) { return } }