From 43014ea54b7a45a8173b93b08e8607f815de6486 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Tue, 21 Jun 2016 17:14:55 -0700 Subject: [PATCH] Fix opts tests after default port fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The code for default port was already there but it didn’t work because split function errored out before. This should be the desired behavior that matches daemon listen address with swarm listen address. Signed-off-by: Tonis Tiigi (cherry picked from commit 0a4a0d9800aa62daf2b980b82c1840cd6f7d0e34) --- opts/hosts.go | 2 +- opts/hosts_test.go | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/opts/hosts.go b/opts/hosts.go index 957b24ce7d..266df1e537 100644 --- a/opts/hosts.go +++ b/opts/hosts.go @@ -63,7 +63,7 @@ func ParseHost(defaultToTLS bool, val string) (string, error) { // parseDockerDaemonHost parses the specified address and returns an address that will be used as the host. // Depending of the address specified, this may return one of the global Default* strings defined in hosts.go. func parseDockerDaemonHost(addr string) (string, error) { - addrParts := strings.Split(addr, "://") + addrParts := strings.SplitN(addr, "://", 2) if len(addrParts) == 1 && addrParts[0] != "" { addrParts = []string{"tcp", addrParts[0]} } diff --git a/opts/hosts_test.go b/opts/hosts_test.go index 57161eaf46..a5bec30d4c 100644 --- a/opts/hosts_test.go +++ b/opts/hosts_test.go @@ -7,12 +7,10 @@ import ( func TestParseHost(t *testing.T) { invalid := []string{ - "anything", "something with spaces", "://", "unknown://", "tcp://:port", - "tcp://invalid", "tcp://invalid:port", } @@ -53,16 +51,13 @@ func TestParseHost(t *testing.T) { func TestParseDockerDaemonHost(t *testing.T) { invalids := map[string]string{ - "0.0.0.0": "Invalid bind address format: 0.0.0.0", + "tcp:a.b.c.d": "Invalid bind address format: tcp:a.b.c.d", "tcp:a.b.c.d/path": "Invalid bind address format: tcp:a.b.c.d/path", "udp://127.0.0.1": "Invalid bind address format: udp://127.0.0.1", "udp://127.0.0.1:2375": "Invalid bind address format: udp://127.0.0.1:2375", - "tcp://unix:///run/docker.sock": "Invalid bind address format: unix", + "tcp://unix:///run/docker.sock": "Invalid proto, expected tcp: unix:///run/docker.sock", " tcp://:7777/path ": "Invalid bind address format: tcp://:7777/path ", - "tcp": "Invalid bind address format: tcp", - "unix": "Invalid bind address format: unix", - "fd": "Invalid bind address format: fd", "": "Invalid bind address format: ", } valids := map[string]string{ @@ -88,7 +83,7 @@ func TestParseDockerDaemonHost(t *testing.T) { } for invalidAddr, expectedError := range invalids { if addr, err := parseDockerDaemonHost(invalidAddr); err == nil || err.Error() != expectedError { - t.Errorf("tcp %v address expected error %v return, got %s and addr %v", invalidAddr, expectedError, err, addr) + t.Errorf("tcp %v address expected error %q return, got %q and addr %v", invalidAddr, expectedError, err, addr) } } for validAddr, expectedAddr := range valids { @@ -103,7 +98,6 @@ func TestParseTCP(t *testing.T) { defaultHTTPHost = "tcp://127.0.0.1:2376" ) invalids := map[string]string{ - "0.0.0.0": "Invalid bind address format: 0.0.0.0", "tcp:a.b.c.d": "Invalid bind address format: tcp:a.b.c.d", "tcp:a.b.c.d/path": "Invalid bind address format: tcp:a.b.c.d/path", "udp://127.0.0.1": "Invalid proto, expected tcp: udp://127.0.0.1",