exchange/bitswap/bitswap_test: fix t.Fatal in a goroutine
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Dec 12, 2015 at 21:04 UTC
f905197fa5ef68e7094cbd3b290068dfb774d495
1 file changed
+14
-2
exchange/bitswap/bitswap_test.go
+14
-2
@@ -168,19 +168,31 @@ func PerformDistributionTest(t *testing.T, numInstances, numBlocks int) {
168
t.Log("Distribute!")
169
170
wg := sync.WaitGroup{}
171
+ errs := make(chan error)
172
+
173
for _, inst := range instances[1:] {
174
wg.Add(1)
175
go func(inst Instance) {
176
defer wg.Done()
177
outch, err := inst.Exchange.GetBlocks(ctx, blkeys)
178
if err != nil {
177
- t.Fatal(err)
179
+ errs <- err
180
}
181
for _ = range outch {
182
}
183
}(inst)
184
}
183
- wg.Wait()
185
+
186
+ go func() {
187
+ wg.Wait()
188
+ close(errs)
189
+ }()
190
+
191
+ for err := range errs {
192
+ if err != nil {
193
+ t.Fatal(err)
194
+ }
195
+ }
196
197
t.Log("Verify!")
198