44 "context"
55 "fmt"
66 "io"
7- "os"
87 "testing"
98 "time"
109
@@ -45,10 +44,12 @@ import (
4544// IrrecoverableStateTestSuite tests that Access node indicate an inconsistent or corrupted node state
4645type IrrecoverableStateTestSuite struct {
4746 suite.Suite
47+ log zerolog.Logger
48+ cancel context.CancelFunc
49+
4850 state * protocol.State
4951 snapshot * protocol.Snapshot
5052 epochQuery * protocol.EpochQuery
51- log zerolog.Logger
5253 net * mocknetwork.EngineRegistry
5354 request * module.Requester
5455 collClient * accessmock.AccessAPIClient
@@ -72,7 +73,7 @@ type IrrecoverableStateTestSuite struct {
7273}
7374
7475func (suite * IrrecoverableStateTestSuite ) SetupTest () {
75- suite .log = zerolog . New ( os . Stdout )
76+ suite .log = unittest . Logger ( )
7677 suite .net = mocknetwork .NewEngineRegistry (suite .T ())
7778 suite .state = protocol .NewState (suite .T ())
7879 suite .snapshot = protocol .NewSnapshot (suite .T ())
@@ -186,13 +187,17 @@ func (suite *IrrecoverableStateTestSuite) SetupTest() {
186187 assert .NoError (suite .T (), err )
187188
188189 err = fmt .Errorf ("inconsistent node's state" )
190+
191+ ctx , cancel := context .WithCancel (context .Background ())
192+ suite .cancel = cancel
193+
189194 signCtxErr := irrecoverable .NewExceptionf ("failed to lookup sealed header: %w" , err )
190- ctx := irrecoverable .NewMockSignalerContextExpectError (suite .T (), context . Background () , signCtxErr )
195+ signalCtx := irrecoverable .NewMockSignalerContextExpectError (suite .T (), ctx , signCtxErr )
191196
192- suite .rpcEng .Start (ctx )
197+ suite .rpcEng .Start (signalCtx )
193198
194- suite .secureGrpcServer .Start (ctx )
195- suite .unsecureGrpcServer .Start (ctx )
199+ suite .secureGrpcServer .Start (signalCtx )
200+ suite .unsecureGrpcServer .Start (signalCtx )
196201
197202 // wait for the servers to startup
198203 unittest .AssertClosesBefore (suite .T (), suite .secureGrpcServer .Ready (), 2 * time .Second )
@@ -202,6 +207,13 @@ func (suite *IrrecoverableStateTestSuite) SetupTest() {
202207 unittest .AssertClosesBefore (suite .T (), suite .rpcEng .Ready (), 2 * time .Second )
203208}
204209
210+ func (suite * IrrecoverableStateTestSuite ) TearDownTest () {
211+ suite .cancel ()
212+ unittest .AssertClosesBefore (suite .T (), suite .secureGrpcServer .Done (), 2 * time .Second )
213+ unittest .AssertClosesBefore (suite .T (), suite .unsecureGrpcServer .Done (), 2 * time .Second )
214+ unittest .AssertClosesBefore (suite .T (), suite .rpcEng .Done (), 2 * time .Second )
215+ }
216+
205217func TestIrrecoverableState (t * testing.T ) {
206218 suite .Run (t , new (IrrecoverableStateTestSuite ))
207219}
0 commit comments