1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-10 05:52: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 ( import (
"bytes" "bytes"
"errors"
"fmt" "fmt"
"io" "io"
"io/ioutil" "io/ioutil"
@ -193,32 +194,43 @@ func runBatchFetchTest(t *testing.T, read io.Reader) {
} }
wg := sync.WaitGroup{} wg := sync.WaitGroup{}
errs := make(chan error)
for i := 1; i < len(dagservs); i++ { for i := 1; i < len(dagservs); i++ {
wg.Add(1) wg.Add(1)
go func(i int) { go func(i int) {
defer wg.Done() defer wg.Done()
first, err := dagservs[i].Get(ctx, k) first, err := dagservs[i].Get(ctx, k)
if err != nil { if err != nil {
t.Fatal(err) errs <- err
} }
fmt.Println("Got first node back.") fmt.Println("Got first node back.")
read, err := uio.NewDagReader(ctx, first, dagservs[i]) read, err := uio.NewDagReader(ctx, first, dagservs[i])
if err != nil { if err != nil {
t.Fatal(err) errs <- err
} }
datagot, err := ioutil.ReadAll(read) datagot, err := ioutil.ReadAll(read)
if err != nil { if err != nil {
t.Fatal(err) errs <- err
} }
if !bytes.Equal(datagot, expected) { if !bytes.Equal(datagot, expected) {
t.Fatal("Got bad data back!") errs <- errors.New("Got bad data back!")
} }
}(i) }(i)
} }
go func() {
wg.Wait() wg.Wait()
close(errs)
}()
for err := range errs {
if err != nil {
t.Fatal(err)
}
}
} }
func TestRecursiveAdd(t *testing.T) { func TestRecursiveAdd(t *testing.T) {