mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-27 05:17:49 +08:00
epictest: fix mn.Peers() setup race
@maybebtc the error was not inside mocknet. the error is in assuming the peers / nets returned follow the same order. See: - https://github.com/jbenet/go-ipfs/blob/master/epictest/addcat_test.go#L100 - https://gist.github.com/jbenet/a39bb9d2f16532a03bb8 if you want the results to be sorted by peer.ID before they are returned, we can totally do that, but that's probably an unsafe assumption to make in general-- if you do your initialization async, the number of networks or peers may have changed between the two calls. LMK what you prefer. (thank you golang map chaosmonkey ;)
This commit is contained in:
parent
bbcddd6c1f
commit
6bd4a6ddb2
@ -94,14 +94,16 @@ func DirectAddCat(data []byte, conf Config) error {
|
||||
Bandwidth: math.MaxInt32,
|
||||
})
|
||||
|
||||
if len(mn.Peers()) < numPeers {
|
||||
peers := mn.Peers()
|
||||
if len(peers) < numPeers {
|
||||
return errors.New("test initialization error")
|
||||
}
|
||||
adder, err := makeCore(ctx, MocknetTestRepo(mn.Peers()[0], mn.Net(mn.Peers()[0]), conf))
|
||||
|
||||
adder, err := makeCore(ctx, MocknetTestRepo(peers[0], mn.Net(peers[0]), conf))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
catter, err := makeCore(ctx, MocknetTestRepo(mn.Peers()[1], mn.Net(mn.Peers()[1]), conf))
|
||||
catter, err := makeCore(ctx, MocknetTestRepo(peers[1], mn.Net(peers[1]), conf))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -38,18 +38,19 @@ func RunThreeLeggedCat(data []byte, conf Config) error {
|
||||
Bandwidth: math.MaxInt32,
|
||||
})
|
||||
|
||||
if len(mn.Peers()) < numPeers {
|
||||
peers := mn.Peers()
|
||||
if len(peers) < numPeers {
|
||||
return errors.New("test initialization error")
|
||||
}
|
||||
adder, err := makeCore(ctx, MocknetTestRepo(mn.Peers()[0], mn.Net(mn.Peers()[0]), conf))
|
||||
adder, err := makeCore(ctx, MocknetTestRepo(peers[0], mn.Net(peers[0]), conf))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
catter, err := makeCore(ctx, MocknetTestRepo(mn.Peers()[1], mn.Net(mn.Peers()[1]), conf))
|
||||
catter, err := makeCore(ctx, MocknetTestRepo(peers[1], mn.Net(peers[1]), conf))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
bootstrap, err := makeCore(ctx, MocknetTestRepo(mn.Peers()[2], mn.Net(mn.Peers()[2]), conf))
|
||||
bootstrap, err := makeCore(ctx, MocknetTestRepo(peers[2], mn.Net(peers[2]), conf))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user