From 6554cb8000a8f471f7c9e050e284f3fc364d5dad Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 5 May 2026 04:58:34 -0500 Subject: build: switch Makefile to eask, wire up undercover coverage I wanted a coverage number, so I added an Eask file declaring the runtime dep (xterm-color) plus three dev deps (undercover, package-lint, elisp-lint). The Makefile now runs every test and lint recipe through `eask emacs`. That drops the hand-rolled `(require 'package)` + `add-to-list 'package-archives` boilerplate that was duplicated across six recipes. I added a `make deps` target that runs `eask install-deps --dev`. I also added a `make coverage` target that loads `tests/run-coverage-file.el` before each unit-test file. Undercover instruments the three source files first, then the test loads pick up the instrumented copy. Per-file results merge into `.coverage/simplecov.json` in simplecov format. I expanded `validate-parens` and `compile` to cover all three source files instead of just `wttrin.el`. Lint stays scoped to the main file for now. Coverage right now is 84% overall: wttrin.el 92%, wttrin-geolocation.el 100%, wttrin-debug.el 27%. The debug module is low because only the integration test exercises it. The coverage loop runs unit tests only. --- Eask | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Eask (limited to 'Eask') diff --git a/Eask b/Eask new file mode 100644 index 0000000..eae1b17 --- /dev/null +++ b/Eask @@ -0,0 +1,24 @@ +;; -*- mode: eask; lexical-binding: t -*- + +(package "wttrin" + "0.3.2" + "Emacs Frontend for Service wttr.in") + +(website-url "https://github.com/cjennings/emacs-wttrin") +(keywords "weather" "wttrin" "games") + +(package-file "wttrin.el") + +(files "wttrin.el" "wttrin-debug.el" "wttrin-geolocation.el") + +(source "gnu") +(source "nongnu") +(source "melpa") + +(depends-on "emacs" "24.4") +(depends-on "xterm-color") + +(development + (depends-on "undercover") + (depends-on "package-lint") + (depends-on "elisp-lint")) -- cgit v1.2.3