aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/cover
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2025-04-10 11:34:39 +0200
committerDmitry Vyukov <dvyukov@google.com>2025-04-10 17:07:48 +0000
commit1bc60a19f725612590947493424fef2e314bd044 (patch)
tree3be2c55ec8612d430845327602d832d6eb01b479 /pkg/cover
parent2d9fa31cf7abaddf944824814053e67b4d5c478e (diff)
tools/syz-declextract: add interface coverage info
Add coverage percent for kernel interfaces. The current data is generated with Mar coverage report on kernel commit 1e7857b28020ba57ca7fdafae7ac855ba326c697.
Diffstat (limited to 'pkg/cover')
-rw-r--r--pkg/cover/heatmap.go2
-rw-r--r--pkg/cover/html.go13
2 files changed, 9 insertions, 6 deletions
diff --git a/pkg/cover/heatmap.go b/pkg/cover/heatmap.go
index 20c7ac4c1..efde4fed4 100644
--- a/pkg/cover/heatmap.go
+++ b/pkg/cover/heatmap.go
@@ -91,7 +91,7 @@ func (thm *templateHeatmapRow) prepareDataFor(pageColumns []pageColumnTarget, sk
var dateCoverage int64
tp := pageColumn.TimePeriod
if thm.instrumented[tp] != 0 {
- dateCoverage = percent(thm.covered[tp], thm.instrumented[tp])
+ dateCoverage = Percent(thm.covered[tp], thm.instrumented[tp])
}
thm.Coverage = append(thm.Coverage, dateCoverage)
thm.Tooltips = append(thm.Tooltips, fmt.Sprintf("Instrumented:\t%d blocks\nCovered:\t%d blocks",
diff --git a/pkg/cover/html.go b/pkg/cover/html.go
index 1b2d4d024..88f30abb1 100644
--- a/pkg/cover/html.go
+++ b/pkg/cover/html.go
@@ -877,7 +877,7 @@ func addFunctionCoverage(file *file, data *templateData) {
percentage := ""
coveredTotal += function.covered
if function.covered > 0 {
- percentage = fmt.Sprintf("%v%%", percent(function.covered, function.pcs))
+ percentage = fmt.Sprintf("%v%%", Percent(function.covered, function.pcs))
TotalInCoveredFunc += function.pcs
} else {
percentage = "---"
@@ -891,7 +891,7 @@ func addFunctionCoverage(file *file, data *templateData) {
buf.WriteString("<span class='hover'>SUMMARY")
percentInCoveredFunc := ""
if TotalInCoveredFunc > 0 {
- percentInCoveredFunc = fmt.Sprintf("%v%%", percent(coveredTotal, TotalInCoveredFunc))
+ percentInCoveredFunc = fmt.Sprintf("%v%%", Percent(coveredTotal, TotalInCoveredFunc))
} else {
percentInCoveredFunc = "---"
}
@@ -915,21 +915,24 @@ func processDir(dir *templateDir) {
for _, f := range dir.Files {
dir.Total += f.Total
dir.Covered += f.Covered
- f.Percent = percent(f.Covered, f.Total)
+ f.Percent = Percent(f.Covered, f.Total)
}
for _, child := range dir.Dirs {
processDir(child)
dir.Total += child.Total
dir.Covered += child.Covered
}
- dir.Percent = percent(dir.Covered, dir.Total)
+ dir.Percent = Percent(dir.Covered, dir.Total)
if dir.Covered == 0 {
dir.Dirs = nil
dir.Files = nil
}
}
-func percent[T int | int64](covered, total T) T {
+func Percent[T int | int64](covered, total T) T {
+ if total == 0 {
+ return 0
+ }
f := math.Ceil(float64(covered) / float64(total) * 100)
if f == 100 && covered < total {
f = 99