diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-03 17:39:10 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-03 17:39:10 -0500 |
| commit | 0c085f2935418f365f6abd39ce008909dc13ed3c (patch) | |
| tree | 9c2126762fa5ef0bf62051da63f750cc2288d15c /modules/dev-fkeys.el | |
| parent | 1d9d252e8b9e1385337cd0af087a7007f8e62da8 (diff) | |
| download | dotemacs-0c085f2935418f365f6abd39ce008909dc13ed3c.tar.gz dotemacs-0c085f2935418f365f6abd39ce008909dc13ed3c.zip | |
fix(dev-fkeys): F6 elisp runner uses basename, not rel-path
I shipped Phase 2a with `cj/--f6-test-runner-cmd-for' building `make test-file FILE=<rel-path>' for elisp test files (e.g., FILE=tests/test-foo.el). The project Makefile prepends `tests/' to FILE itself, so the full invocation expands to `tests/tests/test-foo.el' and emacs reports "Cannot open load file". The bug surfaced on a live-test in step 7 of the Phase 2a smoke plan.
Fix: pass `(file-name-nondirectory rel-path)' so the Makefile gets just `test-foo.el' and re-prepends `tests/' itself.
Two unit tests in `test-dev-fkeys--f6-test-runner-cmd-for.el' had encoded the wrong expectation (the rel-path form). Two orchestrator tests in `test-dev-fkeys--f6-current-file-tests-impl.el' inherited the same wrong assertion via integration. Updated all four to assert the basename form.
Verified: full suite green, including the 4 updated tests. Live re-test on `tests/test-dev-fkeys--f6-language-detect.el' should now produce the working `make test-file FILE=test-dev-fkeys--f6-language-detect.el'.
Diffstat (limited to 'modules/dev-fkeys.el')
| -rw-r--r-- | modules/dev-fkeys.el | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/dev-fkeys.el b/modules/dev-fkeys.el index 0bb720b1..9c695674 100644 --- a/modules/dev-fkeys.el +++ b/modules/dev-fkeys.el @@ -261,7 +261,9 @@ TypeScript / JavaScript and unknown languages return nil." (pcase language ('elisp (if is-test-file - (format "make test-file FILE=%s" rel-path) + ;; The project Makefile prepends `tests/' to FILE, so pass the + ;; basename only — passing the rel-path produces `tests/tests/...'. + (format "make test-file FILE=%s" (file-name-nondirectory rel-path)) (format "make test-name TEST=^test-%s-" stem))) ('python (if is-test-file |
