@@ -189,7 +189,7 @@ func testIndexers(db ethdb.Database, odr light.OdrBackend, config *light.Indexer
189
189
return indexers [:]
190
190
}
191
191
192
- func newTestClientHandler (backend * backends.SimulatedBackend , odr * LesOdr , indexers []* core.ChainIndexer , db ethdb.Database , peers * serverPeerSet , ulcServers []string , ulcFraction int ) * clientHandler {
192
+ func newTestClientHandler (backend * backends.SimulatedBackend , odr * LesOdr , indexers []* core.ChainIndexer , db ethdb.Database , peers * serverPeerSet , ulcServers []string , ulcFraction int ) ( * clientHandler , func ()) {
193
193
var (
194
194
evmux = new (event.TypeMux )
195
195
engine = ethash .NewFaker ()
@@ -245,10 +245,12 @@ func newTestClientHandler(backend *backends.SimulatedBackend, odr *LesOdr, index
245
245
client .oracle .Start (backend )
246
246
}
247
247
client .handler .start ()
248
- return client .handler
248
+ return client .handler , func () {
249
+ client .handler .stop ()
250
+ }
249
251
}
250
252
251
- func newTestServerHandler (blocks int , indexers []* core.ChainIndexer , db ethdb.Database , clock mclock.Clock ) (* serverHandler , * backends.SimulatedBackend ) {
253
+ func newTestServerHandler (blocks int , indexers []* core.ChainIndexer , db ethdb.Database , clock mclock.Clock ) (* serverHandler , * backends.SimulatedBackend , func () ) {
252
254
var (
253
255
gspec = core.Genesis {
254
256
Config : params .AllEthashProtocolChanges ,
@@ -314,7 +316,8 @@ func newTestServerHandler(blocks int, indexers []*core.ChainIndexer, db ethdb.Da
314
316
}
315
317
server .servingQueue .setThreads (4 )
316
318
server .handler .start ()
317
- return server .handler , simulation
319
+ closer := func () { server .Stop () }
320
+ return server .handler , simulation , closer
318
321
}
319
322
320
323
func alwaysTrueFn () bool {
@@ -600,8 +603,8 @@ func newClientServerEnv(t *testing.T, config testnetConfig) (*testServer, *testC
600
603
ccIndexer , cbIndexer , cbtIndexer := cIndexers [0 ], cIndexers [1 ], cIndexers [2 ]
601
604
odr .SetIndexers (ccIndexer , cbIndexer , cbtIndexer )
602
605
603
- server , b := newTestServerHandler (config .blocks , sindexers , sdb , clock )
604
- client := newTestClientHandler (b , odr , cIndexers , cdb , speers , config .ulcServers , config .ulcFraction )
606
+ server , b , serverClose := newTestServerHandler (config .blocks , sindexers , sdb , clock )
607
+ client , clientClose := newTestClientHandler (b , odr , cIndexers , cdb , speers , config .ulcServers , config .ulcFraction )
605
608
606
609
scIndexer .Start (server .blockchain )
607
610
sbIndexer .Start (server .blockchain )
@@ -658,7 +661,10 @@ func newClientServerEnv(t *testing.T, config testnetConfig) (*testServer, *testC
658
661
cbIndexer .Close ()
659
662
scIndexer .Close ()
660
663
sbIndexer .Close ()
664
+ dist .close ()
665
+ serverClose ()
661
666
b .Close ()
667
+ clientClose ()
662
668
}
663
669
return s , c , teardown
664
670
}
0 commit comments