File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed
Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ //go:build !coverage
2+
3+ package main
4+
5+ func startCoverageServer () {
6+
7+ }
Original file line number Diff line number Diff line change 1+ //go:build coverage
2+
3+ package main
4+
5+ import (
6+ "log"
7+ "net/http"
8+ "runtime/coverage"
9+ )
10+
11+ func startCoverageServer () {
12+ log .Println ("Coverage build detected. Starting private admin server on localhost:8081..." )
13+ adminMux := http .NewServeMux ()
14+
15+ adminMux .HandleFunc ("/_debug/coverage/download" , func (w http.ResponseWriter , r * http.Request ) {
16+ log .Println ("Received request to download coverage counter data..." )
17+ w .Header ().Set ("Content-Type" , "application/octet-stream" )
18+ w .Header ().Set ("Content-Disposition" , `attachment; filename="coverage.out"` )
19+
20+ if err := coverage .WriteCounters (w ); err != nil {
21+ log .Printf ("Error writing coverage counters to response: %v" , err )
22+ }
23+ })
24+
25+ adminMux .HandleFunc ("/_debug/coverage/meta/download" , func (w http.ResponseWriter , r * http.Request ) {
26+ log .Println ("Received request to download coverage metadata..." )
27+ w .Header ().Set ("Content-Type" , "application/octet-stream" )
28+ w .Header ().Set ("Content-Disposition" , `attachment; filename="coverage.meta"` )
29+
30+ if err := coverage .WriteMeta (w ); err != nil {
31+ log .Printf ("Error writing coverage metadata to response: %v" , err )
32+ }
33+ })
34+
35+ go func () {
36+ if err := http .ListenAndServe ("localhost:8081" , adminMux ); err != nil {
37+ log .Printf ("Admin server failed: %v" , err )
38+ }
39+ }()
40+ }
Original file line number Diff line number Diff line change @@ -3,5 +3,6 @@ package main
33import "github.com/jetstack/preflight/cmd"
44
55func main () {
6+ startCoverageServer ()
67 cmd .Execute ()
78}
You can’t perform that action at this time.
0 commit comments