aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org5
1 files changed, 3 insertions, 2 deletions
diff --git a/todo.org b/todo.org
index a68028a4d..629717583 100644
--- a/todo.org
+++ b/todo.org
@@ -55,8 +55,9 @@ Tags are additive. For example, a small wrong-behavior fix can be
=:bug:quick:=, and a feature that requires internal restructuring can be
=:feature:refactor:=.
* Emacs Open Work
-** TODO [#C] restart-emacs no-service test fails on machines with emacs.service :test:bug:
-=test-system-cmd-restart-emacs-no-service-aborts= (=tests/test-system-commands-resolve-and-run.el:172=) fails on velox and passes where no =emacs.service= exists. It mocks =cj/system-cmd--emacs-service-available-p= to return nil via =cl-letf=, but =cj/system-cmd-restart-emacs= (in =system-commands.el=, natively compiled) calls that helper through an intra-file direct reference in its =.eln=, which bypasses the symbol-function redefinition. So the real check runs, finds =emacs.service=, and restart proceeds instead of aborting -- the =should-error= sees "did not signal an error". Same native-comp mocking trap noted in CLAUDE.md, here for a same-file defun rather than a subr. Fix: mock at the boundary the helper uses (=executable-find= / the =systemctl= =call-process-shell-command=) the way the passing sibling tests =service-available-false-on-nonzero-exit= and =service-available-false-when-systemctl-absent= do, instead of mocking the helper directly; or inject the check. Pre-existing (fails on clean HEAD), surfaced during the 2026-06-29 structural speedrun.
+** DONE [#C] restart-emacs no-service test fails on machines with emacs.service :test:bug:
+CLOSED: [2026-06-29 Mon]
+=test-system-cmd-restart-emacs-no-service-aborts= mocked =cj/system-cmd--emacs-service-available-p= directly, but =cj/system-cmd-restart-emacs= (natively compiled) reaches that helper through an intra-file direct reference in its =.eln= that bypasses the symbol-function redefinition, so the real check ran and passed on velox (which has =emacs.service=). Fixed by mocking at the boundary the helper uses (=executable-find= -> nil) instead of the helper itself, matching the passing sibling tests; the helper's =executable-find= call goes through a subr trampoline that honors =cl-letf=. 19/19 green.
** PROJECT [#A] Manual testing and validation
Exercised once the phases above land.