diff --git a/command/agent/rpc_client_test.go b/command/agent/rpc_client_test.go index af1af23ea2..9217cf9533 100644 --- a/command/agent/rpc_client_test.go +++ b/command/agent/rpc_client_test.go @@ -3,8 +3,6 @@ package agent import ( "errors" "fmt" - "github.com/hashicorp/consul/testutil" - "github.com/hashicorp/serf/serf" "io" "io/ioutil" "net" @@ -14,6 +12,9 @@ import ( "strings" "testing" "time" + + "github.com/hashicorp/consul/testutil" + "github.com/hashicorp/serf/serf" ) type rpcParts struct { @@ -40,6 +41,9 @@ func testRPCClientWithConfig(t *testing.T, cb func(c *Config)) *rpcParts { lw := NewLogWriter(512) mult := io.MultiWriter(os.Stderr, lw) + configTry := 0 +RECONF: + configTry += 1 conf := nextConfig() cb(conf) @@ -50,6 +54,9 @@ func testRPCClientWithConfig(t *testing.T, cb func(c *Config)) *rpcParts { l, err := net.Listen(rpcAddr.Network(), rpcAddr.String()) if err != nil { + if configTry < 3 { + goto RECONF + } t.Fatalf("err: %s", err) }