aboutsummaryrefslogtreecommitdiff
path: root/scripts/coverage-summary.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-21 08:08:04 -0400
committerCraig Jennings <c@cjennings.net>2026-06-21 08:08:04 -0400
commit021b5bb771bff834bc67d82fa61b870e175bdf71 (patch)
treeacfbfd02729a48b695aafb689550925854709ad5 /scripts/coverage-summary.el
parent2f469404a4ef8bd0e8cdf776a5d25ba04b63febb (diff)
downloademacs-wttrin-021b5bb771bff834bc67d82fa61b870e175bdf71.tar.gz
emacs-wttrin-021b5bb771bff834bc67d82fa61b870e175bdf71.zip
fix: exclude generated package files from coverage summary
undercover never instruments generated files like NAME-autoloads.el and NAME-pkg.el, so they have no report entry. The file-weighted summary counted each as untested at 0% and dragged the project number down (97.2% read as 72.9% after eask generated the autoloads file). Drop NAME-autoloads.el and NAME-pkg.el from the source-file scan. A genuinely untested source is still flagged. Only the build-generated files are skipped.
Diffstat (limited to 'scripts/coverage-summary.el')
-rw-r--r--scripts/coverage-summary.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/coverage-summary.el b/scripts/coverage-summary.el
index d40e273..895102e 100644
--- a/scripts/coverage-summary.el
+++ b/scripts/coverage-summary.el
@@ -92,11 +92,15 @@ missing or malformed."
(defun cj/coverage-summary--source-files (source-dir project-root)
"Return *.el files directly under SOURCE-DIR, relative to PROJECT-ROOT.
-Sorted; compiled files and subdirectories are out of scope."
+Sorted. Compiled files and subdirectories are out of scope, as are generated
+package files (`*-autoloads.el', `*-pkg.el') -- a build tool writes those, no
+test covers them, and counting them as untested source skews the number."
(let ((source-dir (file-name-as-directory (expand-file-name source-dir)))
(project-root (file-name-as-directory (expand-file-name project-root))))
- (sort (mapcar (lambda (p) (file-relative-name p project-root))
- (directory-files source-dir t "\\.el\\'"))
+ (sort (seq-remove
+ (lambda (p) (string-match-p "\\(?:-autoloads\\|-pkg\\)\\.el\\'" p))
+ (mapcar (lambda (p) (file-relative-name p project-root))
+ (directory-files source-dir t "\\.el\\'")))
#'string<)))
(defun cj/coverage-summary--missing (tracked source-dir project-root)