diff --git a/cmd/run.go b/cmd/run.go index 6fde9cee..968a26be 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -26,6 +26,7 @@ import ( "github.com/qiniu/goc/pkg/cover" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/viper" ) var runCmd = &cobra.Command{ @@ -53,7 +54,7 @@ goc run . [--buildflags] [--exec] [--arguments] server := cover.NewMemoryBasedServer() // only save services in memory // start goc server - var l = newLocalListener() + var l = newLocalListener(agentPort.String()) go func() { err = server.Route(ioutil.Discard).RunListener(l) if err != nil { @@ -63,6 +64,10 @@ goc run . [--buildflags] [--exec] [--arguments] gocServer := fmt.Sprintf("http://%s", l.Addr().String()) fmt.Printf("[goc] goc server started: %s \n", gocServer) + if viper.IsSet("center") { + gocServer = center + } + // execute covers for the target source with original buildFlags and new GOPATH( tmp:original ) ci := &cover.CoverInfo{ Args: buildFlags, @@ -93,8 +98,11 @@ func init() { rootCmd.AddCommand(runCmd) } -func newLocalListener() net.Listener { - l, err := net.Listen("tcp", "127.0.0.1:0") +func newLocalListener(addr string) net.Listener { + if addr == "" { + addr = "127.0.0.1:0" + } + l, err := net.Listen("tcp", addr) if err != nil { if l, err = net.Listen("tcp6", "[::1]:0"); err != nil { log.Fatalf("failed to listen on a port: %v", err)