aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-16 10:29:50 -0500
committerCraig Jennings <c@cjennings.net>2026-05-16 10:29:50 -0500
commited74026a1b5a14343a14ff05aafbfd7c6f6967b7 (patch)
tree8393e6997bdb4a9d24f3d13e9e5120bd46c7c008 /Makefile
parentf5f196a1beb4690df18754fb31ca6ff73170820f (diff)
downloaddotemacs-ed74026a1b5a14343a14ff05aafbfd7c6f6967b7.tar.gz
dotemacs-ed74026a1b5a14343a14ff05aafbfd7c6f6967b7.zip
fix(coverage): include gptel-tools in instrumentation glob
Undercover now instruments gptel-tools/*.el alongside modules/*.el, so the new git_status / git_log / git_diff / web_fetch tools (and their successors) report coverage instead of reading as zero. The matching pre-coverage clean step deletes gptel-tools/*.elc so stale byte-compiled artifacts don't shadow the .el sources. If Emacs loads the .elc first, undercover's source instrumentation never runs. docs/design/coverage.org gains an Elisp-coverage-producer subsection documenting the glob, the :merge-report dependence (SimpleCov merges cross-process reports, LCOV does not), and the missing-artifact failure mode.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile4
1 files changed, 2 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 02ee56bbd..4e19149df 100644
--- a/Makefile
+++ b/Makefile
@@ -234,8 +234,8 @@ COVERAGE_EXCLUDE = \
COVERAGE_TESTS = $(filter-out $(COVERAGE_EXCLUDE),$(UNIT_TESTS))
coverage: coverage-clean $(COVERAGE_DIR)
- @echo "[i] Deleting modules/*.elc so undercover can instrument sources..."
- @rm -f $(MODULE_DIR)/*.elc
+ @echo "[i] Deleting compiled coverage targets so undercover can instrument sources..."
+ @rm -f $(MODULE_DIR)/*.elc gptel-tools/*.elc
@echo "[i] Running coverage across $(words $(COVERAGE_TESTS)) test files..."
@echo " (this is slower than 'make test' — each file runs in its own Emacs)"
@echo " excluded from coverage: $(notdir $(COVERAGE_EXCLUDE))"