sebastianbergmann/phpunit

ini_set method signature type missmatch renders fatal error

Closed this issue · 0 comments

Q A
PHPUnit version 8.0.3
PHP version 7.3.2
Installation Method Composer

Thank you for PHPUnit, it is a tool that I use daily and been doing so for years. I appreciate the work you guys put into the project to keep it updated!

I have however encountered an error and I'm not sure if it is me or an actual bug but I thought I would share it here and see if you have an idea.

When using phpunit -d option (Set the value of the given PHP configuration option) a fatal error is thrown:

Fatal error: Uncaught TypeError: ini_set() expects parameter 2 to be string, bool given in /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/src/TextUI/Command.php:379
Stack trace:
#0 /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/src/TextUI/Command.php(379): ini_set('--update-snapsh...', true)
#1 /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/src/TextUI/Command.php(175): PHPUnit\TextUI\Command->handleArguments(Array)
#2 /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/src/TextUI/Command.php(164): PHPUnit\TextUI\Command->run(Array, true)
#3 /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/phpunit(61): PHPUnit\TextUI\Command::main()
#4 {main}
  thrown in /Users/oli/PhpstormProjects/refactoring/vendor/phpunit/phpunit/src/TextUI/Command.php on line 379

This is probably due to declare(strict_types=1).

ini_set method signature:

ini_set ( string $varname , string $newvalue ) : string

However, here it sets a boolean value to true:

\ini_set($ini[0], true);

clue/stdio-react                   v2.2.0  Async, event-driven console input & output (STDIN, STDOUT) for truly interactive CLI applications, built on top of ReactPHP
clue/term-react                    v1.2.0  Streaming terminal emulator, built on top of ReactPHP
clue/utf8-react                    v1.1.0  Streaming UTF-8 parser, built on top of ReactPHP
doctrine/collections               v1.5.0  Collections Abstraction library
doctrine/instantiator              1.1.0   A small, lightweight utility to instantiate objects in PHP without invoking their constructors
evenement/evenement                v3.0.1  Événement is a very simple event dispatching library for PHP
jolicode/jolinotif                 v2.0.1  Send desktop notifications on Windows, Linux, MacOS.
myclabs/deep-copy                  1.8.1   Create deep copies (clones) of your objects
phar-io/manifest                   1.0.3   Component for reading phar.io manifest information from a PHP Archive (PHAR)
phar-io/version                    2.0.1   Library for handling version information and constraints
phpdocumentor/reflection-common    1.0.1   Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock  4.3.0   With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.
phpdocumentor/type-resolver        0.4.0  
phpspec/prophecy                   1.8.0   Highly opinionated mocking framework for PHP 5.3+
phpunit/php-code-coverage          7.0.2   Library that provides collection, processing, and rendering functionality for PHP code coverage information.
phpunit/php-file-iterator          2.0.2   FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-text-template          1.2.1   Simple template engine.
phpunit/php-timer                  2.0.0   Utility class for timing
phpunit/php-token-stream           3.0.1   Wrapper around PHP's tokenizer extension.
phpunit/phpunit                    8.0.3   The PHP Unit Testing framework.
react/event-loop                   v1.1.0  ReactPHP's core reactor event loop that libraries can use for evented I/O.
react/stream                       v1.1.0  Event-driven readable and writable streams for non-blocking I/O in ReactPHP
sebastian/code-unit-reverse-lookup 1.0.1   Looks up which function or method a line of code belongs to
sebastian/comparator               3.0.2   Provides the functionality to compare PHP values for equality
sebastian/diff                     3.0.2   Diff implementation
sebastian/environment              4.1.0   Provides functionality to handle HHVM/PHP environments
sebastian/exporter                 3.1.0   Provides the functionality to export PHP variables for visualization
sebastian/global-state             3.0.0   Snapshotting of global state
sebastian/object-enumerator        3.0.3   Traverses array structures and object graphs to enumerate all referenced objects
sebastian/object-reflector         1.1.1   Allows reflection of object attributes, including inherited and non-public ones
sebastian/recursion-context        3.0.0   Provides functionality to recursively process PHP variables
sebastian/resource-operations      2.0.1   Provides a list of PHP built-in functions that operate on resources
sebastian/version                  2.0.1   Library that helps with managing the version number of Git-hosted PHP projects
spatie/phpunit-snapshot-assertions 2.1.0   Snapshot testing with PHPUnit
spatie/phpunit-watcher             1.8.3   Automatically rerun PHPUnit tests when source code changes
symfony/console                    v4.2.3  Symfony Console Component
symfony/contracts                  v1.0.2  A set of abstractions extracted out of the Symfony components
symfony/finder                     v4.2.3  Symfony Finder Component
symfony/polyfill-ctype             v1.10.0 Symfony polyfill for ctype functions
symfony/polyfill-mbstring          v1.10.0 Symfony polyfill for the Mbstring extension
symfony/polyfill-php72             v1.10.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
symfony/process                    v4.2.3  Symfony Process Component
symfony/var-dumper                 v4.2.3  Symfony mechanism for exploring and dumping PHP variables
symfony/yaml                       v4.2.3  Symfony Yaml Component
theseer/tokenizer                  1.1.0   A small library for converting tokenized PHP source code into XML and potentially other formats
webmozart/assert                   1.4.0   Assertions to validate method input/output with nice error messages.
yosymfony/resource-watcher         v1.3.0  A simple resource watcher using Symfony Finder