From faf716de7ad4b69486e42de591588d8b750bbdb9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 16 May 2026 10:29:50 -0500 Subject: 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. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 02ee56bb..4e19149d 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))" -- cgit v1.2.3