dht tests: dont introduce nil multiaddr
this is the type of assumption we shouldn't violate.
Juan Batiz-Benet committed
Nov 20, 2014 at 11:02 UTC
26e765616460032fb87975175faae8c03de8937c
3 files changed
+16
-4
peer/peer.go
+4
@@ -209,6 +209,10 @@ func (p *peer) Addresses() []ma.Multiaddr {
209
// AddAddress adds the given Multiaddr address to Peer's addresses.
210
// Returns whether this address was a newly added address
211
func (p *peer) AddAddress(a ma.Multiaddr) bool {
212
+ if a == nil {
213
+ panic("adding a nil Multiaddr")
214
+ }
215
+
216
p.Lock()
217
defer p.Unlock()
218
routing/dht/dht_test.go
+8
@@ -64,6 +64,14 @@ func setupDHTS(ctx context.Context, n int, t *testing.T) ([]ma.Multiaddr, []peer
64
return addrs, peers, dhts
65
}
66
67
+func makePeerString(t *testing.T, addr string) peer.Peer {
68
+ maddr, err := ma.NewMultiaddr(addr)
69
+ if err != nil {
70
+ t.Fatal(err)
71
+ }
72
+ return makePeer(maddr)
73
+}
74
+
75
func makePeer(addr ma.Multiaddr) peer.Peer {
76
sk, pk, err := ci.GenerateKeyPair(ci.RSA, 512)
77
if err != nil {
routing/dht/ext_test.go
+4
-4
@@ -125,10 +125,10 @@ func TestGetFailures(t *testing.T) {
125
fs := &fauxSender{}
126
127
peerstore := peer.NewPeerstore()
128
- local := makePeer(nil)
128
+ local := makePeerString(t, "")
129
130
d := NewDHT(ctx, local, peerstore, fn, fs, ds.NewMapDatastore())
131
- other := makePeer(nil)
131
+ other := makePeerString(t, "")
132
d.Update(ctx, other)
133
134
// This one should time out
@@ -223,7 +223,7 @@ func TestNotFound(t *testing.T) {
223
fn := &fauxNet{}
224
fs := &fauxSender{}
225
226
- local := makePeer(nil)
226
+ local := makePeerString(t, "")
227
peerstore := peer.NewPeerstore()
228
peerstore.Add(local)
229
@@ -289,7 +289,7 @@ func TestLessThanKResponses(t *testing.T) {
289
u.Debug = false
290
fn := &fauxNet{}
291
fs := &fauxSender{}
292
- local := makePeer(nil)
292
+ local := makePeerString(t, "")
293
peerstore := peer.NewPeerstore()
294
peerstore.Add(local)
295