aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/cover/heatmap.go
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-04-10 14:16:42 +0200
committerTaras Madan <tarasmadan@google.com>2025-04-30 13:27:27 +0000
commitce7952f4e369f2440b2bc369868df305c42bf7d6 (patch)
tree751a33beb2e15bcd3032534117ff0fe9cab69806 /pkg/cover/heatmap.go
parent254b4cda876789c00ce81a7f9cbb2851205c336d (diff)
dashboard/app: send coverage report to ns-defined email
We periodically send coverage reports for the regressions detection.
Diffstat (limited to 'pkg/cover/heatmap.go')
-rw-r--r--pkg/cover/heatmap.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkg/cover/heatmap.go b/pkg/cover/heatmap.go
index e6458c36b..672312fee 100644
--- a/pkg/cover/heatmap.go
+++ b/pkg/cover/heatmap.go
@@ -145,12 +145,20 @@ func (thm *templateHeatmapRow) prepareDataFor(pageColumns []pageColumnTarget) {
}
}
+func (thm *templateHeatmapRow) Visit(v func(string, int64), path ...string) {
+ curPath := append(path, thm.Name)
+ v(strings.Join(curPath, "/"), thm.Summary)
+ for _, item := range thm.Items {
+ item.Visit(v, curPath...)
+ }
+}
+
type pageColumnTarget struct {
TimePeriod coveragedb.TimePeriod
Commit string
}
-func filesCoverageToTemplateData(fCov []*coveragedb.FileCoverageWithDetails) *templateHeatmap {
+func FilesCoverageToTemplateData(fCov []*coveragedb.FileCoverageWithDetails) *templateHeatmap {
res := templateHeatmap{
Root: &templateHeatmapRow{
IsDir: true,
@@ -223,7 +231,7 @@ func DoHeatMapStyleBodyJS(
if err != nil {
return "", "", "", fmt.Errorf("failed to FilesCoverageWithDetails: %w", err)
}
- templData := filesCoverageToTemplateData(covAndDates)
+ templData := FilesCoverageToTemplateData(covAndDates)
templData.Subsystems = sss
templData.Managers = managers
FormatResult(templData, dataFilters)
@@ -252,7 +260,7 @@ func DoSubsystemsHeatMapStyleBodyJS(
ssCovAndDates = append(ssCovAndDates, &newRecord)
}
}
- templData := filesCoverageToTemplateData(ssCovAndDates)
+ templData := FilesCoverageToTemplateData(ssCovAndDates)
templData.Managers = managers
FormatResult(templData, format)
return stylesBodyJSTemplate(templData)