New test runner design#130
Merged
mk-mxp merged 45 commits intoexercism:mainfrom Aug 15, 2024
Merged
Conversation
- Have a Tracer class to track test runs - Extract required data from Passed events - Produce JSON from Result objects - Inject the output file name by environment variable, use fallback name for local runs
This only changes the test names from method names to what PHPUnit sees as prettified test name.
- Use PHPUnit from vendor/* - Provide env var with result file path - Strip out no longer required log files and post-processor The Dockerfile must be written further. composer dependencies should be installed in build step and only "vendor/*" transfered to the runtime image. bin/run.sh still contains debug output.
We don't have to disallow output on the command line anymore, the event fires always.
Also must fail total result on one failed test in list
This must have the absolute exercise path, but cannot get it from PHPUnit. So a new env var provides this.
Contributor
homersimpsons
left a comment
There was a problem hiding this comment.
Thank you very much for this implementation! I find it way less hacky than the previous one. It also removes a lot of code which means it will be easier to maintain.
Thank you for improving the Dockerfile too. This would probably improve the execution time of the test runner.
homersimpsons
approved these changes
Aug 11, 2024
ErikSchierboom
approved these changes
Aug 13, 2024
Member
ErikSchierboom
left a comment
There was a problem hiding this comment.
LGTM I'll let the PHP-specific review for the other reviewers
Contributor
Author
|
Thanks to everyone! I'll merge on Thursday, as I have more time that day in case of unexpected things happening. |
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.
As suggested in #110 a re-implementation of all current use cases (test cases) using PHPUnit events. This reduces the complexity a lot.
@exercism/maintainers-admin I changed code ownership, as this replaces the existing test-runner completely.
@homersimpsons Do you want to take a look, also?
I also optimized the files remaining in the Docker image: