From 74eb03231d3c4f7a649bcff8ca86a8e35d5c640a Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 8 Dec 2014 14:32:52 -0800 Subject: [PATCH] fix(core, peer) helpers to testutil, err handling License: MIT Signed-off-by: Brian Tiger Chow --- core/core.go | 3 ++- crypto/spipe/spipe_test.go | 4 ++-- exchange/bitswap/bitswap_test.go | 4 ++-- exchange/bitswap/message/message_test.go | 8 ++++---- exchange/bitswap/strategy/strategy_test.go | 4 ++-- exchange/bitswap/testnet/network_test.go | 14 +++++++------- importer/importer_test.go | 2 +- namesys/resolve_test.go | 4 ++-- net/conn/dial_test.go | 4 ++-- net/mux/mux_test.go | 4 ++-- net/service/service_test.go | 4 ++-- net/swarm/simul_test.go | 4 ++-- net/swarm/swarm_test.go | 4 ++-- peer/queue/queue_test.go | 6 +++--- routing/dht/dht_test.go | 4 ++-- routing/dht/ext_test.go | 7 +++---- routing/dht/providers_test.go | 4 ++-- routing/mock/routing_test.go | 14 +++++++------- util/testutil/gen.go | 3 +-- {peer/mock => util/testutil}/mock.go | 8 ++++---- 20 files changed, 54 insertions(+), 55 deletions(-) rename {peer/mock => util/testutil}/mock.go (55%) diff --git a/core/core.go b/core/core.go index c7027461d..0f1b2b1e2 100644 --- a/core/core.go +++ b/core/core.go @@ -267,7 +267,8 @@ func initConnections(ctx context.Context, cfg *config.Config, pstore peer.Peerst // setup peer id, err := peer.DecodePrettyID(p.PeerID) if err != nil { - // return err + log.Criticalf("Bootstrapping error: %v", err) + continue } npeer, err := pstore.FindOrCreate(id) if err != nil { diff --git a/crypto/spipe/spipe_test.go b/crypto/spipe/spipe_test.go index 85e133203..56ccbea08 100644 --- a/crypto/spipe/spipe_test.go +++ b/crypto/spipe/spipe_test.go @@ -7,9 +7,9 @@ import ( ci "github.com/jbenet/go-ipfs/crypto" "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" "github.com/jbenet/go-ipfs/util" "github.com/jbenet/go-ipfs/util/pipes" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func getPeer(tb testing.TB) peer.Peer { @@ -18,7 +18,7 @@ func getPeer(tb testing.TB) peer.Peer { tb.Fatal(err) } - p, err := mockpeer.WithKeyPair(privk, pubk) + p, err := testutil.NewPeerWithKeyPair(privk, pubk) if err != nil { tb.Fatal(err) } diff --git a/exchange/bitswap/bitswap_test.go b/exchange/bitswap/bitswap_test.go index b1fb52f44..4d0b5e59d 100644 --- a/exchange/bitswap/bitswap_test.go +++ b/exchange/bitswap/bitswap_test.go @@ -10,8 +10,8 @@ import ( blocks "github.com/jbenet/go-ipfs/blocks" blocksutil "github.com/jbenet/go-ipfs/blocks/blocksutil" tn "github.com/jbenet/go-ipfs/exchange/bitswap/testnet" - "github.com/jbenet/go-ipfs/peer/mock" mock "github.com/jbenet/go-ipfs/routing/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func TestClose(t *testing.T) { @@ -53,7 +53,7 @@ func TestProviderForKeyButNetworkCannotFind(t *testing.T) { g := NewSessionGenerator(net, rs) block := blocks.NewBlock([]byte("block")) - rs.Announce(mockpeer.WithIDString("testing"), block.Key()) // but not on network + rs.Announce(testutil.NewPeerWithIDString("testing"), block.Key()) // but not on network solo := g.Next() diff --git a/exchange/bitswap/message/message_test.go b/exchange/bitswap/message/message_test.go index daea58f90..5fe98634c 100644 --- a/exchange/bitswap/message/message_test.go +++ b/exchange/bitswap/message/message_test.go @@ -6,8 +6,8 @@ import ( blocks "github.com/jbenet/go-ipfs/blocks" pb "github.com/jbenet/go-ipfs/exchange/bitswap/message/internal/pb" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func TestAppendWanted(t *testing.T) { @@ -89,7 +89,7 @@ func TestCopyProtoByValue(t *testing.T) { func TestToNetMethodSetsPeer(t *testing.T) { m := New() - p := mockpeer.WithIDString("X") + p := testutil.NewPeerWithIDString("X") netmsg, err := m.ToNet(p) if err != nil { t.Fatal(err) @@ -107,7 +107,7 @@ func TestToNetFromNetPreservesWantList(t *testing.T) { original.AddWanted(u.Key("T")) original.AddWanted(u.Key("F")) - p := mockpeer.WithIDString("X") + p := testutil.NewPeerWithIDString("X") netmsg, err := original.ToNet(p) if err != nil { t.Fatal(err) @@ -138,7 +138,7 @@ func TestToAndFromNetMessage(t *testing.T) { original.AddBlock(blocks.NewBlock([]byte("F"))) original.AddBlock(blocks.NewBlock([]byte("M"))) - p := mockpeer.WithIDString("X") + p := testutil.NewPeerWithIDString("X") netmsg, err := original.ToNet(p) if err != nil { t.Fatal(err) diff --git a/exchange/bitswap/strategy/strategy_test.go b/exchange/bitswap/strategy/strategy_test.go index 4fdbc4ab5..e063dff68 100644 --- a/exchange/bitswap/strategy/strategy_test.go +++ b/exchange/bitswap/strategy/strategy_test.go @@ -7,7 +7,7 @@ import ( blocks "github.com/jbenet/go-ipfs/blocks" message "github.com/jbenet/go-ipfs/exchange/bitswap/message" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) type peerAndStrategist struct { @@ -17,7 +17,7 @@ type peerAndStrategist struct { func newPeerAndStrategist(idStr string) peerAndStrategist { return peerAndStrategist{ - Peer: mockpeer.WithIDString(idStr), + Peer: testutil.NewPeerWithIDString(idStr), Strategy: New(true), } } diff --git a/exchange/bitswap/testnet/network_test.go b/exchange/bitswap/testnet/network_test.go index eb3c83112..0bfb0cb1e 100644 --- a/exchange/bitswap/testnet/network_test.go +++ b/exchange/bitswap/testnet/network_test.go @@ -9,7 +9,7 @@ import ( bsmsg "github.com/jbenet/go-ipfs/exchange/bitswap/message" bsnet "github.com/jbenet/go-ipfs/exchange/bitswap/network" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func TestSendRequestToCooperativePeer(t *testing.T) { @@ -19,8 +19,8 @@ func TestSendRequestToCooperativePeer(t *testing.T) { t.Log("Get two network adapters") - initiator := net.Adapter(mockpeer.WithIDString("initiator")) - recipient := net.Adapter(mockpeer.WithID(idOfRecipient)) + initiator := net.Adapter(testutil.NewPeerWithIDString("initiator")) + recipient := net.Adapter(testutil.NewPeerWithID(idOfRecipient)) expectedStr := "response from recipient" recipient.SetDelegate(lambda(func( @@ -44,7 +44,7 @@ func TestSendRequestToCooperativePeer(t *testing.T) { message := bsmsg.New() message.AddBlock(blocks.NewBlock([]byte("data"))) response, err := initiator.SendRequest( - context.Background(), mockpeer.WithID(idOfRecipient), message) + context.Background(), testutil.NewPeerWithID(idOfRecipient), message) if err != nil { t.Fatal(err) } @@ -62,8 +62,8 @@ func TestSendRequestToCooperativePeer(t *testing.T) { func TestSendMessageAsyncButWaitForResponse(t *testing.T) { net := VirtualNetwork() idOfResponder := []byte("responder") - waiter := net.Adapter(mockpeer.WithIDString("waiter")) - responder := net.Adapter(mockpeer.WithID(idOfResponder)) + waiter := net.Adapter(testutil.NewPeerWithIDString("waiter")) + responder := net.Adapter(testutil.NewPeerWithID(idOfResponder)) var wg sync.WaitGroup @@ -108,7 +108,7 @@ func TestSendMessageAsyncButWaitForResponse(t *testing.T) { messageSentAsync := bsmsg.New() messageSentAsync.AddBlock(blocks.NewBlock([]byte("data"))) errSending := waiter.SendMessage( - context.Background(), mockpeer.WithID(idOfResponder), messageSentAsync) + context.Background(), testutil.NewPeerWithID(idOfResponder), messageSentAsync) if errSending != nil { t.Fatal(errSending) } diff --git a/importer/importer_test.go b/importer/importer_test.go index 21af40670..fca8e3d61 100644 --- a/importer/importer_test.go +++ b/importer/importer_test.go @@ -12,7 +12,7 @@ import ( "github.com/jbenet/go-ipfs/importer/chunk" uio "github.com/jbenet/go-ipfs/unixfs/io" u "github.com/jbenet/go-ipfs/util" - "github.com/jbenet/go-ipfs/util/testutil" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) // NOTE: diff --git a/namesys/resolve_test.go b/namesys/resolve_test.go index 35fa49254..eef5e6825 100644 --- a/namesys/resolve_test.go +++ b/namesys/resolve_test.go @@ -5,13 +5,13 @@ import ( ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore" ci "github.com/jbenet/go-ipfs/crypto" - "github.com/jbenet/go-ipfs/peer/mock" mock "github.com/jbenet/go-ipfs/routing/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func TestRoutingResolve(t *testing.T) { - local := mockpeer.WithIDString("testID") + local := testutil.NewPeerWithIDString("testID") lds := ds.NewMapDatastore() d := mock.NewMockRouter(local, lds) diff --git a/net/conn/dial_test.go b/net/conn/dial_test.go index 32e5359bb..c98ac77ea 100644 --- a/net/conn/dial_test.go +++ b/net/conn/dial_test.go @@ -5,7 +5,7 @@ import ( ci "github.com/jbenet/go-ipfs/crypto" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr" @@ -22,7 +22,7 @@ func setupPeer(addr string) (peer.Peer, error) { return nil, err } - p, err := mockpeer.WithKeyPair(sk, pk) + p, err := testutil.NewPeerWithKeyPair(sk, pk) if err != nil { return nil, err } diff --git a/net/mux/mux_test.go b/net/mux/mux_test.go index 703725199..7401541c4 100644 --- a/net/mux/mux_test.go +++ b/net/mux/mux_test.go @@ -11,7 +11,7 @@ import ( msg "github.com/jbenet/go-ipfs/net/message" pb "github.com/jbenet/go-ipfs/net/mux/internal/pb" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ) @@ -31,7 +31,7 @@ func newPeer(t *testing.T, id string) peer.Peer { return nil } - return mockpeer.WithID(peer.ID(mh)) + return testutil.NewPeerWithID(peer.ID(mh)) } func testMsg(t *testing.T, m msg.NetMessage, data []byte) { diff --git a/net/service/service_test.go b/net/service/service_test.go index 1ab2ec8d6..798400ee0 100644 --- a/net/service/service_test.go +++ b/net/service/service_test.go @@ -7,7 +7,7 @@ import ( msg "github.com/jbenet/go-ipfs/net/message" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" mh "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash" @@ -33,7 +33,7 @@ func newPeer(t *testing.T, id string) peer.Peer { return nil } - return mockpeer.WithID(peer.ID(mh)) + return testutil.NewPeerWithID(peer.ID(mh)) } func TestServiceHandler(t *testing.T) { diff --git a/net/swarm/simul_test.go b/net/swarm/simul_test.go index c9f05d944..8db207f25 100644 --- a/net/swarm/simul_test.go +++ b/net/swarm/simul_test.go @@ -6,7 +6,7 @@ import ( "testing" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" + "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ) @@ -29,7 +29,7 @@ func TestSimultOpen(t *testing.T) { var wg sync.WaitGroup connect := func(s *Swarm, dst peer.Peer) { // copy for other peer - cp := mockpeer.WithID(dst.ID()) + cp := testutil.NewPeerWithID(dst.ID()) cp.AddAddress(dst.Addresses()[0]) if _, err := s.Dial(cp); err != nil { diff --git a/net/swarm/swarm_test.go b/net/swarm/swarm_test.go index 1558b9e2a..d3014b81a 100644 --- a/net/swarm/swarm_test.go +++ b/net/swarm/swarm_test.go @@ -9,8 +9,8 @@ import ( ci "github.com/jbenet/go-ipfs/crypto" msg "github.com/jbenet/go-ipfs/net/message" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr" @@ -44,7 +44,7 @@ func setupPeer(t *testing.T, addr string) peer.Peer { t.Fatal(err) } - p, err := mockpeer.WithKeyPair(sk, pk) + p, err := testutil.NewPeerWithKeyPair(sk, pk) if err != nil { t.Fatal(err) } diff --git a/peer/queue/queue_test.go b/peer/queue/queue_test.go index c40b4d866..7cc177ad0 100644 --- a/peer/queue/queue_test.go +++ b/peer/queue/queue_test.go @@ -7,14 +7,14 @@ import ( "time" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ) func newPeer(id string) peer.Peer { - return mockpeer.WithIDString(id) + return testutil.NewPeerWithIDString(id) } func TestQueue(t *testing.T) { @@ -70,7 +70,7 @@ func TestQueue(t *testing.T) { func newPeerTime(t time.Time) peer.Peer { s := fmt.Sprintf("hmmm time: %v", t) h := u.Hash([]byte(s)) - return mockpeer.WithID(peer.ID(h)) + return testutil.NewPeerWithID(peer.ID(h)) } func TestSyncQueue(t *testing.T) { diff --git a/routing/dht/dht_test.go b/routing/dht/dht_test.go index df16ea878..30ef2d3aa 100644 --- a/routing/dht/dht_test.go +++ b/routing/dht/dht_test.go @@ -14,8 +14,8 @@ import ( mux "github.com/jbenet/go-ipfs/net/mux" netservice "github.com/jbenet/go-ipfs/net/service" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" "fmt" "time" @@ -69,7 +69,7 @@ func makePeer(addr ma.Multiaddr) peer.Peer { if err != nil { panic(err) } - p, err := mockpeer.WithKeyPair(sk, pk) + p, err := testutil.NewPeerWithKeyPair(sk, pk) if err != nil { panic(err) } diff --git a/routing/dht/ext_test.go b/routing/dht/ext_test.go index 1f30ff4fa..fa536edd4 100644 --- a/routing/dht/ext_test.go +++ b/routing/dht/ext_test.go @@ -7,15 +7,14 @@ import ( context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto" - ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore" msg "github.com/jbenet/go-ipfs/net/message" mux "github.com/jbenet/go-ipfs/net/mux" peer "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" - "github.com/jbenet/go-ipfs/routing" + routing "github.com/jbenet/go-ipfs/routing" pb "github.com/jbenet/go-ipfs/routing/dht/pb" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" "sync" "time" @@ -211,7 +210,7 @@ func TestGetFailures(t *testing.T) { func _randPeer() peer.Peer { id := make(peer.ID, 16) crand.Read(id) - p := mockpeer.WithID(id) + p := testutil.NewPeerWithID(id) return p } diff --git a/routing/dht/providers_test.go b/routing/dht/providers_test.go index f22c09a7b..7d8aaa304 100644 --- a/routing/dht/providers_test.go +++ b/routing/dht/providers_test.go @@ -4,8 +4,8 @@ import ( "testing" "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ) @@ -15,7 +15,7 @@ func TestProviderManager(t *testing.T) { mid := peer.ID("testing") p := NewProviderManager(ctx, mid) a := u.Key("test") - p.AddProvider(a, mockpeer.WithIDString("testingprovider")) + p.AddProvider(a, testutil.NewPeerWithIDString("testingprovider")) resp := p.GetProviders(ctx, a) if len(resp) != 1 { t.Fatal("Could not retrieve provider.") diff --git a/routing/mock/routing_test.go b/routing/mock/routing_test.go index ca9c845d0..536d7b018 100644 --- a/routing/mock/routing_test.go +++ b/routing/mock/routing_test.go @@ -6,8 +6,8 @@ import ( context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" "github.com/jbenet/go-ipfs/peer" - "github.com/jbenet/go-ipfs/peer/mock" u "github.com/jbenet/go-ipfs/util" + testutil "github.com/jbenet/go-ipfs/util/testutil" ) func TestKeyNotFound(t *testing.T) { @@ -21,7 +21,7 @@ func TestKeyNotFound(t *testing.T) { func TestSetAndGet(t *testing.T) { pid := peer.ID([]byte("the peer id")) - p := mockpeer.WithID(pid) + p := testutil.NewPeerWithID(pid) k := u.Key("42") rs := VirtualRoutingServer() err := rs.Announce(p, k) @@ -41,7 +41,7 @@ func TestSetAndGet(t *testing.T) { } func TestClientFindProviders(t *testing.T) { - peer := mockpeer.WithIDString("42") + peer := testutil.NewPeerWithIDString("42") rs := VirtualRoutingServer() client := rs.Client(peer) @@ -80,7 +80,7 @@ func TestClientOverMax(t *testing.T) { k := u.Key("hello") numProvidersForHelloKey := 100 for i := 0; i < numProvidersForHelloKey; i++ { - peer := mockpeer.WithIDString(string(i)) + peer := testutil.NewPeerWithIDString(string(i)) err := rs.Announce(peer, k) if err != nil { t.Fatal(err) @@ -93,7 +93,7 @@ func TestClientOverMax(t *testing.T) { } max := 10 - peer := mockpeer.WithIDString("TODO") + peer := testutil.NewPeerWithIDString("TODO") client := rs.Client(peer) providersFromClient := client.FindProvidersAsync(context.Background(), k, max) @@ -115,7 +115,7 @@ func TestCanceledContext(t *testing.T) { i := 0 go func() { // infinite stream for { - peer := mockpeer.WithIDString(string(i)) + peer := testutil.NewPeerWithIDString(string(i)) err := rs.Announce(peer, k) if err != nil { t.Fatal(err) @@ -124,7 +124,7 @@ func TestCanceledContext(t *testing.T) { } }() - local := mockpeer.WithIDString("peer id doesn't matter") + local := testutil.NewPeerWithIDString("peer id doesn't matter") client := rs.Client(local) t.Log("warning: max is finite so this test is non-deterministic") diff --git a/util/testutil/gen.go b/util/testutil/gen.go index daafa1dd7..b652d40d3 100644 --- a/util/testutil/gen.go +++ b/util/testutil/gen.go @@ -28,6 +28,5 @@ func RandPeer() peer.Peer { id := make([]byte, 16) crand.Read(id) mhid := u.Hash(id) - ps := peer.NewPeerstore() - return ps.WithID(peer.ID(mhid)) + return NewPeerWithID(peer.ID(mhid)) } diff --git a/peer/mock/mock.go b/util/testutil/mock.go similarity index 55% rename from peer/mock/mock.go rename to util/testutil/mock.go index c0a9b39e6..488a26044 100644 --- a/peer/mock/mock.go +++ b/util/testutil/mock.go @@ -1,4 +1,4 @@ -package mockpeer +package testutil import ( "github.com/jbenet/go-ipfs/peer" @@ -6,14 +6,14 @@ import ( ic "github.com/jbenet/go-ipfs/crypto" ) -func WithKeyPair(sk ic.PrivKey, pk ic.PubKey) (peer.Peer, error) { +func NewPeerWithKeyPair(sk ic.PrivKey, pk ic.PubKey) (peer.Peer, error) { return peer.NewPeerstore().WithKeyPair(sk, pk) } -func WithID(id peer.ID) peer.Peer { +func NewPeerWithID(id peer.ID) peer.Peer { return peer.NewPeerstore().WithID(id) } -func WithIDString(id string) peer.Peer { +func NewPeerWithIDString(id string) peer.Peer { return peer.NewPeerstore().WithIDString(id) }