mikeerickson / phpunit-pretty-result-printer

PHPUnit Pretty Result Printer -- make your PHPUnit tests look pretty!
MIT License
1.2k stars 71 forks source link

Return type void incompatible with php 7.0 #51

Closed harmenjanssen closed 6 years ago

harmenjanssen commented 6 years ago

As of tag 0.8.4 the Printer is declaring void as return type for certain methods. However, void is only available to PHP7.1 and up.

Your composer.json specifies:

"require": {
    "php": "^7.0"
}

This serves incompatible code to PHP7.0 environments. The PHP requirement in composer.json should be updated to reflect the new dependency on PHP7.1, in order to prevent people running PHP7.0 from downloading this version.

"require": {
    "php": "^7.1"
}
mikeerickson commented 6 years ago

This has been fixed in 0.9.x which was posted yesterday

harmenjanssen commented 6 years ago

Hm, I'm not trying to be smart, but 0.9.3 still specifies 7.0 as opposed to 7.1? See also: https://github.com/mikeerickson/phpunit-pretty-result-printer/blob/v0.9.3/composer.json

mikeerickson commented 6 years ago

This is because it does indeed support PHP 7.0. I have local installations working against PHP 7.0.22 and all is working

harmenjanssen commented 6 years ago

I'm running PHP 7.0.27 and it's giving me the following error:

Fatal error: Uncaught TypeError: Return value of Codedungeon\PHPUnitPrettyResultPrinter\_ResultPrinter::startTest() must be an instance of Codedungeon\PHPUnitPrettyResultPrinter\void, none returned in */vendor/codedungeon/phpunit-result-printer/src/Printer.php on line 29

This also lists void as a new PHP7.1 feature: http://php.net/manual/en/migration71.new-features.php

mikeerickson commented 6 years ago

What version of PHPUnit are you using?

mikeerickson commented 6 years ago

I have updated the minimum version for this package to PHP 7.1.x, too much hackiness required to support PHP 7.0.x. My apologies for the continued issues, hopefully things will now stabilize.

harmenjanssen commented 6 years ago

Yes, no worries, I've frozen my dependency on pretty-result-printer to version 0.8.3 and that works fine for me 🙂

For the record, this is my version information:

PHPUnit 6.5.7 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.0.27 with Xdebug 2.5.3
mikeerickson commented 6 years ago

I have done the same thing for internal projects (which have same version for php and PHPUnit)