phpunit-test-runner
phpunit-test-runner copied to clipboard
test.php wastes CPU cycles and bandwith downloading PHPUnit every time
I noticed that running php test.php downloads PHPUnit on every run, even if phpunit is already in the system and even if phpunit.phar has already been downloaded.
$ phpunit --version
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
$ ll -h /tmp/wp-test-runner/phpunit.phar
-rw-rw-r-- 1 benchmark benchmark 2.9M Feb 1 07:56 /tmp/wp-test-runner/phpunit.phar
$ php test.php
Environment variables pass checks.
cd '/tmp/wp-test-runner'; php phpunit.phar
PHP version: 7.0.30-1+ubuntu14.04.1+deb.sury.org+1 (/usr/bin/php7.0)
Installing...
Running as single site... To run multisite, use -c tests/phpunit/multisite.xml
Not running ajax tests. To execute these, use --group ajax.
Not running ms-files tests. To execute these, use --group ms-files.
Not running external-http tests. To execute these, use --group external-http.
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
............................................................. 61 / 8703 ( 0%)
............................................................. 122 / 8703 ( 1%)
............................................................. 183 / 8703 ( 2%)
............................................................. 244 / 8703 ( 2%)
............................................................. 305 / 8703 ( 3%)
............................................................. 366 / 8703 ( 4%)
............................................................. 427 / 8703 ( 4%)
............................................................. 488 / 8703 ( 5%)
............................................................. 549 / 8703 ( 6%)
............................................................. 610 / 8703 ( 7%)
............................................................. 671 / 8703 ( 7%)
............................................................. 732 / 8703 ( 8%)
............................................................. 793 / 8703 ( 9%)
....
even if phpunit is already in the system
How would you test to ensure the phpunit installed on the system is of the latest version?
even if phpunit.phar has already been downloaded.
cleanup.php is meant to be run after each test run, which will delete the preparation directory.
It does not seem to install the latest version now either:
tmp/wp-test-runner$ php phpunit.phar --version
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
How would you test to ensure the phpunit installed on the system is of the latest version?
How do you ensure it now? It does not seem to work?
What if we checked the version of the available system phpunit and if it is below X we proceed to download the phar file? That would avoid both using too old phpunit versions and avoid unnecessary downloads.
It does not seem to install the latest version now either:
Good point. We may want to switch to:
➜ wget -O phpunit https://phar.phpunit.de/phpunit-7.phar
How do you ensure it now? It does not seem to work?
The existing download URL is the latest 5.x version.
What if we checked the version of the available system phpunit and if it is below X we proceed to download the phar file? That would avoid both using too old phpunit versions and avoid unnecessary downloads.
I'm not convinced this is something we should optimize for but I'd be open to reviewing a pull request for this.