From 834dbd54e05e578c44aa018d5fab8d17892f9d4d Mon Sep 17 00:00:00 2001 From: Menghan Li Date: Wed, 14 Jun 2017 15:03:04 -0700 Subject: [PATCH] replace 127.0.0.1 with localhost for ipv6 only environment (#1306) --- balancer_test.go | 24 ++++++++++++------------ grpclb/grpclb_test.go | 20 ++++++++------------ stats/stats_test.go | 7 +------ 3 files changed, 21 insertions(+), 30 deletions(-) diff --git a/balancer_test.go b/balancer_test.go index 1d9f2314..4f733a6a 100644 --- a/balancer_test.go +++ b/balancer_test.go @@ -97,7 +97,7 @@ func startServers(t *testing.T, numServers int, maxStreams uint32) ([]*server, * s.wait(t, 2*time.Second) } // Point to server[0] - addr := "127.0.0.1:" + servers[0].port + addr := "localhost:" + servers[0].port return servers, &testNameResolver{ addr: addr, } @@ -120,11 +120,11 @@ func TestNameDiscovery(t *testing.T) { var updates []*naming.Update updates = append(updates, &naming.Update{ Op: naming.Delete, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, }) updates = append(updates, &naming.Update{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[1].port, + Addr: "localhost:" + servers[1].port, }) r.w.inject(updates) // Loop until the rpcs in flight talks to servers[1]. @@ -154,7 +154,7 @@ func TestEmptyAddrs(t *testing.T) { // available after that. u := &naming.Update{ Op: naming.Delete, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, } r.w.inject([]*naming.Update{u}) // Loop until the above updates apply. @@ -180,7 +180,7 @@ func TestRoundRobin(t *testing.T) { // Add servers[1] to the service discovery. u := &naming.Update{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[1].port, + Addr: "localhost:" + servers[1].port, } r.w.inject([]*naming.Update{u}) req := "port" @@ -195,7 +195,7 @@ func TestRoundRobin(t *testing.T) { // Add server2[2] to the service discovery. u = &naming.Update{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[2].port, + Addr: "localhost:" + servers[2].port, } r.w.inject([]*naming.Update{u}) // Loop until both servers[2] are up. @@ -230,7 +230,7 @@ func TestCloseWithPendingRPC(t *testing.T) { // Remove the server. updates := []*naming.Update{{ Op: naming.Delete, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, }} r.w.inject(updates) // Loop until the above update applies. @@ -274,7 +274,7 @@ func TestGetOnWaitChannel(t *testing.T) { // Remove all servers so that all upcoming RPCs will block on waitCh. updates := []*naming.Update{{ Op: naming.Delete, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, }} r.w.inject(updates) for { @@ -297,7 +297,7 @@ func TestGetOnWaitChannel(t *testing.T) { // Add a connected server to get the above RPC through. updates = []*naming.Update{{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, }} r.w.inject(updates) // Wait until the above RPC succeeds. @@ -318,7 +318,7 @@ func TestOneServerDown(t *testing.T) { var updates []*naming.Update updates = append(updates, &naming.Update{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[1].port, + Addr: "localhost:" + servers[1].port, }) r.w.inject(updates) req := "port" @@ -372,7 +372,7 @@ func TestOneAddressRemoval(t *testing.T) { var updates []*naming.Update updates = append(updates, &naming.Update{ Op: naming.Add, - Addr: "127.0.0.1:" + servers[1].port, + Addr: "localhost:" + servers[1].port, }) r.w.inject(updates) req := "port" @@ -395,7 +395,7 @@ func TestOneAddressRemoval(t *testing.T) { var updates []*naming.Update updates = append(updates, &naming.Update{ Op: naming.Delete, - Addr: "127.0.0.1:" + servers[0].port, + Addr: "localhost:" + servers[0].port, }) r.w.inject(updates) wg.Done() diff --git a/grpclb/grpclb_test.go b/grpclb/grpclb_test.go index 4948c7d4..d5853504 100644 --- a/grpclb/grpclb_test.go +++ b/grpclb/grpclb_test.go @@ -24,7 +24,6 @@ import ( "fmt" "io" "net" - "strconv" "strings" "sync" "testing" @@ -46,8 +45,8 @@ var ( besn = "foo.com" lbToken = "iamatoken" - // Resolver replaces 127.0.0.1 with fakeName in Next(). - // Dialer replaces fakeName with 127.0.0.1 when dialing. + // Resolver replaces localhost with fakeName in Next(). + // Dialer replaces fakeName with localhost when dialing. // This will test that custom dialer is passed from Dial to grpclb. fakeName = "fake.Name" ) @@ -72,9 +71,9 @@ func (w *testWatcher) Next() (updates []*naming.Update, err error) { break } if u != nil { - // Resolver replaces 127.0.0.1 with fakeName in Next(). - // Custom dialer will replace fakeName with 127.0.0.1 when dialing. - u.Addr = strings.Replace(u.Addr, "127.0.0.1", fakeName, 1) + // Resolver replaces localhost with fakeName in Next(). + // Custom dialer will replace fakeName with localhost when dialing. + u.Addr = strings.Replace(u.Addr, "localhost", fakeName, 1) updates = append(updates, u) } } @@ -174,10 +173,10 @@ func (c *serverNameCheckCreds) OverrideServerName(s string) error { return nil } -// fakeNameDialer replaces fakeName with 127.0.0.1 when dialing. +// fakeNameDialer replaces fakeName with localhost when dialing. // This will test that custom dialer is passed from Dial to grpclb. func fakeNameDialer(addr string, timeout time.Duration) (net.Conn, error) { - addr = strings.Replace(addr, fakeName, "127.0.0.1", 1) + addr = strings.Replace(addr, fakeName, "localhost", 1) return net.DialTimeout("tcp", addr, timeout) } @@ -327,10 +326,7 @@ func newLoadBalancer(numberOfBackends int) (tss *testServers, cleanup func(), er return } beIPs = append(beIPs, beLis.Addr().(*net.TCPAddr).IP) - - beAddr := strings.Split(beLis.Addr().String(), ":") - bePort, _ := strconv.Atoi(beAddr[1]) - bePorts = append(bePorts, bePort) + bePorts = append(bePorts, beLis.Addr().(*net.TCPAddr).Port) beListeners = append(beListeners, beLis) } diff --git a/stats/stats_test.go b/stats/stats_test.go index ccab4116..a25773d8 100644 --- a/stats/stats_test.go +++ b/stats/stats_test.go @@ -215,14 +215,9 @@ func (te *test) startServer(ts testpb.TestServiceServer) { if te.testServer != nil { testpb.RegisterTestServiceServer(s, te.testServer) } - _, port, err := net.SplitHostPort(lis.Addr().String()) - if err != nil { - te.t.Fatalf("Failed to parse listener address: %v", err) - } - addr := "127.0.0.1:" + port go s.Serve(lis) - te.srvAddr = addr + te.srvAddr = lis.Addr().String() } func (te *test) clientConn() *grpc.ClientConn {