haskell: Phase 9 — hk-test-error helper in testlib.sx (+2 tests, 66/66)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m4s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 04:43:07 +00:00
parent 1b844f6a19
commit d523df30c2
3 changed files with 36 additions and 1 deletions

View File

@@ -133,7 +133,7 @@ No OCaml changes are needed. The view type is fully representable as an SX dict.
`fromJust Nothing``"Maybe.fromJust: Nothing"`.
- [x] Top-level `hk-run-io` catches `hk-error` tag and returns it as a tagged
error result so test suites can inspect it without crashing.
- [ ] `hk-test-error` helper in `testlib.sx`:
- [x] `hk-test-error` helper in `testlib.sx`:
`(hk-test-error "desc" thunk expected-substring)` — asserts the thunk raises
an `hk-error` whose message contains the given substring.
- [ ] Tests in `lib/haskell/tests/errors.sx` (≥ 10 tests: error message
@@ -293,6 +293,13 @@ No OCaml changes are needed. The view type is fully representable as an SX dict.
_Newest first._
**2026-05-07** — Phase 9 `hk-test-error` helper in testlib.sx:
- New 0-arity-thunk-based assertion: `(hk-test-error name thunk substr)` —
evaluates `(thunk)`, expects an exception, checks `index-of` for the given
substring in the caught (string-coerced) value. Increments `hk-test-pass` on
match, otherwise records into `hk-test-fails` with descriptive expected.
- Added 2 quick uses to `tests/eval.sx` (error and head []). Suite now 66/66.
**2026-05-07** — Phase 9 `hk-run-io` catches errors, appends to io-lines:
- Wrapped both `hk-run-io` and `hk-run-io-with-input` in `(guard (e (true …)))`
that appends the caught exception to `hk-io-lines`. Also added `hk-deep-force`