提交 00516299 作者: Jeromy 提交者: Juan Batiz-Benet

Add test to test conncurrent connects between two peers

上级 779af0e7
......@@ -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 }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论