@cryptotaxi247 / kubo / commits / 57c4188a9

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