From 0930ec3c259d93a68fc59854677cdc7fef634e71 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 6 Jun 2026 11:37:39 -0500 Subject: test: cover the remaining failure, contract, and safety branches The bug fixes raised line coverage on duet.el to 92.3%. This closes the rest. The new tests exercise the branches a review would want locked down before execution and UI build on this core: each arm of the minimal failure normalizer (missing executable, stall, signal cancellation, unknown-without-exit), a :match predicate rather than a regexp, the rsync normalizer mapping known stderr to permission/space/protocol classes, the capability-tier contract check, an explicit :async override, the case-collision path through the safety composite's injected predicates, and redaction of a pattern with no capture group. Line coverage on duet.el is now 100%. The one deliberately trivial case left is the entry command, a not-yet-implemented stub that errors. Its test asserts that and will change when the pane layout lands. --- tests/test-duet-smoke.el | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/test-duet-smoke.el') diff --git a/tests/test-duet-smoke.el b/tests/test-duet-smoke.el index a101dd2..4f88a0e 100644 --- a/tests/test-duet-smoke.el +++ b/tests/test-duet-smoke.el @@ -32,5 +32,9 @@ (should (featurep 'duet)) (should (commandp 'duet))) +(ert-deftest test-duet-smoke-entry-not-yet-implemented () + "The entry command errors until the pane layout lands (Phase 4)." + (should-error (duet))) + (provide 'test-duet-smoke) ;;; test-duet-smoke.el ends here -- cgit v1.2.3