-
Notifications
You must be signed in to change notification settings - Fork 31
feat: test runner v2 #1625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
feat: test runner v2 #1625
Conversation
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
0bc576f to
28f3edf
Compare
c54c024 to
1e8a542
Compare
sgammon
approved these changes
Sep 18, 2025
Signed-off-by: Dario Valdespino <[email protected]>
Signed-off-by: Dario Valdespino <[email protected]>
1e8a542 to
cbf2060
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
module:tooling
Changes and issues relating to the Elide `tooling` module
tools:builder
Stuff relating to Elide's builder
tools:test-runner
Stuff relating to Elide's test runner
tools
Issues and PRs related to tooling
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.
Summary
This PR reworks our current test runner architecture, decoupling it from polyglot code to allow more flexible test features, such as host-side JVM testing (as opposed to just Espresso-run).
The main principle behind the new implementation is that tests are no longer executable on their own, a
TestCaseis now used to represent information that can be used by aTestDriverto execute the case instead. This allows JVM tests to be represented as data (e.g. a qualified class name and method name), and then executed in different ways by specific drivers.Some components from the previous version (like the
TestingRegistrar) are kept to ease the transition and will be refactored in the near future to better fit their purpose.Future work
A few changes were left out of this PR's scope to avoid feature creep:
elide testcommand; proper support for parallel tests outputNote: this PR does not fulfill #1580, but it addresses it in part. JUnit support and the tooling events API (coming soon) will fully close the issue.