提交 abadc94e 作者: Jeromy

fix race conditions in tests

License: MIT
Signed-off-by: 's avatarJeromy <jeromyj@gmail.com>
上级 58cba8af
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"time" "time"
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore" ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/sync"
key "github.com/ipfs/go-ipfs/blocks/key" key "github.com/ipfs/go-ipfs/blocks/key"
path "github.com/ipfs/go-ipfs/path" path "github.com/ipfs/go-ipfs/path"
mockrouting "github.com/ipfs/go-ipfs/routing/mock" mockrouting "github.com/ipfs/go-ipfs/routing/mock"
...@@ -16,8 +17,10 @@ import ( ...@@ -16,8 +17,10 @@ import (
) )
func TestRoutingResolve(t *testing.T) { func TestRoutingResolve(t *testing.T) {
d := mockrouting.NewServer().Client(testutil.RandIdentityOrFatal(t)) dstore := dssync.MutexWrap(ds.NewMapDatastore())
dstore := ds.NewMapDatastore() serv := mockrouting.NewServer()
id := testutil.RandIdentityOrFatal(t)
d := serv.ClientWithDatastore(context.Background(), id, dstore)
resolver := NewRoutingResolver(d, 0) resolver := NewRoutingResolver(d, 0)
publisher := NewRoutingPublisher(d, dstore) publisher := NewRoutingPublisher(d, dstore)
...@@ -50,7 +53,7 @@ func TestRoutingResolve(t *testing.T) { ...@@ -50,7 +53,7 @@ func TestRoutingResolve(t *testing.T) {
} }
func TestPrexistingExpiredRecord(t *testing.T) { func TestPrexistingExpiredRecord(t *testing.T) {
dstore := ds.NewMapDatastore() dstore := dssync.MutexWrap(ds.NewMapDatastore())
d := mockrouting.NewServer().ClientWithDatastore(context.Background(), testutil.RandIdentityOrFatal(t), dstore) d := mockrouting.NewServer().ClientWithDatastore(context.Background(), testutil.RandIdentityOrFatal(t), dstore)
resolver := NewRoutingResolver(d, 0) resolver := NewRoutingResolver(d, 0)
...@@ -87,7 +90,7 @@ func TestPrexistingExpiredRecord(t *testing.T) { ...@@ -87,7 +90,7 @@ func TestPrexistingExpiredRecord(t *testing.T) {
} }
func TestPrexistingRecord(t *testing.T) { func TestPrexistingRecord(t *testing.T) {
dstore := ds.NewMapDatastore() dstore := dssync.MutexWrap(ds.NewMapDatastore())
d := mockrouting.NewServer().ClientWithDatastore(context.Background(), testutil.RandIdentityOrFatal(t), dstore) d := mockrouting.NewServer().ClientWithDatastore(context.Background(), testutil.RandIdentityOrFatal(t), dstore)
resolver := NewRoutingResolver(d, 0) resolver := NewRoutingResolver(d, 0)
......
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"time" "time"
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore" ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/sync"
key "github.com/ipfs/go-ipfs/blocks/key" key "github.com/ipfs/go-ipfs/blocks/key"
"github.com/ipfs/go-ipfs/util/testutil" "github.com/ipfs/go-ipfs/util/testutil"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer" peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
...@@ -74,7 +75,7 @@ func (rs *s) Providers(k key.Key) []peer.PeerInfo { ...@@ -74,7 +75,7 @@ func (rs *s) Providers(k key.Key) []peer.PeerInfo {
} }
func (rs *s) Client(p testutil.Identity) Client { func (rs *s) Client(p testutil.Identity) Client {
return rs.ClientWithDatastore(context.Background(), p, ds.NewMapDatastore()) return rs.ClientWithDatastore(context.Background(), p, dssync.MutexWrap(ds.NewMapDatastore()))
} }
func (rs *s) ClientWithDatastore(_ context.Context, p testutil.Identity, datastore ds.Datastore) Client { func (rs *s) ClientWithDatastore(_ context.Context, p testutil.Identity, datastore ds.Datastore) Client {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论