From b9a2f64e4081e5f8f66f00ebb376068d4064daee Mon Sep 17 00:00:00 2001 From: Joey Jiao Date: Tue, 13 Jul 2021 08:10:40 +0800 Subject: all: add /modulecover page --- pkg/cover/report.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pkg/cover/report.go') diff --git a/pkg/cover/report.go b/pkg/cover/report.go index c7d96b703..788603119 100644 --- a/pkg/cover/report.go +++ b/pkg/cover/report.go @@ -49,6 +49,7 @@ func MakeReportGenerator(target *targets.Target, vm, objDir, srcDir, buildDir st } type file struct { + module string filename string lines map[int]line functions []*function @@ -76,6 +77,7 @@ func (rg *ReportGenerator) prepareFileMap(progs []Prog) (map[string]*file, error files := make(map[string]*file) for _, unit := range rg.Units { files[unit.Name] = &file{ + module: unit.Module.Name, filename: unit.Path, lines: make(map[int]line), totalPCs: len(unit.PCs), @@ -92,7 +94,7 @@ func (rg *ReportGenerator) prepareFileMap(progs []Prog) (map[string]*file, error } matchedPC := false for _, frame := range rg.Frames { - f := getFile(files, frame.Name, frame.Path) + f := getFile(files, frame.Name, frame.Path, frame.Module.Name) ln := f.lines[frame.StartLine] coveredBy := progPCs[frame.PC] if len(coveredBy) == 0 { @@ -190,10 +192,11 @@ func (rg *ReportGenerator) lazySymbolize(progs []Prog) error { return nil } -func getFile(files map[string]*file, name, path string) *file { +func getFile(files map[string]*file, name, path, module string) *file { f := files[name] if f == nil { f = &file{ + module: module, filename: path, lines: make(map[int]line), // Special mark for header files, if a file does not have coverage at all it is not shown. -- cgit mrf-deployment