From 6ad67d7b28feda2ef43f322a9e5279c4e7595c71 Mon Sep 17 00:00:00 2001 From: Janos Guljas Date: Mon, 14 Jan 2019 11:59:47 +0100 Subject: [PATCH] swarm/storage/localstore: protect chunks in TestModePutUpload_parallel --- swarm/storage/localstore/mode_put_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/swarm/storage/localstore/mode_put_test.go b/swarm/storage/localstore/mode_put_test.go index ca866ae118..77c5390760 100644 --- a/swarm/storage/localstore/mode_put_test.go +++ b/swarm/storage/localstore/mode_put_test.go @@ -18,6 +18,7 @@ package localstore import ( "bytes" + "sync" "testing" "time" @@ -158,6 +159,7 @@ func TestModePutUpload_parallel(t *testing.T) { } chunks := make([]storage.Chunk, 0) + var chunksMu sync.Mutex // send chunks to workers go func() { @@ -168,7 +170,9 @@ func TestModePutUpload_parallel(t *testing.T) { case <-doneChan: return } + chunksMu.Lock() chunks = append(chunks, chunk) + chunksMu.Unlock() } close(chunkChan) @@ -184,6 +188,9 @@ func TestModePutUpload_parallel(t *testing.T) { // get every chunk and validate its data getter := db.NewGetter(ModeGetRequest) + + chunksMu.Lock() + defer chunksMu.Unlock() for _, chunk := range chunks { got, err := getter.Get(chunk.Address()) if err != nil {