Prechádzať zdrojové kódy

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.
Lewis Marshall 8 rokov pred
rodič
commit
60c858a529

+ 1 - 0
cmd/swarm/run_test.go

@@ -161,6 +161,7 @@ func newTestNode(t *testing.T, dir string) *testNode {
 	conf := &node.Config{
 		DataDir: dir,
 		IPCPath: "bzzd.ipc",
+		NoUSB:   true,
 	}
 	n, err := node.New(conf)
 	if err != nil {

+ 0 - 2
cmd/swarm/upload_test.go

@@ -27,8 +27,6 @@ import (
 // TestCLISwarmUp tests that running 'swarm up' makes the resulting file
 // available from all nodes via the HTTP API
 func TestCLISwarmUp(t *testing.T) {
-	t.Skip("flaky test")
-
 	// start 3 node cluster
 	t.Log("starting 3 node cluster")
 	cluster := newTestCluster(t, 3)

+ 1 - 1
swarm/api/manifest.go

@@ -63,7 +63,7 @@ func (a *Api) NewManifest() (storage.Key, error) {
 	if err != nil {
 		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