@@ -648,15 +648,16 @@ func TestGoAway(t *testing.T) {
648648
649649 for i := 0 ; i < 100 ; i ++ {
650650 s , err := client .Open (context .Background ())
651- switch err {
652- case nil :
651+ if err == nil {
653652 s .Close ()
654- case ErrRemoteGoAwayNormal :
653+ time .Sleep (50 * time .Millisecond )
654+ continue
655+ }
656+ if err != ErrRemoteGoAway {
657+ t .Fatalf ("expected %s, got %s" , ErrRemoteGoAway , err )
658+ } else {
655659 return
656- default :
657- t .Fatalf ("err: %v" , err )
658660 }
659- time .Sleep (50 * time .Millisecond )
660661 }
661662 t .Fatalf ("expected GoAway error" )
662663}
@@ -1578,7 +1579,7 @@ func TestStreamResetWithError(t *testing.T) {
15781579 defer server .Close ()
15791580
15801581 wc := new (sync.WaitGroup )
1581- wc .Add (2 )
1582+ wc .Add (1 )
15821583 go func () {
15831584 defer wc .Done ()
15841585 stream , err := server .AcceptStream ()
@@ -1589,7 +1590,7 @@ func TestStreamResetWithError(t *testing.T) {
15891590 se := & StreamError {}
15901591 _ , err = io .ReadAll (stream )
15911592 if ! errors .As (err , & se ) {
1592- t .Errorf ("exptected StreamError, got type:%T, err: %s" , err , err )
1593+ t .Errorf ("expected StreamError, got type:%T, err: %s" , err , err )
15931594 return
15941595 }
15951596 expected := & StreamError {Remote : true , ErrorCode : 42 }
@@ -1601,24 +1602,19 @@ func TestStreamResetWithError(t *testing.T) {
16011602 t .Error (err )
16021603 }
16031604
1604- go func () {
1605- defer wc .Done ()
1606-
1607- se := & StreamError {}
1608- _ , err := io .ReadAll (stream )
1609- if ! errors .As (err , & se ) {
1610- t .Errorf ("exptected StreamError, got type:%T, err: %s" , err , err )
1611- return
1612- }
1613- expected := & StreamError {Remote : false , ErrorCode : 42 }
1614- assert .Equal (t , se , expected )
1615- }()
1616-
16171605 time .Sleep (1 * time .Second )
16181606 err = stream .ResetWithError (42 )
16191607 if err != nil {
16201608 t .Fatal (err )
16211609 }
1610+ se := & StreamError {}
1611+ _ , err = io .ReadAll (stream )
1612+ if ! errors .As (err , & se ) {
1613+ t .Errorf ("expected StreamError, got type:%T, err: %s" , err , err )
1614+ return
1615+ }
1616+ expected := & StreamError {Remote : false , ErrorCode : 42 }
1617+ assert .Equal (t , se , expected )
16221618 wc .Wait ()
16231619}
16241620
0 commit comments