From f809fa5941f40a9e0284c132db67a51a09d57119 Mon Sep 17 00:00:00 2001 From: mexskican Date: Mon, 11 Sep 2017 23:33:14 -0700 Subject: [PATCH] swarm/storage: fix test race in TestRandomBrokenData --- swarm/storage/chunker_test.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/swarm/storage/chunker_test.go b/swarm/storage/chunker_test.go index 426074e59a..c94b99b06d 100644 --- a/swarm/storage/chunker_test.go +++ b/swarm/storage/chunker_test.go @@ -41,11 +41,14 @@ type chunkerTester struct { inputs map[uint64][]byte chunks map[string]*Chunk t test + lock sync.Mutex } func (self *chunkerTester) Split(chunker Splitter, data io.Reader, size int64, chunkC chan *Chunk, swg *sync.WaitGroup, expectedError error) (key Key) { // reset + self.lock.Lock() self.chunks = make(map[string]*Chunk) + self.lock.Unlock() if self.inputs == nil { self.inputs = make(map[uint64][]byte) @@ -63,7 +66,9 @@ func (self *chunkerTester) Split(chunker Splitter, data io.Reader, size int64, c return case chunk := <-chunkC: // self.chunks = append(self.chunks, chunk) + self.lock.Lock() self.chunks[chunk.Key.String()] = chunk + self.lock.Unlock() if chunk.wg != nil { chunk.wg.Done() } @@ -78,9 +83,6 @@ func (self *chunkerTester) Split(chunker Splitter, data io.Reader, size int64, c self.t.Fatalf("Not receiving the correct error! Expected %v, received %v", expectedError, err) } if chunkC != nil { - if swg != nil { - swg.Wait() - } close(quitC) } return