mediawiki/libs/Shellbox: main (log #2143494)

sourcepatches

This run took 15 seconds.

$ date
--- stdout ---
Wed Oct  8 05:59:16 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-libs-Shellbox.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 ---
d65952c34c901fc21de7ea0fed5674f01e431fcd refs/heads/master

--- end ---
Upgrading c:ockcyp/covers-validator from 1.6.0 -> 1.7.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 2 updates, 0 removals
  - Upgrading monolog/monolog (2.10.0 => 3.9.0)
  - Upgrading ockcyp/covers-validator (v1.6.0 => v1.7.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 80 installs, 0 updates, 0 removals
  - Downloading symfony/deprecation-contracts (v2.5.4)
  - Downloading symfony/string (v5.4.47)
  - Downloading symfony/service-contracts (v2.5.4)
  - Downloading symfony/console (v5.3.16)
  - Downloading symfony/var-dumper (v5.4.48)
  - Downloading psy/psysh (v0.10.12)
 0/6 [>---------------------------]   0%
 3/6 [==============>-------------]  50%
 6/6 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.1.2): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.4): Extracting archive
  - Installing psr/http-message (2.0): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.1.0): Extracting archive
  - Installing guzzlehttp/psr7 (2.8.0): Extracting archive
  - Installing guzzlehttp/promises (2.3.0): Extracting archive
  - Installing guzzlehttp/guzzle (7.10.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v5.4.47): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.4): Extracting archive
  - Installing symfony/polyfill-php73 (v1.33.0): Extracting archive
  - Installing symfony/console (v5.3.16): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.3): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.5.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing monolog/monolog (3.9.0): 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.6): 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.8): Extracting archive
  - Installing sebastian/exporter (4.0.8): Extracting archive
  - Installing sebastian/environment (5.1.5): Extracting archive
  - Installing sebastian/diff (4.0.6): Extracting archive
  - Installing sebastian/comparator (4.0.9): 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 (v4.19.4): 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.13.4): Extracting archive
  - Installing doctrine/instantiator (2.0.0): Extracting archive
  - Installing phpunit/phpunit (9.6.21): Extracting archive
  - Installing ockcyp/covers-validator (v1.7.0): 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.4.0): Extracting archive
  - Installing symfony/var-dumper (v5.4.48): Extracting archive
  - Installing psy/psysh (v0.10.12): Extracting archive
  - Installing wikimedia/base-convert (v2.0.2): Extracting archive
  - Installing wikimedia/wikipeg (6.0.0): Extracting archive
  0/78 [>---------------------------]   0%
 28/78 [==========>-----------------]  35%
 45/78 [================>-----------]  57%
 63/78 [======================>-----]  80%
 78/78 [============================] 100%
Generating autoload files
49 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 ---
$ /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
49 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
> phpunit
Script phpunit handling the test event returned with error code 2
--- stdout ---
PHP 8.4.11 | 10 parallel jobs
............................................................ 60/85 ( 70%)
.........................                                    85/85 (100%)


Checked 85 files in 0.3 seconds
No syntax error found
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.

ESSSSSSSSSSSSS............E.EE.E.......E..ESSSSSSSSSSSSSSSSSSSS  63 / 249 ( 25%)
SS............................................................. 126 / 249 ( 50%)
............................................................... 189 / 249 ( 75%)
........................................................

Time: 00:02.244, Memory: 12.00 MB

There were 7 errors:

1) Shellbox\Tests\ClientTest::testSimpleCall
GuzzleHttp\Exception\ServerException: Server error: `GET http://localhost:8033/sbtest.php/healthz` resulted in a `500 Internal Server Error` response in /src/repo/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
Stack trace:
#0 /src/repo/vendor/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create()
#1 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::{closure:{closure:{closure:GuzzleHttp\Middleware::httpErrors():60}:61}:67}()
#2 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler()
#3 /src/repo/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():156}()
#4 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Promise\TaskQueue->run()
#5 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#6 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#7 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#8 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /src/repo/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Promise\Promise->wait()
#10 /src/repo/tests/ClientServerTestCase.php(116): GuzzleHttp\Client->request()
#11 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(629): Shellbox\Tests\ClientServerTestCase::clientServerSetUpBeforeClass()
#12 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
#13 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
#14 /src/repo/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
#15 /src/repo/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
#16 /src/repo/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
#17 /src/repo/vendor/phpunit/phpunit/phpunit(107): PHPUnit\TextUI\Command::main()
#18 /src/repo/vendor/bin/phpunit(122): include('...')
#19 {main}
2) Shellbox\Tests\Command\LocalBoxedExecutorTest::testInputFileFromUrlWithHeaders
TypeError: Monolog\Handler\TestHandler::hasRecordThatContains(): Argument #2 ($level) must be of type Monolog\Level, int given, called in /src/repo/tests/Command/BoxedExecutorTestTrait.php on line 148

