Skip to content

Commit eb65f0f

Browse files
committed
Fix tests
1 parent 214a784 commit eb65f0f

2 files changed

Lines changed: 31 additions & 18 deletions

File tree

block/internal/syncing/syncer_forced_inclusion_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ func newForcedInclusionSyncer(t *testing.T, daStart, epochSize uint64) (*Syncer,
8888
zerolog.Nop(), common.DefaultBlockOptions(), make(chan error, 1), nil,
8989
)
9090
s.daRetriever = daRetriever
91+
if s.fiRetriever != nil {
92+
s.fiRetriever.Stop()
93+
}
9194
s.fiRetriever = fiRetriever
9295

9396
require.NoError(t, s.initializeState())
@@ -159,6 +162,9 @@ func TestVerifyForcedInclusionTxs_NamespaceNotConfigured(t *testing.T) {
159162
extmocks.NewMockStore[*types.P2PData](t),
160163
zerolog.Nop(), common.DefaultBlockOptions(), make(chan error, 1), nil,
161164
)
165+
if s.fiRetriever != nil {
166+
s.fiRetriever.Stop()
167+
}
162168
s.fiRetriever = fiRetriever
163169
require.NoError(t, s.initializeState())
164170
s.ctx = t.Context()

pkg/sequencers/based/sequencer_test.go

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ func createTestSequencer(t *testing.T, mockRetriever *common.MockForcedInclusion
7474
MockVerifier: mocks.NewMockVerifier(t),
7575
}
7676
// Mock the forced inclusion namespace call
77-
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
78-
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
77+
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
78+
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
7979
mockDAClient.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
8080
mockDAClient.MockClient.On("Retrieve", mock.Anything, mock.Anything, mock.Anything).Return(datypes.ResultRetrieve{
8181
BaseResult: datypes.BaseResult{Code: datypes.StatusNotFound},
@@ -89,7 +89,7 @@ func createTestSequencer(t *testing.T, mockRetriever *common.MockForcedInclusion
8989
require.NoError(t, err)
9090

9191
// Replace the fiRetriever with our mock so tests work as before
92-
seq.fiRetriever = mockRetriever
92+
replaceWithMockRetriever(seq, mockRetriever)
9393

9494
return seq, testData{cancel: done, mockDAClient: mockDAClient}
9595
}
@@ -471,8 +471,8 @@ func TestBasedSequencer_CheckpointPersistence(t *testing.T) {
471471
MockClient: mocks.NewMockClient(t),
472472
MockVerifier: mocks.NewMockVerifier(t),
473473
}
474-
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
475-
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
474+
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
475+
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
476476
mockDAClient.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
477477
mockDAClient.MockClient.On("Retrieve", mock.Anything, mock.Anything, mock.Anything).Return(datypes.ResultRetrieve{
478478
BaseResult: datypes.BaseResult{Code: datypes.StatusHeightFromFuture},
@@ -484,7 +484,7 @@ func TestBasedSequencer_CheckpointPersistence(t *testing.T) {
484484
require.NoError(t, err)
485485

486486
// Replace the fiRetriever with our mock so tests work as before
487-
seq1.fiRetriever = mockRetriever
487+
replaceWithMockRetriever(seq1, mockRetriever)
488488

489489
req := coresequencer.GetNextBatchRequest{
490490
MaxBytes: 1000000,
@@ -502,15 +502,15 @@ func TestBasedSequencer_CheckpointPersistence(t *testing.T) {
502502
MockClient: mocks.NewMockClient(t),
503503
MockVerifier: mocks.NewMockVerifier(t),
504504
}
505-
mockDAClient2.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
506-
mockDAClient2.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
505+
mockDAClient2.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
506+
mockDAClient2.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
507507
mockDAClient2.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
508508
mockExec2 := createDefaultMockExecutor(t)
509509
seq2, err := NewBasedSequencer(t.Context(), mockDAClient2, config.DefaultConfig(), db, gen, zerolog.Nop(), mockExec2)
510510
require.NoError(t, err)
511511

512512
// Replace the fiRetriever with our mock so tests work as before
513-
seq2.fiRetriever = mockRetriever
513+
replaceWithMockRetriever(seq2, mockRetriever)
514514

515515
// Checkpoint should be loaded from DB
516516
assert.Equal(t, uint64(101), seq2.checkpoint.DAHeight)
@@ -548,8 +548,8 @@ func TestBasedSequencer_CrashRecoveryMidEpoch(t *testing.T) {
548548
MockVerifier: mocks.NewMockVerifier(t),
549549
} // On restart, the epoch is re-fetched but we must NOT reset TxIndex
550550

551-
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
552-
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
551+
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
552+
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
553553
mockDAClient.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
554554
mockDAClient.MockClient.On("Retrieve", mock.Anything, mock.Anything, mock.Anything).Return(datypes.ResultRetrieve{
555555
BaseResult: datypes.BaseResult{Code: datypes.StatusHeightFromFuture},
@@ -587,7 +587,7 @@ func TestBasedSequencer_CrashRecoveryMidEpoch(t *testing.T) {
587587
ctx, cancel := context.WithCancel(t.Context())
588588
seq1, err := NewBasedSequencer(ctx, mockDAClient, config.DefaultConfig(), db, gen, zerolog.Nop(), mockExec)
589589
require.NoError(t, err)
590-
seq1.fiRetriever = mockRetriever
590+
replaceWithMockRetriever(seq1, mockRetriever)
591591

592592
req := coresequencer.GetNextBatchRequest{
593593
MaxBytes: 1000000,
@@ -613,16 +613,16 @@ func TestBasedSequencer_CrashRecoveryMidEpoch(t *testing.T) {
613613
MockClient: mocks.NewMockClient(t),
614614
MockVerifier: mocks.NewMockVerifier(t),
615615
}
616-
mockDAClient2.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
617-
mockDAClient2.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
616+
mockDAClient2.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
617+
mockDAClient2.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
618618
mockDAClient2.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
619619
mockDAClient2.MockClient.On("Retrieve", mock.Anything, mock.Anything, mock.Anything).Return(datypes.ResultRetrieve{
620620
BaseResult: datypes.BaseResult{Code: datypes.StatusHeightFromFuture},
621621
}).Maybe()
622622

623623
seq2, err := NewBasedSequencer(ctx, mockDAClient2, config.DefaultConfig(), db, gen, zerolog.Nop(), mockExec)
624624
require.NoError(t, err)
625-
seq2.fiRetriever = mockRetriever
625+
replaceWithMockRetriever(seq2, mockRetriever)
626626

627627
// Verify checkpoint was loaded correctly
628628
assert.Equal(t, uint64(100), seq2.checkpoint.DAHeight, "DA height should be loaded from checkpoint")
@@ -938,16 +938,16 @@ func TestBasedSequencer_GetNextBatch_GasFilteringPreservesUnprocessedTxs(t *test
938938
MockClient: mocks.NewMockClient(t),
939939
MockVerifier: mocks.NewMockVerifier(t),
940940
}
941-
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte("test-forced-inclusion-ns")).Maybe()
942-
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(true).Maybe()
941+
mockDAClient.MockClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
942+
mockDAClient.MockClient.On("HasForcedInclusionNamespace").Return(false).Maybe()
943943
mockDAClient.MockClient.On("Subscribe", mock.Anything, mock.Anything, mock.Anything).Return((<-chan datypes.SubscriptionEvent)(make(chan datypes.SubscriptionEvent)), nil).Maybe()
944944
mockDAClient.MockClient.On("Retrieve", mock.Anything, mock.Anything, mock.Anything).Return(datypes.ResultRetrieve{
945945
BaseResult: datypes.BaseResult{Code: datypes.StatusHeightFromFuture},
946946
}).Maybe()
947947

948948
seq, err := NewBasedSequencer(t.Context(), mockDAClient, config.DefaultConfig(), db, gen, zerolog.Nop(), mockExec)
949949
require.NoError(t, err)
950-
seq.fiRetriever = mockRetriever
950+
replaceWithMockRetriever(seq, mockRetriever)
951951

952952
// First batch: maxBytes=250 means we can fetch ~2 txs (each 100 bytes)
953953
// getTxsFromCheckpoint will return tx0, tx1 (or tx0, tx1, tx2 depending on exact math)
@@ -987,3 +987,10 @@ func TestBasedSequencer_GetNextBatch_GasFilteringPreservesUnprocessedTxs(t *test
987987
// If bug exists, we might only get 2 (tx0 and tx2) because tx3, tx4 are lost
988988
assert.GreaterOrEqual(t, totalTxsProcessed, 3, "should process at least 3 valid transactions from the cache")
989989
}
990+
991+
func replaceWithMockRetriever(seq *BasedSequencer, mockRetriever *common.MockForcedInclusionRetriever) {
992+
if seq.fiRetriever != nil {
993+
seq.fiRetriever.Stop()
994+
}
995+
seq.fiRetriever = mockRetriever
996+
}

0 commit comments

Comments
 (0)