From 34642b76bd94b7e7600efd0aaeba1c09f65926fe Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Wed, 21 Feb 2024 15:57:39 +0100 Subject: html.go: refactor httpCoverCover --- pkg/cover/html.go | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'pkg') diff --git a/pkg/cover/html.go b/pkg/cover/html.go index 8cb9e7511..956a9bc24 100644 --- a/pkg/cover/html.go +++ b/pkg/cover/html.go @@ -13,7 +13,6 @@ import ( "html/template" "io" "math" - "net/http" "os" "path/filepath" "sort" @@ -185,8 +184,8 @@ func fileLineContents(file *file, lines [][]byte) lineCoverExport { return lce } -func (rg *ReportGenerator) DoRawCoverFiles(w http.ResponseWriter, progs []Prog, coverFilter map[uint32]uint32) error { - progs = fixUpPCs(rg.target.Arch, progs, coverFilter) +func (rg *ReportGenerator) DoRawCoverFiles(w io.Writer, params CoverHandlerParams) error { + progs := fixUpPCs(rg.target.Arch, params.Progs, params.CoverFilter) if err := rg.lazySymbolize(progs); err != nil { return err } @@ -201,7 +200,6 @@ func (rg *ReportGenerator) DoRawCoverFiles(w http.ResponseWriter, progs []Prog, return fl.PC < fr.PC }) - w.Header().Set("Content-Type", "text/plain; charset=utf-8") buf := bufio.NewWriter(w) fmt.Fprintf(buf, "PC,Module,Offset,Filename,Inline,StartLine,EndLine\n") for _, frame := range resFrames { @@ -213,8 +211,8 @@ func (rg *ReportGenerator) DoRawCoverFiles(w http.ResponseWriter, progs []Prog, return nil } -func (rg *ReportGenerator) DoRawCover(w http.ResponseWriter, progs []Prog, coverFilter map[uint32]uint32) { - progs = fixUpPCs(rg.target.Arch, progs, coverFilter) +func (rg *ReportGenerator) DoRawCover(w io.Writer, params CoverHandlerParams) error { + progs := fixUpPCs(rg.target.Arch, params.Progs, params.CoverFilter) var pcs []uint64 if len(progs) == 1 && rg.rawCoverEnabled { pcs = append([]uint64{}, progs[0].PCs...) @@ -234,16 +232,16 @@ func (rg *ReportGenerator) DoRawCover(w http.ResponseWriter, progs []Prog, cover }) } - w.Header().Set("Content-Type", "text/plain; charset=utf-8") buf := bufio.NewWriter(w) for _, pc := range pcs { fmt.Fprintf(buf, "0x%x\n", pc) } buf.Flush() + return nil } -func (rg *ReportGenerator) DoFilterPCs(w http.ResponseWriter, progs []Prog, coverFilter map[uint32]uint32) { - progs = fixUpPCs(rg.target.Arch, progs, coverFilter) +func (rg *ReportGenerator) DoFilterPCs(w io.Writer, params CoverHandlerParams) error { + progs := fixUpPCs(rg.target.Arch, params.Progs, params.CoverFilter) var pcs []uint64 uniquePCs := make(map[uint64]bool) for _, prog := range progs { @@ -252,7 +250,7 @@ func (rg *ReportGenerator) DoFilterPCs(w http.ResponseWriter, progs []Prog, cove continue } uniquePCs[pc] = true - if coverFilter[uint32(pc)] != 0 { + if params.CoverFilter[uint32(pc)] != 0 { pcs = append(pcs, pc) } } @@ -261,12 +259,12 @@ func (rg *ReportGenerator) DoFilterPCs(w http.ResponseWriter, progs []Prog, cove return pcs[i] < pcs[j] }) - w.Header().Set("Content-Type", "text/plain; charset=utf-8") buf := bufio.NewWriter(w) for _, pc := range pcs { fmt.Fprintf(buf, "0x%x\n", pc) } buf.Flush() + return nil } type fileStats struct { -- cgit mrf-deployment