/src/repo/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php:138
/src/repo/tests/Command/BoxedExecutorTestTrait.php:148

3) Shellbox\Tests\Command\LocalBoxedExecutorTest::testOutputFileToUrl
TypeError: Monolog\Handler\TestHandler::hasRecordThatContains(): Argument #2 ($level) must be of type Monolog\Level, int given, called in /src/repo/tests/Command/BoxedExecutorTestTrait.php on line 175

/src/repo/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php:138
/src/repo/tests/Command/BoxedExecutorTestTrait.php:175

4) Shellbox\Tests\Command\LocalBoxedExecutorTest::testOutputFileToUrlWithHeaders
TypeError: Monolog\Handler\TestHandler::hasRecordThatContains(): Argument #2 ($level) must be of type Monolog\Level, int given, called in /src/repo/tests/Command/BoxedExecutorTestTrait.php on line 194

/src/repo/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php:138
/src/repo/tests/Command/BoxedExecutorTestTrait.php:194

5) Shellbox\Tests\Command\LocalBoxedExecutorTest::testOutputGlobToUrl
TypeError: Monolog\Handler\TestHandler::hasRecordThatContains(): Argument #2 ($level) must be of type Monolog\Level, int given, called in /src/repo/tests/Command/BoxedExecutorTestTrait.php on line 222

/src/repo/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php:138
/src/repo/tests/Command/BoxedExecutorTestTrait.php:222

6) Shellbox\Tests\Command\LocalBoxedExecutorTest::testLogStderr
TypeError: Monolog\Handler\TestHandler::hasRecordThatContains(): Argument #2 ($level) must be of type Monolog\Level, int given, called in /src/repo/tests/Command/BoxedExecutorTestTrait.php on line 326

/src/repo/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php:138
/src/repo/tests/Command/BoxedExecutorTestTrait.php:326

7) Shellbox\Tests\Command\RemoteBoxedExecutorTest::testExecuteEcho
GuzzleHttp\Exception\ServerException: Server error: `GET http://localhost:8033/sbtest.php/healthz` resulted in a `500 Internal Server Error` response in /src/repo/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
Stack trace:
#0 /src/repo/vendor/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create()
#1 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::{closure:{closure:{closure:GuzzleHttp\Middleware::httpErrors():60}:61}:67}()
#2 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler()
#3 /src/repo/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::{closure:GuzzleHttp\Promise\Promise::settle():156}()
#4 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Promise\TaskQueue->run()
#5 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#6 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#7 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#8 /src/repo/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#9 /src/repo/vendor/guzzlehttp/guzzle/src/Client.php(189): GuzzleHttp\Promise\Promise->wait()
#10 /src/repo/tests/ClientServerTestCase.php(116): GuzzleHttp\Client->request()
#11 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(629): Shellbox\Tests\ClientServerTestCase::clientServerSetUpBeforeClass()
#12 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
#13 /src/repo/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
#14 /src/repo/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
#15 /src/repo/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
#16 /src/repo/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
#17 /src/repo/vendor/phpunit/phpunit/phpunit(107): PHPUnit\TextUI\Command::main()
#18 /src/repo/vendor/bin/phpunit(122): include('...')
#19 {main}
ERRORS!
Tests: 249, Assertions: 244, Errors: 7, Skipped: 35.

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 2030, in main
    libup.run(args.repo, args.output, args.branch)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1967, in run
    self.composer_upgrade(plan)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1030, in composer_upgrade
    self.composer_test()
    ~~~~~~~~~~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 340, in composer_test
    self.check_call(["composer", "test"])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 63, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/composer', 'test']' returned non-zero exit status 2.
Source code is licensed under the AGPL.