Repository navigation
Fix test suite and run it in CI - #116
Merged
Merged
Conversation
Add a PHPUnit config so the suite runs, and update the integration tests to run the command non-interactively and assert on exit codes instead of exceptions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GNU rm rejects unknown options, so --force failed on Linux whenever output wasn't decorated or --quiet was used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Running
phpunitdid nothing because there was no PHPUnit config, and there was no workflow running the tests.phpunit.xml.dist.NewCommand: the command now runs non-interactively (CommandTesterdefaulted to interactive, which tried to use a TTY), and failures are asserted via exit code1since the command catchesRuntimeExceptioninstead of throwing. Also dropped theDB_DATABASEassertion since the database isn't configured in non-interactive mode.Testsworkflow running on PHP 8.2–8.5 withprefer-lowestandprefer-stable, plus aPHP testsaggregate job (matching the CMS repo) that can be used as the single required check..phpunit.result.cache.Running the suite on Linux in CI surfaced a real bug:
--no-ansi(when output isn't decorated) and--quietwere appended to every command exceptchmodandgit, including therm -rf/rd /s /qused by--force. GNUrmrejects unknown options, sostatamic new --forcefailed on Linux when piped, in CI, or with-q. These commands are now skipped, consistent with the Laravel installer's fix in laravel/installer#437.