Conversation
While PHPUnit isn't the perfect tool for testing shell scripts, it does give us the necessary tools to create a temporary filesystem with a pre-determined structure, as well as the ability to overwrite environment variables to scope Asimov to our dummy directory. In this particular case, we're overloading the tmutil application with a PHP test double, enabling us to track what's called without actually relying on tmutil.
…the same test method, then make sure that Asimov is checking to see if a path has been excluded before excluding it
…nit PHAR directly
…lays nicer with --testdox
…citly install a newer PHP version
…et these environments use older versions of PHPUnit for the sake of automated testing
…n 7.3 (required for PHPUnit 9.x), run 'composer update --prefer-lowest' to get the older versions
5 tasks
Merged
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 PR adds an automated test suite, using PHPUnit.
Why PHPUnit? It's readily available, easy to install, and is something I'm comfortable with. The PR aims to add all of the heavy lifting (mocking
tmutiland dealing with PHP file descriptors), so adding additional tests will be fairly straight-forward as the project grows.