aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
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
parent254b4cda876789c00ce81a7f9cbb2851205c336d (diff)
dashboard/app: send coverage report to ns-defined email
We periodically send coverage reports for the regressions detection.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/cover/heatmap.go14
-rw-r--r--pkg/cover/heatmap_test.go2
2 files changed, 12 insertions, 4 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)
diff --git a/pkg/cover/heatmap_test.go b/pkg/cover/heatmap_test.go
index e4b490f23..42bcea4ec 100644
--- a/pkg/cover/heatmap_test.go
+++ b/pkg/cover/heatmap_test.go
@@ -150,7 +150,7 @@ func TestFilesCoverageToTemplateData(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
- got := filesCoverageToTemplateData(test.input)
+ got := FilesCoverageToTemplateData(test.input)
assert.EqualExportedValues(t, test.want, got)
})
}