@@ -66,29 +66,29 @@ import (
6666)
6767
6868func init() {
69- go registerHandlers ()
69+ go registerHandlersGoc ()
7070}
7171
72- func loadValues () (map[string][]uint32, map[string][]testing.CoverBlock) {
72+ func loadValuesGoc () (map[string][]uint32, map[string][]testing.CoverBlock) {
7373var (
7474coverCounters = make(map[string][]uint32)
7575coverBlocks = make(map[string][]testing.CoverBlock)
7676)
7777
7878{{range $i, $pkgCover := .DepsCover}}
7979{{range $file, $cover := $pkgCover.Vars}}
80- loadFileCover (coverCounters, coverBlocks, {{printf "%q" $cover.File}}, _cover.{{$cover.Var}}.Count[:], _cover.{{$cover.Var}}.Pos[:], _cover.{{$cover.Var}}.NumStmt[:])
80+ loadFileCoverGoc (coverCounters, coverBlocks, {{printf "%q" $cover.File}}, _cover.{{$cover.Var}}.Count[:], _cover.{{$cover.Var}}.Pos[:], _cover.{{$cover.Var}}.NumStmt[:])
8181{{end}}
8282{{end}}
8383
8484{{range $file, $cover := .MainPkgCover.Vars}}
85- loadFileCover (coverCounters, coverBlocks, {{printf "%q" $cover.File}}, _cover.{{$cover.Var}}.Count[:], _cover.{{$cover.Var}}.Pos[:], _cover.{{$cover.Var}}.NumStmt[:])
85+ loadFileCoverGoc (coverCounters, coverBlocks, {{printf "%q" $cover.File}}, _cover.{{$cover.Var}}.Count[:], _cover.{{$cover.Var}}.Pos[:], _cover.{{$cover.Var}}.NumStmt[:])
8686{{end}}
8787
8888return coverCounters, coverBlocks
8989}
9090
91- func loadFileCover (coverCounters map[string][]uint32, coverBlocks map[string][]testing.CoverBlock, fileName string, counter []uint32, pos []uint32, numStmts []uint16) {
91+ func loadFileCoverGoc (coverCounters map[string][]uint32, coverBlocks map[string][]testing.CoverBlock, fileName string, counter []uint32, pos []uint32, numStmts []uint16) {
9292if 3*len(counter) != len(pos) || len(counter) != len(numStmts) {
9393panic("coverage: mismatched sizes")
9494}
@@ -110,38 +110,38 @@ func loadFileCover(coverCounters map[string][]uint32, coverBlocks map[string][]t
110110coverBlocks[fileName] = block
111111}
112112
113- func clearValues () {
113+ func clearValuesGoc () {
114114
115115{{range $i, $pkgCover := .DepsCover}}
116116{{range $file, $cover := $pkgCover.Vars}}
117- clearFileCover (_cover.{{$cover.Var}}.Count[:])
117+ clearFileCoverGoc (_cover.{{$cover.Var}}.Count[:])
118118{{end}}
119119{{end}}
120120
121121{{range $file, $cover := .MainPkgCover.Vars}}
122- clearFileCover (_cover.{{$cover.Var}}.Count[:])
122+ clearFileCoverGoc (_cover.{{$cover.Var}}.Count[:])
123123{{end}}
124124
125125}
126126
127- func clearFileCover (counter []uint32) {
127+ func clearFileCoverGoc (counter []uint32) {
128128for i := range counter {
129129counter[i] = 0
130130}
131131}
132132
133- func registerHandlers () {
133+ func registerHandlersGoc () {
134134{{if .Singleton}}
135- ln, _, err := listen ()
135+ ln, _, err := listenGoc ()
136136{{else}}
137- ln, host, err := listen ()
137+ ln, host, err := listenGoc ()
138138{{end}}
139139if err != nil {
140- _log.Fatalf("listen failed, err:%v", err)
140+ _log.Fatalf("listenGoc failed, err:%v", err)
141141}
142142{{if not .Singleton}}
143143profileAddr := "http://" + host
144- if resp, err := registerSelf (profileAddr); err != nil {
144+ if resp, err := registerSelfGoc (profileAddr); err != nil {
145145_log.Fatalf("register address %v failed, err: %v, response: %v", profileAddr, err, string(resp))
146146}
147147
@@ -151,23 +151,23 @@ func registerHandlers() {
151151profileAddrs []string
152152addresses []string
153153)
154- if addresses, err = getAllHosts (ln); err != nil {
155- _log.Fatalf("get all host failed, err: %v", err)
156- return
154+ if addresses, err = getAllHostsGoc (ln); err != nil {
155+ _log.Fatalf("get all host failed, err: %v", err)
156+ return
157157}
158158for _, addr := range addresses {
159- profileAddrs = append(profileAddrs, "http://"+addr)
159+ profileAddrs = append(profileAddrs, "http://"+addr)
160160}
161- deregisterSelf (profileAddrs)
161+ deregisterSelfGoc (profileAddrs)
162162}
163- go watchSignal (fn)
163+ go watchSignalGoc (fn)
164164{{end}}
165165
166166mux := http.NewServeMux()
167167// Coverage reports the current code coverage as a fraction in the range [0, 1].
168168// If coverage is not enabled, Coverage returns 0.
169169mux.HandleFunc("/v1/cover/coverage", func(w http.ResponseWriter, r *http.Request) {
170- counters, _ := loadValues ()
170+ counters, _ := loadValuesGoc ()
171171var n, d int64
172172for _, counter := range counters {
173173for i := range counter {
@@ -187,7 +187,7 @@ func registerHandlers() {
187187// coverprofile reports a coverage profile with the coverage percentage
188188mux.HandleFunc("/v1/cover/profile", func(w http.ResponseWriter, r *http.Request) {
189189fmt.Fprint(w, "mode: {{.Mode}}\n")
190- counters, blocks := loadValues ()
190+ counters, blocks := loadValuesGoc ()
191191var active, total int64
192192var count uint32
193193for name, counts := range counters {
@@ -213,15 +213,15 @@ func registerHandlers() {
213213})
214214
215215mux.HandleFunc("/v1/cover/clear", func(w http.ResponseWriter, r *http.Request) {
216- clearValues ()
216+ clearValuesGoc ()
217217w.WriteHeader(http.StatusOK)
218218fmt.Fprintln(w, "clear call successfully")
219219})
220220
221221_log.Fatal(http.Serve(ln, mux))
222222}
223223
224- func registerSelf (address string) ([]byte, error) {
224+ func registerSelfGoc (address string) ([]byte, error) {
225225customServiceName, ok := os.LookupEnv("GOC_SERVICE_NAME")
226226var selfName string
227227if ok {
@@ -236,7 +236,7 @@ func registerSelf(address string) ([]byte, error) {
236236}
237237
238238resp, err := http.DefaultClient.Do(req)
239- if err != nil && isNetworkError (err) {
239+ if err != nil && isNetworkErrorGoc (err) {
240240_log.Printf("[goc][WARN]error occurred:%v, try again", err)
241241resp, err = http.DefaultClient.Do(req)
242242}
@@ -257,85 +257,85 @@ func registerSelf(address string) ([]byte, error) {
257257return body, err
258258}
259259
260- func deregisterSelf (address []string) ([]byte, error) {
261- param := map[string]interface{}{
262- "address": address,
263- }
264- jsonBody, err := json.Marshal(param)
265- if err != nil {
266- return nil, err
267- }
268- req, err := http.NewRequest("POST", fmt.Sprintf("%s/v1/cover/remove", {{.Center | printf "%q"}}), bytes.NewReader(jsonBody))
269- if err != nil {
270- _log.Fatalf("http.NewRequest failed: %v", err)
271- return nil, err
272- }
273- req.Header.Set("Content-Type", "application/json")
274-
275- resp, err := http.DefaultClient.Do(req)
276- if err != nil && isNetworkError (err) {
277- _log.Printf("[goc][WARN]error occurred:%v, try again", err)
278- resp, err = http.DefaultClient.Do(req)
279- }
280- if err != nil {
281- return nil, fmt.Errorf("failed to deregister into coverage center, err:%v", err)
282- }
283- defer resp.Body.Close()
284-
285- body, err := ioutil.ReadAll(resp.Body)
286- if err != nil {
287- return nil, fmt.Errorf("failed to read response body, err:%v", err)
288- }
289-
290- if resp.StatusCode != 200 {
291- err = fmt.Errorf("failed to deregister into coverage center, response code %d", resp.StatusCode)
292- }
293-
294- return body, err
260+ func deregisterSelfGoc (address []string) ([]byte, error) {
261+ param := map[string]interface{}{
262+ "address": address,
263+ }
264+ jsonBody, err := json.Marshal(param)
265+ if err != nil {
266+ return nil, err
267+ }
268+ req, err := http.NewRequest("POST", fmt.Sprintf("%s/v1/cover/remove", {{.Center | printf "%q"}}), bytes.NewReader(jsonBody))
269+ if err != nil {
270+ _log.Fatalf("http.NewRequest failed: %v", err)
271+ return nil, err
272+ }
273+ req.Header.Set("Content-Type", "application/json")
274+
275+ resp, err := http.DefaultClient.Do(req)
276+ if err != nil && isNetworkErrorGoc (err) {
277+ _log.Printf("[goc][WARN]error occurred:%v, try again", err)
278+ resp, err = http.DefaultClient.Do(req)
279+ }
280+ if err != nil {
281+ return nil, fmt.Errorf("failed to deregister into coverage center, err:%v", err)
282+ }
283+ defer resp.Body.Close()
284+
285+ body, err := ioutil.ReadAll(resp.Body)
286+ if err != nil {
287+ return nil, fmt.Errorf("failed to read response body, err:%v", err)
288+ }
289+
290+ if resp.StatusCode != 200 {
291+ err = fmt.Errorf("failed to deregister into coverage center, response code %d", resp.StatusCode)
292+ }
293+
294+ return body, err
295295}
296296
297- type CallbackFunc func()
298-
299- func watchSignal (fn CallbackFunc ) {
300- // init signal
301- c := make(chan os.Signal, 1)
302- signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
303- for {
304- si := <-c
305- _log.Printf("get a signal %s", si.String())
306- switch si {
307- case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
308- fn()
309- os.Exit(0) // Exit successfully.
310- case syscall.SIGHUP:
311- default:
312- return
313- }
314- }
297+ type CallbackGocFunc func()
298+
299+ func watchSignalGoc (fn CallbackGocFunc ) {
300+ // init signal
301+ c := make(chan os.Signal, 1)
302+ signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
303+ for {
304+ si := <-c
305+ _log.Printf("get a signal %s", si.String())
306+ switch si {
307+ case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
308+ fn()
309+ os.Exit(0) // Exit successfully.
310+ case syscall.SIGHUP:
311+ default:
312+ return
313+ }
314+ }
315315}
316316
317- func isNetworkError (err error) bool {
317+ func isNetworkErrorGoc (err error) bool {
318318if err == io.EOF {
319319return true
320320}
321321_, ok := err.(net.Error)
322322return ok
323323}
324324
325- func listen () (ln net.Listener, host string, err error) {
325+ func listenGoc () (ln net.Listener, host string, err error) {
326326agentPort := "{{.AgentPort }}"
327327if agentPort != "" {
328328if ln, err = net.Listen("tcp4", agentPort); err != nil {
329329return
330330}
331- if host, err = getRealHost (ln); err != nil {
331+ if host, err = getRealHostGoc (ln); err != nil {
332332return
333333}
334334} else {
335335// 获取上次使用的监听地址
336- if previousAddr := getPreviousAddr (); previousAddr != "" {
336+ if previousAddr := getPreviousAddrGoc (); previousAddr != "" {
337337ss := strings.Split(previousAddr, ":")
338- // listen on all network interface
338+ // listenGoc on all network interface
339339ln, err = net.Listen("tcp4", ":"+ss[len(ss)-1])
340340if err == nil {
341341host = previousAddr
@@ -345,15 +345,15 @@ func listen() (ln net.Listener, host string, err error) {
345345if ln, err = net.Listen("tcp4", ":0"); err != nil {
346346return
347347}
348- if host, err = getRealHost (ln); err != nil {
349- return
348+ if host, err = getRealHostGoc (ln); err != nil {
349+ return
350350}
351351}
352- go genProfileAddr (host)
352+ go genProfileAddrGoc (host)
353353return
354354}
355355
356- func getRealHost (ln net.Listener) (host string, err error) {
356+ func getRealHostGoc (ln net.Listener) (host string, err error) {
357357adds, err := net.InterfaceAddrs()
358358if err != nil {
359359return
@@ -379,7 +379,7 @@ func getRealHost(ln net.Listener) (host string, err error) {
379379return
380380}
381381
382- func getAllHosts (ln net.Listener) (hosts []string, err error) {
382+ func getAllHostsGoc (ln net.Listener) (hosts []string, err error) {
383383adds, err := net.InterfaceAddrs()
384384if err != nil {
385385return
@@ -395,7 +395,7 @@ func getAllHosts(ln net.Listener) (hosts []string, err error) {
395395return
396396}
397397
398- func getPreviousAddr () string {
398+ func getPreviousAddrGoc () string {
399399file, err := os.Open(os.Args[0] + "_profile_listen_addr")
400400if err != nil {
401401return ""
@@ -407,7 +407,7 @@ func getPreviousAddr() string {
407407return string(addr)
408408}
409409
410- func genProfileAddr (profileAddr string) {
410+ func genProfileAddrGoc (profileAddr string) {
411411fn := os.Args[0] + "_profile_listen_addr"
412412f, err := os.OpenFile(fn, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
413413if err != nil {
0 commit comments