@@ -56,79 +56,79 @@ func TestTCPServer(t *testing.T) {
56
56
const N = 3
57
57
58
58
for i , tt := range tcpServerTests {
59
- if ! testableListenArgs (tt .snet , tt .saddr , tt .taddr ) {
60
- t .Logf ("skipping %s test" , tt .snet + " " + tt .saddr + "<-" + tt .taddr )
61
- continue
62
- }
63
-
64
- ln , err := Listen (tt .snet , tt .saddr )
65
- if err != nil {
66
- if perr := parseDialError (err ); perr != nil {
67
- t .Error (perr )
59
+ t .Run (tt .snet + " " + tt .saddr + "<-" + tt .taddr , func (t * testing.T ) {
60
+ if ! testableListenArgs (tt .snet , tt .saddr , tt .taddr ) {
61
+ t .Skip ("not testable" )
68
62
}
69
- t .Fatal (err )
70
- }
71
63
72
- var lss []* localServer
73
- var tpchs []chan error
74
- defer func () {
75
- for _ , ls := range lss {
76
- ls .teardown ()
77
- }
78
- }()
79
- for i := 0 ; i < N ; i ++ {
80
- ls , err := (& streamListener {Listener : ln }).newLocalServer ()
64
+ ln , err := Listen (tt .snet , tt .saddr )
81
65
if err != nil {
66
+ if perr := parseDialError (err ); perr != nil {
67
+ t .Error (perr )
68
+ }
82
69
t .Fatal (err )
83
70
}
84
- lss = append (lss , ls )
85
- tpchs = append (tpchs , make (chan error , 1 ))
86
- }
87
- for i := 0 ; i < N ; i ++ {
88
- ch := tpchs [i ]
89
- handler := func (ls * localServer , ln Listener ) { transponder (ln , ch ) }
90
- if err := lss [i ].buildup (handler ); err != nil {
91
- t .Fatal (err )
92
- }
93
- }
94
71
95
- var trchs []chan error
96
- for i := 0 ; i < N ; i ++ {
97
- _ , port , err := SplitHostPort (lss [i ].Listener .Addr ().String ())
98
- if err != nil {
99
- t .Fatal (err )
72
+ var lss []* localServer
73
+ var tpchs []chan error
74
+ defer func () {
75
+ for _ , ls := range lss {
76
+ ls .teardown ()
77
+ }
78
+ }()
79
+ for i := 0 ; i < N ; i ++ {
80
+ ls , err := (& streamListener {Listener : ln }).newLocalServer ()
81
+ if err != nil {
82
+ t .Fatal (err )
83
+ }
84
+ lss = append (lss , ls )
85
+ tpchs = append (tpchs , make (chan error , 1 ))
100
86
}
101
- d := Dialer { Timeout : someTimeout }
102
- c , err := d . Dial ( tt . tnet , JoinHostPort ( tt . taddr , port ))
103
- if err != nil {
104
- if perr := parseDialError ( err ); perr != nil {
105
- t .Error ( perr )
87
+ for i := 0 ; i < N ; i ++ {
88
+ ch := tpchs [ i ]
89
+ handler := func ( ls * localServer , ln Listener ) { transponder ( ln , ch ) }
90
+ if err := lss [ i ]. buildup ( handler ); err != nil {
91
+ t .Fatal ( err )
106
92
}
107
- if tt . taddr == "::1" && os . Getenv ( "GO_BUILDER_NAME" ) == "darwin-amd64-10_12" && os . IsTimeout ( err ) {
108
- // A suspected kernel bug in macOS 10.12 occasionally results in
109
- // "i/o timeout" errors when dialing address ::1. The errors have not
110
- // been observed on newer versions of the OS, so we don't plan to work
111
- // around them. See https://golang.org/issue/32919.
112
- t . Logf ( "ignoring error on known-flaky macOS 10.12 builder: %v" , err )
113
- continue
93
+ }
94
+
95
+ var trchs [] chan error
96
+ for i := 0 ; i < N ; i ++ {
97
+ _ , port , err := SplitHostPort ( lss [ i ]. Listener . Addr (). String ())
98
+ if err != nil {
99
+ t . Fatal ( err )
114
100
}
115
- t .Fatal (err )
101
+ d := Dialer {Timeout : someTimeout }
102
+ c , err := d .Dial (tt .tnet , JoinHostPort (tt .taddr , port ))
103
+ if err != nil {
104
+ if perr := parseDialError (err ); perr != nil {
105
+ t .Error (perr )
106
+ }
107
+ if tt .taddr == "::1" && os .Getenv ("GO_BUILDER_NAME" ) == "darwin-amd64-10_12" && os .IsTimeout (err ) {
108
+ // A suspected kernel bug in macOS 10.12 occasionally results in
109
+ // "i/o timeout" errors when dialing address ::1. The errors have not
110
+ // been observed on newer versions of the OS, so we don't plan to work
111
+ // around them. See https://golang.org/issue/32919.
112
+ t .Skipf ("skipping due to error on known-flaky macOS 10.12 builder: %v" , err )
113
+ }
114
+ t .Fatal (err )
115
+ }
116
+ defer c .Close ()
117
+ trchs = append (trchs , make (chan error , 1 ))
118
+ go transceiver (c , []byte ("TCP SERVER TEST" ), trchs [i ])
116
119
}
117
- defer c .Close ()
118
- trchs = append (trchs , make (chan error , 1 ))
119
- go transceiver (c , []byte ("TCP SERVER TEST" ), trchs [i ])
120
- }
121
120
122
- for _ , ch := range trchs {
123
- for err := range ch {
124
- t .Errorf ("#%d: %v" , i , err )
121
+ for _ , ch := range trchs {
122
+ for err := range ch {
123
+ t .Errorf ("#%d: %v" , i , err )
124
+ }
125
125
}
126
- }
127
- for _ , ch := range tpchs {
128
- for err := range ch {
129
- t . Errorf ( "#%d: %v" , i , err )
126
+ for _ , ch := range tpchs {
127
+ for err := range ch {
128
+ t . Errorf ( "#%d: %v" , i , err )
129
+ }
130
130
}
131
- }
131
+ })
132
132
}
133
133
}
134
134
0 commit comments