@@ -127,6 +127,23 @@ func TestClientAnnounceFailure(t *testing.T) {
127127 cfg := TestingConfig (t )
128128 cfg .DisableTrackers = false
129129
130+ var to * Torrent
131+
132+ cfg .Callbacks .StatusUpdated = append (cfg .Callbacks .StatusUpdated , func (e StatusUpdatedEvent ) {
133+ if e .Event == TrackerConnected {
134+ // ignore
135+ return
136+ }
137+ if e .Event == TrackerAnnounceError {
138+ gotTrackerAnnounceErrorEvt = true
139+ require .Equal (t , trackerUrl , e .Url )
140+ require .Equal (t , to .InfoHash ().HexString (), e .InfoHash )
141+ require .Error (t , e .Error )
142+ require .Equal (t , "test error" , e .Error .Error ())
143+ }
144+ receivedStatusUpdate <- true
145+ })
146+
130147 cl , err := NewClient (cfg )
131148 require .NoError (t , err )
132149 defer cl .Close ()
@@ -142,24 +159,9 @@ func TestClientAnnounceFailure(t *testing.T) {
142159 {trackerUrl },
143160 }
144161
145- to , err : = cl .AddTorrent (mi )
162+ to , err = cl .AddTorrent (mi )
146163 require .NoError (t , err )
147164
148- cfg .Callbacks .StatusUpdated = append (cfg .Callbacks .StatusUpdated , func (e StatusUpdatedEvent ) {
149- if e .Event == TrackerConnected {
150- // ignore
151- return
152- }
153- if e .Event == TrackerAnnounceError {
154- gotTrackerAnnounceErrorEvt = true
155- require .Equal (t , trackerUrl , e .Url )
156- require .Equal (t , to .InfoHash ().HexString (), e .InfoHash )
157- require .Error (t , e .Error )
158- require .Equal (t , "test error" , e .Error .Error ())
159- }
160- receivedStatusUpdate <- true
161- })
162-
163165 select {
164166 case <- timeout .C :
165167 case <- receivedStatusUpdate :
@@ -178,19 +180,7 @@ func TestClientAnnounceSuccess(t *testing.T) {
178180 cfg := TestingConfig (t )
179181 cfg .DisableTrackers = false
180182
181- cl , err := NewClient (cfg )
182- require .NoError (t , err )
183- defer cl .Close ()
184-
185- dir , mi := testutil .GreetingTestTorrent ()
186- defer os .RemoveAll (dir )
187-
188- mi .AnnounceList = [][]string {
189- {trackerUrl },
190- }
191-
192- to , err := cl .AddTorrent (mi )
193- require .NoError (t , err )
183+ var to * Torrent
194184
195185 cfg .Callbacks .StatusUpdated = append (cfg .Callbacks .StatusUpdated , func (e StatusUpdatedEvent ) {
196186 if e .Event == TrackerConnected {
@@ -206,6 +196,20 @@ func TestClientAnnounceSuccess(t *testing.T) {
206196 receivedStatusUpdate <- true
207197 })
208198
199+ cl , err := NewClient (cfg )
200+ require .NoError (t , err )
201+ defer cl .Close ()
202+
203+ dir , mi := testutil .GreetingTestTorrent ()
204+ defer os .RemoveAll (dir )
205+
206+ mi .AnnounceList = [][]string {
207+ {trackerUrl },
208+ }
209+
210+ to , err = cl .AddTorrent (mi )
211+ require .NoError (t , err )
212+
209213 select {
210214 case <- timeout .C :
211215 case <- receivedStatusUpdate :
0 commit comments