|
|
|
@ -177,18 +177,25 @@ func TestServerDial(t *testing.T) { |
|
|
|
|
if peer := srv.Peers()[0]; peer.Info().Network.Trusted { |
|
|
|
|
t.Errorf("peer is trusted prematurely: %v", peer) |
|
|
|
|
} |
|
|
|
|
srv.AddTrustedPeer(node) |
|
|
|
|
if peer := srv.Peers()[0]; !peer.Info().Network.Trusted { |
|
|
|
|
t.Errorf("peer is not trusted after AddTrustedPeer: %v", peer) |
|
|
|
|
} |
|
|
|
|
if peer := srv.Peers()[0]; peer.Inbound() { |
|
|
|
|
t.Errorf("peer is marked inbound") |
|
|
|
|
} |
|
|
|
|
srv.RemoveTrustedPeer(node) |
|
|
|
|
if peer := srv.Peers()[0]; peer.Info().Network.Trusted { |
|
|
|
|
t.Errorf("peer is trusted after RemoveTrustedPeer: %v", peer) |
|
|
|
|
} |
|
|
|
|
done := make(chan bool) |
|
|
|
|
go func() { |
|
|
|
|
srv.AddTrustedPeer(node) |
|
|
|
|
if peer := srv.Peers()[0]; !peer.Info().Network.Trusted { |
|
|
|
|
t.Errorf("peer is not trusted after AddTrustedPeer: %v", peer) |
|
|
|
|
} |
|
|
|
|
srv.RemoveTrustedPeer(node) |
|
|
|
|
if peer := srv.Peers()[0]; peer.Info().Network.Trusted { |
|
|
|
|
t.Errorf("peer is trusted after RemoveTrustedPeer: %v", peer) |
|
|
|
|
} |
|
|
|
|
done <- true |
|
|
|
|
}() |
|
|
|
|
|
|
|
|
|
// Trigger potential race conditions
|
|
|
|
|
peer = srv.Peers()[0] |
|
|
|
|
_ = peer.Inbound() |
|
|
|
|
_ = peer.Info() |
|
|
|
|
|
|
|
|
|
<-done |
|
|
|
|
case <-time.After(1 * time.Second): |
|
|
|
|
t.Error("server did not launch peer within one second") |
|
|
|
|
} |
|
|
|
|