From 04a86e97ca018842f95b3389e5f259365099a4ef Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 5 May 2026 10:26:37 -0500 Subject: test: pin should-error type to cl-assertion-failed in scheduler error tests CI on Emacs 29.4 failed eight scheduler :error: tests (5 in Simple8, 3 in SM5). All eight wrap a function call that violates a cl-assert precondition and use bare (should-error ...) to catch the resulting cl-assertion-failed signal. The same tests pass locally (Emacs 30.2) and in CI on Emacs snapshot. Hypothesis: in 29.4 cl-assertion-failed isn't registered with error as a parent class, so the default should-error filter (which catches type 'error') doesn't match. Adding an explicit :type 'cl-assertion-failed' tells should-error exactly what condition to expect, avoiding the inheritance-class question entirely. Locally still green; expected to clear the CI failure on the next push. --- tests/test-org-drill-determine-next-interval-simple8.el | 15 ++++++++++----- tests/test-org-drill-determine-next-interval-sm5.el | 9 ++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/test-org-drill-determine-next-interval-simple8.el b/tests/test-org-drill-determine-next-interval-simple8.el index 6d292bc..17874ee 100644 --- a/tests/test-org-drill-determine-next-interval-simple8.el +++ b/tests/test-org-drill-determine-next-interval-simple8.el @@ -208,27 +208,32 @@ review attempt regardless of which scheduling algorithm produced it." (ert-deftest test-org-drill-determine-next-interval-simple8-error-negative-repeats () "Error: repeats=-1 violates the (cl-assert (>= repeats 0)) precondition." (should-error - (org-drill-determine-next-interval-simple8 0 -1 4 0 nil 0 nil))) + (org-drill-determine-next-interval-simple8 0 -1 4 0 nil 0 nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-simple8-error-quality-below-zero () "Error: quality=-1 violates the cl-assert quality range." (should-error - (org-drill-determine-next-interval-simple8 0 0 -1 0 nil 0 nil))) + (org-drill-determine-next-interval-simple8 0 0 -1 0 nil 0 nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-simple8-error-quality-above-five () "Error: quality=6 violates the cl-assert quality range." (should-error - (org-drill-determine-next-interval-simple8 0 0 6 0 nil 0 nil))) + (org-drill-determine-next-interval-simple8 0 0 6 0 nil 0 nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-simple8-error-meanq-above-five () "Error: meanq=10 violates the meanq cl-assert (Simple8-specific check)." (should-error - (org-drill-determine-next-interval-simple8 10 3 4 0 10.0 3 nil))) + (org-drill-determine-next-interval-simple8 10 3 4 0 10.0 3 nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-simple8-error-meanq-below-zero () "Error: meanq=-1 violates the meanq cl-assert (Simple8-specific check)." (should-error - (org-drill-determine-next-interval-simple8 10 3 4 0 -1.0 3 nil))) + (org-drill-determine-next-interval-simple8 10 3 4 0 -1.0 3 nil) + :type 'cl-assertion-failed)) ;;; Algorithm Verification diff --git a/tests/test-org-drill-determine-next-interval-sm5.el b/tests/test-org-drill-determine-next-interval-sm5.el index 4e4cb7e..ab05add 100644 --- a/tests/test-org-drill-determine-next-interval-sm5.el +++ b/tests/test-org-drill-determine-next-interval-sm5.el @@ -247,17 +247,20 @@ The SM5 floor is shared with SM2 via `org-drill-modify-e-factor'.") (ert-deftest test-org-drill-determine-next-interval-sm5-error-negative-n () "Error: n=-1 violates the (cl-assert (> n 0)) precondition." (should-error - (org-drill-determine-next-interval-sm5 0 -1 2.5 4 0 nil 0 nil nil))) + (org-drill-determine-next-interval-sm5 0 -1 2.5 4 0 nil 0 nil nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-sm5-error-quality-below-zero () "Error: quality=-1 violates the cl-assert quality range." (should-error - (org-drill-determine-next-interval-sm5 0 1 2.5 -1 0 nil 0 nil nil))) + (org-drill-determine-next-interval-sm5 0 1 2.5 -1 0 nil 0 nil nil) + :type 'cl-assertion-failed)) (ert-deftest test-org-drill-determine-next-interval-sm5-error-quality-above-five () "Error: quality=6 violates the cl-assert quality range." (should-error - (org-drill-determine-next-interval-sm5 0 1 2.5 6 0 nil 0 nil nil))) + (org-drill-determine-next-interval-sm5 0 1 2.5 6 0 nil 0 nil nil) + :type 'cl-assertion-failed)) ;;; Algorithm Verification -- cgit v1.2.3