1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-09 23:42:20 +08:00

merkledag/merkledag_test: fix t.Fatal in a goroutine

License: MIT
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
This commit is contained in:
Christian Couder
2015-12-12 21:28:00 +01:00
parent f14482265d
commit f41801cbf4

View File

@ -2,6 +2,7 @@ package merkledag_test
import (
"bytes"
"errors"
"fmt"
"io"
"io/ioutil"
@ -193,32 +194,43 @@ func runBatchFetchTest(t *testing.T, read io.Reader) {
}
wg := sync.WaitGroup{}
errs := make(chan error)
for i := 1; i < len(dagservs); i++ {
wg.Add(1)
go func(i int) {
defer wg.Done()
first, err := dagservs[i].Get(ctx, k)
if err != nil {
t.Fatal(err)
errs <- err
}
fmt.Println("Got first node back.")
read, err := uio.NewDagReader(ctx, first, dagservs[i])
if err != nil {
t.Fatal(err)
errs <- err
}
datagot, err := ioutil.ReadAll(read)
if err != nil {
t.Fatal(err)
errs <- err
}
if !bytes.Equal(datagot, expected) {
t.Fatal("Got bad data back!")
errs <- errors.New("Got bad data back!")
}
}(i)
}
go func() {
wg.Wait()
close(errs)
}()
for err := range errs {
if err != nil {
t.Fatal(err)
}
}
}
func TestRecursiveAdd(t *testing.T) {