cmd/swarm: dont connect to bootnodes in tests (#19270)

* cmd/swarm: dont connect to bootnodes in tests

* cmd/utils: check for empty string when parsing enode
This commit is contained in:
Elad 2019-03-15 12:20:21 +07:00 committed by Viktor Trón
parent 91eec1251c
commit df488975bd
2 changed files with 22 additions and 5 deletions

@ -82,6 +82,18 @@ func TestMain(m *testing.M) {
func runSwarm(t *testing.T, args ...string) *cmdtest.TestCmd { func runSwarm(t *testing.T, args ...string) *cmdtest.TestCmd {
tt := cmdtest.NewTestCmd(t, nil) tt := cmdtest.NewTestCmd(t, nil)
found := false
for _, v := range args {
if v == "--bootnodes" {
found = true
break
}
}
if !found {
args = append([]string{"--bootnodes", ""}, args...)
}
// Boot "swarm". This actually runs the test binary but the TestMain // Boot "swarm". This actually runs the test binary but the TestMain
// function will prevent any tests from running. // function will prevent any tests from running.
tt.Run("swarm-test", args...) tt.Run("swarm-test", args...)
@ -252,6 +264,7 @@ func existingTestNode(t *testing.T, dir string, bzzaccount string) *testNode {
// start the node // start the node
node.Cmd = runSwarm(t, node.Cmd = runSwarm(t,
"--bootnodes", "",
"--port", p2pPort, "--port", p2pPort,
"--nat", "extip:127.0.0.1", "--nat", "extip:127.0.0.1",
"--datadir", dir, "--datadir", dir,
@ -327,6 +340,7 @@ func newTestNode(t *testing.T, dir string) *testNode {
// start the node // start the node
node.Cmd = runSwarm(t, node.Cmd = runSwarm(t,
"--bootnodes", "",
"--port", p2pPort, "--port", p2pPort,
"--nat", "extip:127.0.0.1", "--nat", "extip:127.0.0.1",
"--datadir", dir, "--datadir", dir,

@ -773,6 +773,7 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
node, err := enode.ParseV4(url) node, err := enode.ParseV4(url)
if err != nil { if err != nil {
log.Crit("Bootstrap URL invalid", "enode", url, "err", err) log.Crit("Bootstrap URL invalid", "enode", url, "err", err)
continue
} }
cfg.BootstrapNodes = append(cfg.BootstrapNodes, node) cfg.BootstrapNodes = append(cfg.BootstrapNodes, node)
} }
@ -800,6 +801,7 @@ func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) {
cfg.BootstrapNodesV5 = make([]*discv5.Node, 0, len(urls)) cfg.BootstrapNodesV5 = make([]*discv5.Node, 0, len(urls))
for _, url := range urls { for _, url := range urls {
if url != "" {
node, err := discv5.ParseNode(url) node, err := discv5.ParseNode(url)
if err != nil { if err != nil {
log.Error("Bootstrap URL invalid", "enode", url, "err", err) log.Error("Bootstrap URL invalid", "enode", url, "err", err)
@ -808,6 +810,7 @@ func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) {
cfg.BootstrapNodesV5 = append(cfg.BootstrapNodesV5, node) cfg.BootstrapNodesV5 = append(cfg.BootstrapNodesV5, node)
} }
} }
}
// setListenAddress creates a TCP listening address string from set command // setListenAddress creates a TCP listening address string from set command
// line flags. // line flags.