diff --git a/pkg/ctrlz/ctrlz.go b/pkg/ctrlz/ctrlz.go index 48323ff38062..61f951a53f2d 100644 --- a/pkg/ctrlz/ctrlz.go +++ b/pkg/ctrlz/ctrlz.go @@ -195,7 +195,8 @@ func (s *Server) listen() { // Close is not normally used by programs that expose ControlZ, it is primarily intended to be // used by tests. func (s *Server) Close() { - log.Info("Closing closing ControlZ") + log.Info("Closing ControlZ") + if s.listener != nil { if err := s.listener.Close(); err != nil { log.Warnf("Error closing ControlZ: %v", err) diff --git a/pkg/mcp/configz/client/configz_test.go b/pkg/mcp/configz/client/configz_test.go index ea65822067b5..bea5c0a0046a 100644 --- a/pkg/mcp/configz/client/configz_test.go +++ b/pkg/mcp/configz/client/configz_test.go @@ -77,10 +77,14 @@ func TestConfigZ(t *testing.T) { defer cancel() o := ctrlz.DefaultOptions() - cz, _ := ctrlz.Run(o, []fw.Topic{CreateTopic(cl)}) + o.Port = 0 + cz, err := ctrlz.Run(o, []fw.Topic{CreateTopic(cl)}) + if err != nil { + t.Fatal(err) + } defer cz.Close() - baseURL := fmt.Sprintf("http://%s:%d", o.Address, o.Port) + baseURL := fmt.Sprintf("http://%v", cz.Address()) // wait for client to make first watch request for { diff --git a/pkg/mcp/configz/server/configz_test.go b/pkg/mcp/configz/server/configz_test.go index f57ba6f25aeb..f41ae6ae9a8b 100644 --- a/pkg/mcp/configz/server/configz_test.go +++ b/pkg/mcp/configz/server/configz_test.go @@ -22,11 +22,11 @@ import ( "testing" "time" + "github.com/gogo/protobuf/types" + "istio.io/istio/pkg/mcp/source" "istio.io/istio/pkg/mcp/testing/groups" - "github.com/gogo/protobuf/types" - "istio.io/istio/pkg/ctrlz" "istio.io/istio/pkg/ctrlz/fw" "istio.io/istio/pkg/mcp/snapshot" @@ -52,10 +52,14 @@ func TestConfigZ(t *testing.T) { s.Cache.SetSnapshot(groups.Default, b.Build()) o := ctrlz.DefaultOptions() - cz, _ := ctrlz.Run(o, []fw.Topic{CreateTopic(s.Cache)}) + o.Port = 0 + cz, err := ctrlz.Run(o, []fw.Topic{CreateTopic(s.Cache)}) + if err != nil { + t.Fatal(err) + } defer cz.Close() - baseURL := fmt.Sprintf("http://%s:%d", o.Address, o.Port) + baseURL := fmt.Sprintf("http://%v", cz.Address()) t.Run("configj with 1 request", func(tt *testing.T) { testConfigJWithOneRequest(tt, baseURL) }) }