Skip to content

Commit 3acfd9f

Browse files
author
Mladen Rusev
committed
try func to pull files
1 parent 8cbb396 commit 3acfd9f

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

coverage_dummy.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//go:build !coverage
2+
3+
package main
4+
5+
func startCoverageServer() {
6+
7+
}

coverage_server.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
}

main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ package main
33
import "github.com/jetstack/preflight/cmd"
44

55
func main() {
6+
startCoverageServer()
67
cmd.Execute()
78
}

0 commit comments

Comments
 (0)