@@ -26,6 +26,7 @@ import (
26
26
"github.com/qiniu/goc/pkg/cover"
27
27
log "github.com/sirupsen/logrus"
28
28
"github.com/spf13/cobra"
29
+ "github.com/spf13/viper"
29
30
)
30
31
31
32
var runCmd = & cobra.Command {
@@ -53,7 +54,7 @@ goc run . [--buildflags] [--exec] [--arguments]
53
54
server := cover .NewMemoryBasedServer () // only save services in memory
54
55
55
56
// start goc server
56
- var l = newLocalListener ()
57
+ var l = newLocalListener (agentPort . String () )
57
58
go func () {
58
59
err = server .Route (ioutil .Discard ).RunListener (l )
59
60
if err != nil {
@@ -63,6 +64,10 @@ goc run . [--buildflags] [--exec] [--arguments]
63
64
gocServer := fmt .Sprintf ("http://%s" , l .Addr ().String ())
64
65
fmt .Printf ("[goc] goc server started: %s \n " , gocServer )
65
66
67
+ if viper .IsSet ("center" ) {
68
+ gocServer = center
69
+ }
70
+
66
71
// execute covers for the target source with original buildFlags and new GOPATH( tmp:original )
67
72
ci := & cover.CoverInfo {
68
73
Args : buildFlags ,
@@ -93,8 +98,11 @@ func init() {
93
98
rootCmd .AddCommand (runCmd )
94
99
}
95
100
96
- func newLocalListener () net.Listener {
97
- l , err := net .Listen ("tcp" , "127.0.0.1:0" )
101
+ func newLocalListener (addr string ) net.Listener {
102
+ if addr == "" {
103
+ addr = "127.0.0.1:0"
104
+ }
105
+ l , err := net .Listen ("tcp" , addr )
98
106
if err != nil {
99
107
if l , err = net .Listen ("tcp6" , "[::1]:0" ); err != nil {
100
108
log .Fatalf ("failed to listen on a port: %v" , err )
0 commit comments