提交 60c858a5 编写于 作者: L Lewis Marshall 提交者: Felix Lange

swarm/api: make api.NewManifest synchronous (#14880)

Previously, NewManifest was asynchronous so subsequent code which tried
to use the returned manifest could error as the manifest was not yet
persisted.
上级 e9b85080
...@@ -161,6 +161,7 @@ func newTestNode(t *testing.T, dir string) *testNode { ...@@ -161,6 +161,7 @@ func newTestNode(t *testing.T, dir string) *testNode {
conf := &node.Config{ conf := &node.Config{
DataDir: dir, DataDir: dir,
IPCPath: "bzzd.ipc", IPCPath: "bzzd.ipc",
NoUSB: true,
} }
n, err := node.New(conf) n, err := node.New(conf)
if err != nil { if err != nil {
......
...@@ -27,8 +27,6 @@ import ( ...@@ -27,8 +27,6 @@ import (
// TestCLISwarmUp tests that running 'swarm up' makes the resulting file // TestCLISwarmUp tests that running 'swarm up' makes the resulting file
// available from all nodes via the HTTP API // available from all nodes via the HTTP API
func TestCLISwarmUp(t *testing.T) { func TestCLISwarmUp(t *testing.T) {
t.Skip("flaky test")
// start 3 node cluster // start 3 node cluster
t.Log("starting 3 node cluster") t.Log("starting 3 node cluster")
cluster := newTestCluster(t, 3) cluster := newTestCluster(t, 3)
......
...@@ -63,7 +63,7 @@ func (a *Api) NewManifest() (storage.Key, error) { ...@@ -63,7 +63,7 @@ func (a *Api) NewManifest() (storage.Key, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
return a.Store(bytes.NewReader(data), int64(len(data)), nil) return a.Store(bytes.NewReader(data), int64(len(data)), &sync.WaitGroup{})
} }
// ManifestWriter is used to add and remove entries from an underlying manifest // ManifestWriter is used to add and remove entries from an underlying manifest
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册