From bb4582aea6a80766dbd5678e9b3112fdda8b6b09 Mon Sep 17 00:00:00 2001 From: Jessica Frazelle Date: Tue, 27 Oct 2015 12:56:57 -0700 Subject: [PATCH] update to binaries, fix parsers package, non-parallel test unit Signed-off-by: Jessica Frazelle --- parsers/parsers.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/parsers/parsers.go b/parsers/parsers.go index a604a9e..453cccf 100644 --- a/parsers/parsers.go +++ b/parsers/parsers.go @@ -74,6 +74,18 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) { return "", fmt.Errorf("Invalid proto, expected tcp: %s", tryAddr) } + defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://") + defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr) + if err != nil { + return "", err + } + // url.Parse fails for trailing colon on IPv6 brackets on Go 1.5, but + // not 1.4. See https://github.com/golang/go/issues/12200 and + // https://github.com/golang/go/issues/6530. + if strings.HasSuffix(addr, "]:") { + addr += defaultPort + } + u, err := url.Parse("tcp://" + addr) if err != nil { return "", err @@ -84,12 +96,6 @@ func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) { return "", fmt.Errorf("Invalid bind address format: %s", tryAddr) } - defaultAddr = strings.TrimPrefix(defaultAddr, "tcp://") - defaultHost, defaultPort, err := net.SplitHostPort(defaultAddr) - if err != nil { - return "", err - } - if host == "" { host = defaultHost }