-
-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
Yesterday, we discovered that recent releases of PHPUnit's PHAR are not scoped.
Release PHARs of PHPUnit are (still) built by me on my machine using the most recent stable version of PHP. It looks like all PHAR releases I created since I switched to PHP 8.5 were not scoped because PHP-Scoper does not work with PHP 8.5.
However, due to #1138 I did not see that the scoping did not work.
When I use the -vv CLI option I see why:
[php-scoper] * [NO] /usr/local/src/phpunit/build/tmp/phar/theseer-tokenizer/Tokenizer.php
[php-scoper] Could not parse the file "/usr/local/src/phpunit/build/tmp/phar/theseer-tokenizer/Tokenizer.php".: ErrorException: Method SplObjectStorage::attach() is deprecated since 8.5, use method SplObjectStorage::offsetSet() instead in phar:///usr/local/src/phpunit/tools/php-scoper/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php:1123
[php-scoper] Stack trace:
[php-scoper] #0 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php(1123): {closure:phar:///usr/local/src/phpunit/tools/php-scoper/bin/php-scoper:27}()
[php-scoper] #1 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(167): _HumbugBox2acd6fc30c41\PhpParser\Parser\Php8::{closure:_HumbugBox2acd6fc30c41\PhpParser\Parser\Php8::initReduceCallbacks():1121}()
[php-scoper] #2 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php(85): _HumbugBox2acd6fc30c41\PhpParser\ParserAbstract->doParse()
[php-scoper] #3 phar:///usr/local/src/phpunit/tools/php-scoper/src/Scoper/PhpScoper.php(37): _HumbugBox2acd6fc30c41\PhpParser\ParserAbstract->parse()
[php-scoper] #4 phar:///usr/local/src/phpunit/tools/php-scoper/src/Scoper/PhpScoper.php(30): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Scoper\PhpScoper->scopePhp()
[php-scoper] #5 phar:///usr/local/src/phpunit/tools/php-scoper/src/Scoper/PatchScoper.php(15): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Scoper\PhpScoper->scope()
[php-scoper] #6 phar:///usr/local/src/phpunit/tools/php-scoper/src/Console/ConsoleScoper.php(136): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Scoper\PatchScoper->scope()
[php-scoper] #7 phar:///usr/local/src/phpunit/tools/php-scoper/src/Console/ConsoleScoper.php(82): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Console\ConsoleScoper->scopeFile()
[php-scoper] #8 phar:///usr/local/src/phpunit/tools/php-scoper/src/Console/ConsoleScoper.php(56): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Console\ConsoleScoper->scopeFiles()
[php-scoper] #9 phar:///usr/local/src/phpunit/tools/php-scoper/src/Console/ConsoleScoper.php(43): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Console\ConsoleScoper->doScope()
[php-scoper] #10 phar:///usr/local/src/phpunit/tools/php-scoper/src/Console/Command/AddPrefixCommand.php(63): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Console\ConsoleScoper->scope()
[php-scoper] #11 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/fidry/console/src/Bridge/Command/SymfonyCommand.php(69): _HumbugBox2acd6fc30c41\Humbug\PhpScoper\Console\Command\AddPrefixCommand->execute()
[php-scoper] #12 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/symfony/console/Command/Command.php(151): _HumbugBox2acd6fc30c41\Fidry\Console\Bridge\Command\SymfonyCommand->execute()
[php-scoper] #13 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/symfony/console/Application.php(720): _HumbugBox2acd6fc30c41\Symfony\Component\Console\Command\Command->run()
[php-scoper] #14 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/symfony/console/Application.php(243): _HumbugBox2acd6fc30c41\Symfony\Component\Console\Application->doRunCommand()
[php-scoper] #15 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/symfony/console/Application.php(136): _HumbugBox2acd6fc30c41\Symfony\Component\Console\Application->doRun()
[php-scoper] #16 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/fidry/console/src/Application/ApplicationRunner.php(39): _HumbugBox2acd6fc30c41\Symfony\Component\Console\Application->run()
[php-scoper] #17 phar:///usr/local/src/phpunit/tools/php-scoper/vendor/fidry/console/src/Application/ApplicationRunner.php(28): _HumbugBox2acd6fc30c41\Fidry\Console\Application\ApplicationRunner->run()
[php-scoper] #18 phar:///usr/local/src/phpunit/tools/php-scoper/bin/php-scoper(49): _HumbugBox2acd6fc30c41\Fidry\Console\Application\ApplicationRunner::runApplication()
[php-scoper] #19 /usr/local/src/phpunit/tools/php-scoper(20): require('...')
[php-scoper] #20 {main}
This appears to be another issue (like #1092 was) with PHP-Scoper's error handler turning E_DEPRECATED issues into exceptions. Only this time, due to #1138, we do not see the crash unless we use -vv.
danielmorell
Metadata
Metadata
Assignees
Labels
No labels