test/supernode_client/main: fix t.Fatal in a goroutine
License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Christian Couder committed
Dec 12, 2015 at 21:44 UTC
57c4188a98b471cdffdc9659d5c1c612b861eeca
1 file changed
+22
-4
test/supernode_client/main.go
+22
-4
@@ -142,6 +142,7 @@ func sizeOfIthFile(i int64) int64 {
142
}
143
144
func runFileAddingWorker(n *core.IpfsNode) error {
145
+ errs := make(chan error)
146
go func() {
147
var i int64
148
for i = 1; i < math.MaxInt32; i++ {
@@ -149,17 +150,26 @@ func runFileAddingWorker(n *core.IpfsNode) error {
150
go func() {
151
defer pipew.Close()
152
if err := random.WritePseudoRandomBytes(sizeOfIthFile(i), pipew, *seed); err != nil {
152
- log.Fatal(err)
153
+ errs <- err
154
}
155
}()
156
k, err := coreunix.Add(n, piper)
157
if err != nil {
157
- log.Fatal(err)
158
+ errs <- err
159
}
160
log.Println("added file", "seed", *seed, "#", i, "key", k, "size", unit.Information(sizeOfIthFile(i)))
161
time.Sleep(1 * time.Second)
162
}
163
}()
164
+
165
+ var i int64
166
+ for i = 0; i < math.MaxInt32; i++ {
167
+ err := <-errs
168
+ if err != nil {
169
+ log.Fatal(err)
170
+ }
171
+ }
172
+
173
return nil
174
}
175
@@ -180,18 +190,20 @@ func runFileCattingWorker(ctx context.Context, n *core.IpfsNode) error {
190
return err
191
}
192
193
+ errs := make(chan error)
194
+
195
go func() {
196
defer dummy.Close()
197
var i int64 = 1
198
for {
199
buf := new(bytes.Buffer)
200
if err := random.WritePseudoRandomBytes(sizeOfIthFile(i), buf, *seed); err != nil {
189
- log.Fatal(err)
201
+ errs <- err
202
}
203
// add to a dummy node to discover the key
204
k, err := coreunix.Add(dummy, bytes.NewReader(buf.Bytes()))
205
if err != nil {
194
- log.Fatal(err)
206
+ errs <- err
207
}
208
e := elog.EventBegin(ctx, "cat", logging.LoggableF(func() map[string]interface{} {
209
return map[string]interface{}{
@@ -212,6 +224,12 @@ func runFileCattingWorker(ctx context.Context, n *core.IpfsNode) error {
224
time.Sleep(time.Second)
225
}
226
}()
227
+
228
+ err = <- errs
229
+ if err != nil {
230
+ log.Fatal(err)
231
+ }
232
+
233
return nil
234
}
235