From c75dee5a028f28d43a505e7156a485d71abe889b Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Mon, 4 Jan 2021 10:31:20 -0500 Subject: [PATCH] state sync: Fix TestSyncer_SyncAny (#5835) --- statesync/syncer_test.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/statesync/syncer_test.go b/statesync/syncer_test.go index cb2da3595..0e155e204 100644 --- a/statesync/syncer_test.go +++ b/statesync/syncer_test.go @@ -3,9 +3,11 @@ package statesync import ( "context" "errors" + "sync" "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" @@ -125,22 +127,27 @@ func TestSyncer_SyncAny(t *testing.T) { chunkRequests := make(map[uint32]int) chunkRequestsMtx := tmsync.Mutex{} + var wg sync.WaitGroup + wg.Add(4) + go func() { for e := range rts.chunkOutCh { msg, ok := e.Message.(*ssproto.ChunkRequest) - require.True(t, ok) + assert.True(t, ok) - require.EqualValues(t, 1, msg.Height) - require.EqualValues(t, 1, msg.Format) - require.LessOrEqual(t, msg.Index, uint32(len(chunks))) + assert.EqualValues(t, 1, msg.Height) + assert.EqualValues(t, 1, msg.Format) + assert.LessOrEqual(t, msg.Index, uint32(len(chunks))) added, err := rts.syncer.AddChunk(chunks[msg.Index]) - require.NoError(t, err) - require.True(t, added) + assert.NoError(t, err) + assert.True(t, added) chunkRequestsMtx.Lock() chunkRequests[msg.Index]++ chunkRequestsMtx.Unlock() + + wg.Done() } }() @@ -173,7 +180,7 @@ func TestSyncer_SyncAny(t *testing.T) { newState, lastCommit, err := rts.syncer.SyncAny(0) require.NoError(t, err) - time.Sleep(50 * time.Millisecond) // wait for peers to receive requests + wg.Wait() chunkRequestsMtx.Lock() require.Equal(t, map[uint32]int{0: 1, 1: 2, 2: 1}, chunkRequests)