From 705bdc7c9adcb4b222eb8f733700c6260e689c29 Mon Sep 17 00:00:00 2001 From: Abhishek Ranjan Date: Tue, 14 May 2024 13:21:52 +0530 Subject: [PATCH] refactor --- test/goaway_test.go | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/test/goaway_test.go b/test/goaway_test.go index 5bf3462310bd..db1a3be5d95a 100644 --- a/test/goaway_test.go +++ b/test/goaway_test.go @@ -770,33 +770,16 @@ func (s) TestClientSendsAGoAway(t *testing.T) { if err != nil { t.Fatalf("error listening: %v", err) } - ctCh := testutils.NewChannel() + defer lis.Close() + goAwayReceived := make(chan struct{}) + errCh := make(chan error) go func() { conn, err := lis.Accept() if err != nil { t.Errorf("error in lis.Accept(): %v", err) } ct := newClientTester(t, conn) - ctCh.Send(ct) - }() - defer lis.Close() - - cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - t.Fatalf("error dialing: %v", err) - } - - ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) - defer cancel() - - val, err := ctCh.Receive(ctx) - if err != nil { - t.Fatalf("timeout waiting for client transport (should be given after http2 creation)") - } - ct := val.(*clientTester) - goAwayReceived := make(chan struct{}) - errCh := make(chan error) - go func() { + defer ct.conn.Close() for { f, err := ct.fr.ReadFrame() if err != nil { @@ -818,9 +801,17 @@ func (s) TestClientSendsAGoAway(t *testing.T) { } } }() + + cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + t.Fatalf("error dialing: %v", err) + } + + ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) + defer cancel() + cc.WaitForStateChange(ctx, connectivity.Connecting) cc.Close() - defer ct.conn.Close() select { case <-goAwayReceived: case err := <-errCh: