mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-10 05:52:20 +08:00
Add test to test conncurrent connects between two peers
This commit is contained in:
@ -390,3 +390,47 @@ func TestFindPeer(t *testing.T) {
|
||||
t.Fatal("Didnt find expected peer.")
|
||||
}
|
||||
}
|
||||
|
||||
func TestConnectCollision(t *testing.T) {
|
||||
// t.Skip("skipping test to debug another")
|
||||
|
||||
u.Debug = false
|
||||
addrA, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/1235")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
addrB, err := ma.NewMultiaddr("/ip4/127.0.0.1/tcp/5679")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
peerA := makePeer(addrA)
|
||||
peerB := makePeer(addrB)
|
||||
|
||||
dhtA := setupDHT(t, peerA)
|
||||
dhtB := setupDHT(t, peerB)
|
||||
|
||||
defer dhtA.Halt()
|
||||
defer dhtB.Halt()
|
||||
defer dhtA.network.Close()
|
||||
defer dhtB.network.Close()
|
||||
|
||||
done := make(chan struct{})
|
||||
go func() {
|
||||
_, err = dhtA.Connect(context.Background(), peerB)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
done <- struct{}{}
|
||||
}()
|
||||
go func() {
|
||||
_, err = dhtB.Connect(context.Background(), peerA)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
done <- struct{}{}
|
||||
}()
|
||||
|
||||
<-done
|
||||
<-done
|
||||
}
|
||||
|
@ -92,6 +92,10 @@ func (f *fauxNet) GetPeerList() []*peer.Peer {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *fauxNet) GetBandwidthTotals() (uint64, uint64) {
|
||||
return 0, 0
|
||||
}
|
||||
|
||||
// Close terminates all network operation
|
||||
func (f *fauxNet) Close() error { return nil }
|
||||
|
||||
|
Reference in New Issue
Block a user