diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-05 10:55:03 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-05 10:55:03 -0500 |
| commit | 01ad14ab75d5d64aadd15af8fc0d1dd61e2ce4bd (patch) | |
| tree | f6e7645fa2c5f3d6644b4b0bc6d28eef73c921fd /.github/workflows | |
| parent | 64dd3f2a7a35317cbd9e8829c7b7fe259c797815 (diff) | |
| download | org-drill-01ad14ab75d5d64aadd15af8fc0d1dd61e2ce4bd.tar.gz org-drill-01ad14ab75d5d64aadd15af8fc0d1dd61e2ce4bd.zip | |
test: shadow signal-hook-function so cl-assertion-failed can be caught
Attempt 4 at making the eight scheduler error tests pass on
Emacs 29.4 in CI.
The earlier approaches kept failing because ERT 29.4 installs
ert--should-signal-hook as signal-hook-function around the entire
ert-deftest body — not just inside should forms. That hook fires
on every signal before any inner condition-case can catch it,
which is why even a bare (condition-case ... (cl-assertion-failed
nil)) at the top of the test body didn't work.
The new helper rebinds signal-hook-function to nil inside its own
let-scope, so condition-case catches the cl-assertion-failed
signal normally. The ert-fail on the no-error path runs outside
that shadowing scope, so it still routes through ERT's failure
handling.
Locally green; pushing to test 29.4 in CI.
Diffstat (limited to '.github/workflows')
0 files changed, 0 insertions, 0 deletions
