From 657fb0007f39f07cc0401e0c5d03e25df6234aa4 Mon Sep 17 00:00:00 2001 From: Alexander M Pickering Date: Tue, 21 Jul 2026 20:19:46 -0500 Subject: Inital commit. --- scripts/lib/render-coverage-index.awk | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 scripts/lib/render-coverage-index.awk (limited to 'scripts/lib/render-coverage-index.awk') diff --git a/scripts/lib/render-coverage-index.awk b/scripts/lib/render-coverage-index.awk new file mode 100644 index 0000000..cc5af1b --- /dev/null +++ b/scripts/lib/render-coverage-index.awk @@ -0,0 +1,48 @@ +# scripts/lib/render-coverage-index.awk +# Render the coverage index page from summary rows. +# Input CSV rows (no header): ",,,". +# Per-file detail pages are expected at html/.html. +# Variables: -v TITLE="..." + +function esc(s) { + gsub(/&/, "\\&", s); gsub(//, "\\>", s) + return s +} + +function color(p) { + if (p + 0 >= 80) return "#2da44e" + if (p + 0 >= 50) return "#bf8700" + return "#cf222e" +} + +BEGIN { FS = ","; n = 0; tot = 0; cov = 0 } + +{ + n++ + f[n] = $1; ex[n] = $2 + 0; cv[n] = $3 + 0; pc[n] = $4 + 0 + tot += $2 + 0; cov += $3 + 0 +} + +END { + overall = (tot > 0 ? cov * 100.0 / tot : 0) + print "" + print "" esc(TITLE) "" + print "" + print "

" esc(TITLE) "

" + printf "
Overall: %.1f%% (%d/%d executable lines)
\n", color(overall), overall, cov, tot + print "" + for (i = 1; i <= n; i++) { + printf "", esc(f[i]), esc(f[i]) + printf "", pc[i], color(pc[i]) + printf "\n", pc[i], cv[i], ex[i] + } + print "
filecoverage%coveredexecutable
%s
%.1f%%%d%d
" +} -- cgit v1.2.3-70-g09d2