This run took 18 seconds.
$ date --- stdout --- Wed Nov 13 04:25:59 UTC 2024 --- end --- $ git clone file:///srv/git/mediawiki-tools-phan-PerfCheckPlugin.git repo --depth=1 -b master --- stderr --- Cloning into 'repo'... --- stdout --- --- end --- $ git config user.name libraryupgrader --- stdout --- --- end --- $ git config user.email tools.libraryupgrader@tools.wmflabs.org --- stdout --- --- end --- $ git submodule update --init --- stdout --- --- end --- $ grr init --- stdout --- Installed commit-msg hook. --- end --- $ git show-ref refs/heads/master --- stdout --- e242f1f352eeaa8817db593d8372bbcc4dc47ca8 refs/heads/master --- end --- $ /usr/bin/composer install --- stderr --- No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 60 installs, 0 updates, 0 removals - Locking composer/semver (3.3.2) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (1.4.6) - Locking doctrine/deprecations (1.1.3) - Locking doctrine/instantiator (2.0.0) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (v41.0.0) - Locking mediawiki/minus-x (1.1.1) - Locking microsoft/tolerant-php-parser (v0.0.23) - Locking myclabs/deep-copy (1.12.1) - Locking netresearch/jsonmapper (v3.1.1) - Locking nikic/php-parser (v5.3.1) - Locking phan/phan (3.2.6) - Locking phar-io/manifest (2.0.4) - Locking phar-io/version (3.2.1) - Locking php-parallel-lint/php-console-color (v1.0.1) - Locking php-parallel-lint/php-console-highlighter (v1.0.0) - Locking php-parallel-lint/php-parallel-lint (v1.3.2) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.6.0) - Locking phpdocumentor/type-resolver (1.10.0) - Locking phpstan/phpdoc-parser (2.0.0) - Locking phpunit/php-code-coverage (9.2.32) - Locking phpunit/php-file-iterator (3.0.6) - Locking phpunit/php-invoker (3.1.1) - Locking phpunit/php-text-template (2.0.4) - Locking phpunit/php-timer (5.0.3) - Locking phpunit/phpunit (9.6.16) - Locking psr/container (2.0.2) - Locking psr/log (1.1.4) - Locking sabre/event (5.1.7) - Locking sebastian/cli-parser (1.0.2) - Locking sebastian/code-unit (1.0.8) - Locking sebastian/code-unit-reverse-lookup (2.0.3) - Locking sebastian/comparator (4.0.8) - Locking sebastian/complexity (2.0.3) - Locking sebastian/diff (4.0.6) - Locking sebastian/environment (5.1.5) - Locking sebastian/exporter (4.0.6) - Locking sebastian/global-state (5.0.7) - Locking sebastian/lines-of-code (1.0.4) - Locking sebastian/object-enumerator (4.0.4) - Locking sebastian/object-reflector (2.0.4) - Locking sebastian/recursion-context (4.0.5) - Locking sebastian/resource-operations (3.0.4) - Locking sebastian/type (3.2.1) - Locking sebastian/version (3.0.2) - Locking squizlabs/php_codesniffer (3.7.2) - Locking symfony/console (v5.4.46) - Locking symfony/deprecation-contracts (v3.5.0) - Locking symfony/polyfill-ctype (v1.31.0) - Locking symfony/polyfill-intl-grapheme (v1.31.0) - Locking symfony/polyfill-intl-normalizer (v1.31.0) - Locking symfony/polyfill-mbstring (v1.31.0) - Locking symfony/polyfill-php73 (v1.31.0) - Locking symfony/polyfill-php80 (v1.31.0) - Locking symfony/service-contracts (v3.5.0) - Locking symfony/string (v6.4.13) - Locking theseer/tokenizer (1.2.3) - Locking webmozart/assert (1.11.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 60 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive - Installing composer/spdx-licenses (1.5.8): Extracting archive - Installing composer/semver (3.3.2): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive - Installing symfony/string (v6.4.13): Extracting archive - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.5.0): Extracting archive - Installing symfony/polyfill-php73 (v1.31.0): Extracting archive - Installing symfony/console (v5.4.46): Extracting archive - Installing mediawiki/minus-x (1.1.1): Extracting archive - Installing sabre/event (5.1.7): Extracting archive - Installing netresearch/jsonmapper (v3.1.1): Extracting archive - Installing microsoft/tolerant-php-parser (v0.0.23): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (2.0.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.3): Extracting archive - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.6.0): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (1.1.4): Extracting archive - Installing composer/xdebug-handler (1.4.6): Extracting archive - Installing phan/phan (3.2.6): Extracting archive - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive - Installing sebastian/version (3.0.2): Extracting archive - Installing sebastian/type (3.2.1): Extracting archive - Installing sebastian/resource-operations (3.0.4): Extracting archive - Installing sebastian/recursion-context (4.0.5): Extracting archive - Installing sebastian/object-reflector (2.0.4): Extracting archive - Installing sebastian/object-enumerator (4.0.4): Extracting archive - Installing sebastian/global-state (5.0.7): Extracting archive - Installing sebastian/exporter (4.0.6): Extracting archive - Installing sebastian/environment (5.1.5): Extracting archive - Installing sebastian/diff (4.0.6): Extracting archive - Installing sebastian/comparator (4.0.8): Extracting archive - Installing sebastian/code-unit (1.0.8): Extracting archive - Installing sebastian/cli-parser (1.0.2): Extracting archive - Installing phpunit/php-timer (5.0.3): Extracting archive - Installing phpunit/php-text-template (2.0.4): Extracting archive - Installing phpunit/php-invoker (3.1.1): Extracting archive - Installing phpunit/php-file-iterator (3.0.6): Extracting archive - Installing theseer/tokenizer (1.2.3): Extracting archive - Installing nikic/php-parser (v5.3.1): Extracting archive - Installing sebastian/lines-of-code (1.0.4): Extracting archive - Installing sebastian/complexity (2.0.3): Extracting archive - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive - Installing phpunit/php-code-coverage (9.2.32): Extracting archive - Installing phar-io/version (3.2.1): Extracting archive - Installing phar-io/manifest (2.0.4): Extracting archive - Installing myclabs/deep-copy (1.12.1): Extracting archive - Installing doctrine/instantiator (2.0.0): Extracting archive - Installing phpunit/phpunit (9.6.16): Extracting archive 0/60 [>---------------------------] 0% 16/60 [=======>--------------------] 26% 28/60 [=============>--------------] 46% 40/60 [==================>---------] 66% 50/60 [=======================>----] 83% 60/60 [============================] 100% 7 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 40 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- Upgrading c:mediawiki/mediawiki-codesniffer from 41.0.0 -> 45.0.0 Upgrading c:mediawiki/minus-x from 1.1.1 -> 1.1.3 Upgrading c:php-parallel-lint/php-parallel-lint from 1.3.2 -> 1.4.0 $ /usr/bin/composer update --- stderr --- Loading composer repositories with package information Updating dependencies Lock file operations: 3 installs, 5 updates, 0 removals - Upgrading composer/semver (3.3.2 => 3.4.3) - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0) - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v45.0.0) - Upgrading mediawiki/minus-x (1.1.1 => 1.1.3) - Upgrading php-parallel-lint/php-parallel-lint (v1.3.2 => v1.4.0) - Locking phpcsstandards/phpcsextra (1.2.1) - Locking phpcsstandards/phpcsutils (1.0.12) - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.10.3) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 3 installs, 5 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.10.3): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive - Upgrading composer/semver (3.3.2 => 3.4.3): Extracting archive - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v45.0.0): Extracting archive - Upgrading mediawiki/minus-x (1.1.1 => 1.1.3): Extracting archive - Upgrading php-parallel-lint/php-parallel-lint (v1.3.2 => v1.4.0): Extracting archive 0/6 [>---------------------------] 0% 6/6 [============================] 100% Generating autoload files 42 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Previously failing phpcs rules: {'MediaWiki.Usage.ForbiddenFunctions.assert'} $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":0,"warnings":1,"fixable":0},"files":{"\/src\/repo\/tests\/performanceCheckTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/base-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/integration-test-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/PerformanceCheckPlugin.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/ext-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/core-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/self-phan-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/PerformanceVisitor.php":{"errors":0,"warnings":1,"messages":[{"message":"assert should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.assert","severity":5,"fixable":false,"type":"WARNING","line":348,"column":17}]}}} --- end --- PHPCS run failed $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":0,"warnings":1,"fixable":0},"files":{"\/src\/repo\/scripts\/base-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/integration-test-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/ext-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/self-phan-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/PerformanceCheckPlugin.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/core-config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/performanceCheckTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/PerformanceVisitor.php":{"errors":0,"warnings":1,"messages":[{"message":"assert should not be used","source":"MediaWiki.Usage.ForbiddenFunctions.assert","severity":5,"fixable":false,"type":"WARNING","line":348,"column":17}]}}} --- end --- $ git checkout .phpcs.xml --- stderr --- Updated 1 path from the index --- stdout --- --- end --- Tests still failing. Skipping $ /usr/bin/composer install --- stderr --- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating autoload files 42 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- $ /usr/bin/composer test --- stderr --- > parallel-lint . --exclude vendor > composer phpcs > phpcs -p -s > composer minus-x > minus-x check . > composer phan-for-plugin > ./tests/run-phan-on-plugin.sh -p /src/repo/vendor/phan/phan/src/Phan/Library/Map.php:37 [8192] Return type of Phan\Library\Map::key() should either be compatible with SplObjectStorage::key(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice (Phan 3.2.6 crashed) More details: #2: include() called at [/src/repo/vendor/composer/ClassLoader.php:582] Args: ["/src/repo/vendor/phan/phan/src/Phan/Bootstrap.php"] #3: Composer\Autoload\{closure}() called at [/src/repo/vendor/composer/ClassLoader.php:433] Args: ["/src/repo/vendor/composer/../phan/phan/src/Phan/Library/Map.php"] #4: Composer\Autoload\ClassLoader->loadClass() called at [/src/repo/vendor/phan/phan/src/Phan/CodeBase.php:222] Args: ["Phan\\Library\\Map"] #5: Phan\CodeBase->__construct() called at [/src/repo/vendor/phan/phan/src/codebase.php:16] Args: [["InternalIterator", "Exception", "ErrorException", "Error", "CompileError", "ParseError", "TypeError", "ArgumentCountError", "ValueError", "ArithmeticError", ... 237 more element(s)], ["Traversable", "IteratorAggregate", "Iterator", "Serializable", "ArrayAccess", "Countable", "Stringable", "Throwable", "UnitEnum", "BackedEnum", ... 40 more element(s)], ["Phan\\PluginV3\\IssueEmitter"], ["true", "false", "null", "E_ERROR", "E_WARNING", "E_PARSE", "E_NOTICE", "E_CORE_ERROR", "E_CORE_WARNING", "E_COMPILE_ERROR", ... 2747 more element(s)], ["zend_version", "func_num_args", "func_get_arg", "func_get_args", "strlen", "strcmp", "strncmp", "strcasecmp", "strncasecmp", "error_reporting", ... 1744 more element(s)]] #6: require() called at [/src/repo/vendor/phan/phan/src/phan.php:26] Args: ["/src/repo/vendor/phan/phan/src/codebase.php"] #7: require_once() called at [/src/repo/vendor/phan/phan/phan:10] Args: ["/src/repo/vendor/phan/phan/src/phan.php"] PHP Fatal error: Object of class UnwindExit could not be converted to string in /src/repo/vendor/phan/phan/src/Phan/Library/Map.php on line 0 Script ./tests/run-phan-on-plugin.sh -p handling the phan-for-plugin event returned with error code 255 Script composer phan-for-plugin handling the test event returned with error code 255 --- stdout --- PHP 8.2.20 | 10 parallel jobs ............... 15/15 (100%) Checked 15 files in 0.1 seconds No syntax error found ........ 8 / 8 (100%) Time: 236ms; Memory: 8MB MinusX ====== Processing /src/repo... ............................... All good! Starting phan --- end --- Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1864, in main libup.run(args.repo, args.output, args.branch) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1804, in run self.composer_upgrade(plan) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 984, in composer_upgrade self.composer_test() File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 341, in composer_test self.check_call(["composer", "test"]) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call res.check_returncode() File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode raise CalledProcessError(self.returncode, self.args, self.stdout, subprocess.CalledProcessError: Command '['/usr/bin/composer', 'test']' returned non-zero exit status 255.