chore: migrate the test suite to Errata - #957
Open
david-christiansen wants to merge 6 commits into
Open
Conversation
david-christiansen
force-pushed
the
test-framework-2
branch
from
August 14, 2026 08:53
0d52941 to
dc2f42d
Compare
This rearchitects our test suite into a proper testing framework. Before, our tests were all essentially ad hoc. Each kind of test would be an IO action that might throw, and there were some rough conventions, but output reporting was inconsistent and sometimes hard to understand. Tests were noisy as well, which made it hard to find reasons for failure at a glance. Now the suite runs on Errata: `lake test` discovers every `@[test]` in the package, reports results uniformly, and CI displays the JUnit XML report.
Fork pull requests receive a read-only token, so publishing a check run fails; those runs get results from the job summary and artifact instead.
The child inherits stdio so a hang in CI shows how far the LSP suite got instead of a killed job with no output.
The lake test invocations pass --wfail, so a typo in an option or an undiscovered test module fails the run instead of warning on stderr in a place nobody will see it.
The response that failed a predicate rides along as assertion detail, and the local expects-an-error helper gives way to assertThrowsIO.
david-christiansen
force-pushed
the
test-framework-2
branch
from
August 21, 2026 13:17
dc2f42d to
9c31dfa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This rearchitects our test suite into a proper testing framework. Before, our tests were all essentially ad hoc. Each kind of test would be an IO action that might throw, and there were some rough conventions, but output reporting was inconsistent and sometimes hard to understand. Tests were noisy as well, which made it hard to find reasons for failure at a glance.
Now the suite runs on Errata:
lake testdiscovers every@[test]in the package, reports results uniformly, and CI displays the JUnit XML report.