Make sure PHPUnit tests runs when using PHP 7.2+ in the Travis builds #22140
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.
Changes proposed in this Pull Request:
Due to a recent change in the Travis environment, WooCommerce unit tests stopped working with the following error (see for example https://travis-ci.org/woocommerce/woocommerce/jobs/463470674#L876) in the PHP 7.2 and 7.3 build jobs:
This error is happening because Travis started ignoring the PHPUnit version that we install manually via Composer (tests/bin/travis.sh#L6) and started using the PHPUnit version that is shipped with each of its PHP docker images. This means that for the docker images running PHP 7.2 and 7.3, PHPUnit 7 is used, but the WordPress unit test framework is not compatible with PHPUnit 7 (see WordPress core ticket https://core.trac.wordpress.org/ticket/43218) and produces the error above. I believe that this is happening because Travis changed the directory where it installs composer global packages from
$HOME/.composer/
to$HOME/.config/composer/
(travis-ci/travis-ci#7289 (comment)) and we add$HOME/.composer/vendor/bin:$PATH
to the$PATH
. So this commit simply updates the path in the line where we add it to the$PATH
.I tried to use
composer exec
instead of updating$PATH
, but that didn't work for PHP 5.2.How to test the changes in this Pull Request: