Page MenuHomePhabricator

MediaWikiTestCaseTrait::createHookContainer failing mediawiki-quibble-composer-mysql-php72-docker
Closed, ResolvedPublicBUG REPORT

Description

MediaWikiTestCaseTrait::createHookContainer doesn't work in the mediawiki-quibble-composer-mysql-php72-docker test, which is blocking the merge of https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/581225/ ("Hooks::run() call site migration")

See https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/600091/ for a demonstration of the failure

1) MediaWiki\Tests\Rest\Handler\CreationHandlerTest::testHookContainer
Error: Class 'Pimple\Psr11\ServiceLocator' not found

/workspace/src/tests/phpunit/MediaWikiTestCaseTrait.php:73
/workspace/src/tests/phpunit/integration/includes/Rest/Handler/CreationHandlerTest.php:518
/workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:437
/workspace/src/tests/phpunit/phpunit.php:75
/workspace/src/maintenance/doMaintenance.php:105
/workspace/src/tests/phpunit/phpunit.php:134

Does Pimple need to be added to core's composer.json?

Event Timeline

DannyS712 moved this task from Unsorted to Reports on the User-DannyS712 board.

Does Pimple need to be added to core's composer.json?

If pimple is being used in MW core, then yes, it needs adding to core's composer.json, in require or require-dev (if only used in tests etc) as appropriate. As otherwise, it'll only pass if Flow happens to be loaded into the test environment as a dependancy

It is is already in mediawiki-vendor, so the MW core jobs that use the mediawiki/vendor repo will pass fine

You can clearly see in https://integration.wikimedia.org/ci/job/mediawiki-quibble-composer-mysql-php72-docker/13324/console pimple/pimple is not being installed when everything else is

02:35:26 [241.4MiB/5.72s] Installs: wikimedia/composer-merge-plugin:v1.4.1, cssjanus/cssjanus:v1.3.0, ralouphie/getallheaders:3.0.3, psr/http-message:1.0.1, guzzlehttp/psr7:1.6.1, guzzlehttp/promises:v1.3.1, symfony/polyfill-php72:v1.17.0, symfony/polyfill-intl-idn:v1.17.0, guzzlehttp/guzzle:6.5.3, oojs/oojs-ui:v0.39.0, pear/pear_exception:v1.0.1, pear/console_getopt:v1.4.3, pear/pear-core-minimal:v1.10.10, pear/mail:v1.4.1, pear/mail_mime:1.10.7, pear/net_socket:v1.2.2, pear/net_smtp:1.9.0, wikimedia/base-convert:v2.0.1, wikimedia/cdb:1.4.1, wikimedia/cldr-plural-rule-parser:v1.0.0, wikimedia/html-formatter:1.0.2, wikimedia/at-ease:v2.0.0, wikimedia/ip-set:2.1.0, wikimedia/less.php:v3.0.0, psr/container:1.0.0, wikimedia/object-factory:v2.1.0, pleonasm/bloom-filter:1.0.2, wikimedia/password-blacklist:v0.1.4, psr/log:1.1.3, wikimedia/php-session-serializer:v1.0.7, wikimedia/purtle:v1.0.7, wikimedia/relpath:2.1.1, wikimedia/running-stat:v1.2.1, wikimedia/utfnormal:v2.0.0, wikimedia/wait-condition-loop:v1.0.1, wikimedia/wrappedstring:v3.2.0, wikimedia/timestamp:v3.0.0, wikimedia/scoped-callback:v3.0.0, wikimedia/xmp-reader:0.7.0, zordius/lightncandy:v1.2.5, doctrine/event-manager:1.1.0, doctrine/cache:1.10.1, doctrine/dbal:2.10.2, doctrine/sql-formatter:1.0.0, giorgiosironi/eris:0.10.0, jakub-onderka/php-console-color:v0.2, jakub-onderka/php-console-highlighter:v0.4, jakub-onderka/php-parallel-lint:v0.9.2, squizlabs/php_codesniffer:3.5.3, composer/spdx-licenses:1.5.2, composer/semver:1.5.1, mediawiki/mediawiki-codesniffer:v30.0.0, symfony/service-contracts:v2.1.2, symfony/polyfill-php73:v1.17.0, symfony/console:v5.0.8, sabre/event:5.1.0, netresearch/jsonmapper:v2.1.0, microsoft/tolerant-php-parser:v0.0.20, phpdocumentor/reflection-common:2.1.0, webmozart/assert:1.8.0, phpdocumentor/type-resolver:1.1.0, phpdocumentor/reflection-docblock:5.1.0, felixfbecker/advanced-json-rpc:v3.1.1, composer/xdebug-handler:1.4.1, phan/phan:2.6.1, mediawiki/phan-taint-check-plugin:3.0.2, mediawiki/mediawiki-phan-config:0.10.2, nmred/kafka-php:v0.1.5, dnoegel/php-xdg-base-dir:v0.1.1, nikic/php-parser:v4.4.0, symfony/var-dumper:v5.0.8, psy/psysh:v0.10.4, seld/jsonlint:1.7.1, wikimedia/avro:v1.9.0, wikimedia/testing-access-wrapper:1.0.0, wikimedia/zest-css:1.1.3, wikimedia/wikipeg:2.0.4, wikimedia/remex-html:2.2.0, wikimedia/assert:v0.5.0, wikimedia/langconv:0.3.5, wikimedia/ip-utils:1.0.0, liuggio/statsd-php-client:v1.0.18, wikimedia/parsoid:v0.12.0-a14, sebastian/version:2.0.1, sebastian/type:1.1.3, sebastian/resource-operations:2.0.1, sebastian/recursion-context:3.0.0, sebastian/object-reflector:1.1.1, sebastian/object-enumerator:3.0.3, sebastian/global-state:3.0.0, sebastian/exporter:3.1.2, sebastian/environment:4.2.3, sebastian/diff:3.0.2, sebastian/comparator:3.0.2, phpunit/php-timer:2.1.2, phpunit/php-text-template:1.2.1, phpunit/php-file-iterator:2.0.2, theseer/tokenizer:1.1.3, sebastian/code-unit-reverse-lookup:1.0.1, phpunit/php-token-stream:3.1.1, phpunit/php-code-coverage:7.0.10, doctrine/instantiator:1.3.0, phpspec/prophecy:v1.10.3, phar-io/version:2.0.1, phar-io/manifest:1.0.3, myclabs/deep-copy:1.9.5, phpunit/phpunit:8.5.5, johnkary/phpunit-speedtrap:v3.2.0, justinrainbow/json-schema:5.2.10, monolog/monolog:1.25.4, symfony/yaml:v5.0.8, hamcrest/hamcrest-php:v2.0.0, wmde/hamcrest-html-matchers:v0.1.1

Change 600113 had a related patch set uploaded (by Reedy; owner: Reedy):
[mediawiki/core@master] Add dev-only dependancy on pimple/pimple

https://gerrit.wikimedia.org/r/600113

And now

03:52:47 [241.3MiB/5.01s] Installs: wikimedia/composer-merge-plugin:v1.4.1, cssjanus/cssjanus:v1.3.0, ralouphie/getallheaders:3.0.3, psr/http-message:1.0.1, guzzlehttp/psr7:1.6.1, guzzlehttp/promises:v1.3.1, symfony/polyfill-php72:v1.17.0, symfony/polyfill-intl-idn:v1.17.0, guzzlehttp/guzzle:6.5.3, oojs/oojs-ui:v0.39.0, pear/pear_exception:v1.0.1, pear/console_getopt:v1.4.3, pear/pear-core-minimal:v1.10.10, pear/mail:v1.4.1, pear/mail_mime:1.10.7, pear/net_socket:v1.2.2, pear/net_smtp:1.9.0, wikimedia/base-convert:v2.0.1, wikimedia/cdb:1.4.1, wikimedia/cldr-plural-rule-parser:v1.0.0, wikimedia/html-formatter:1.0.2, wikimedia/at-ease:v2.0.0, wikimedia/ip-set:2.1.0, wikimedia/less.php:v3.0.0, psr/container:1.0.0, wikimedia/object-factory:v2.1.0, pleonasm/bloom-filter:1.0.2, wikimedia/password-blacklist:v0.1.4, psr/log:1.1.3, wikimedia/php-session-serializer:v1.0.7, wikimedia/purtle:v1.0.7, wikimedia/relpath:2.1.1, wikimedia/running-stat:v1.2.1, wikimedia/utfnormal:v2.0.0, wikimedia/wait-condition-loop:v1.0.1, wikimedia/wrappedstring:v3.2.0, wikimedia/timestamp:v3.0.0, wikimedia/scoped-callback:v3.0.0, wikimedia/xmp-reader:0.7.0, zordius/lightncandy:v1.2.5, doctrine/event-manager:1.1.0, doctrine/cache:1.10.1, doctrine/dbal:2.10.2, doctrine/sql-formatter:1.0.0, giorgiosironi/eris:0.10.0, jakub-onderka/php-console-color:v0.2, jakub-onderka/php-console-highlighter:v0.4, jakub-onderka/php-parallel-lint:v0.9.2, squizlabs/php_codesniffer:3.5.3, composer/spdx-licenses:1.5.2, composer/semver:1.5.1, mediawiki/mediawiki-codesniffer:v30.0.0, symfony/service-contracts:v2.1.2, symfony/polyfill-php73:v1.17.0, symfony/console:v5.0.8, sabre/event:5.1.0, netresearch/jsonmapper:v2.1.0, microsoft/tolerant-php-parser:v0.0.20, phpdocumentor/reflection-common:2.1.0, webmozart/assert:1.8.0, phpdocumentor/type-resolver:1.1.0, phpdocumentor/reflection-docblock:5.1.0, felixfbecker/advanced-json-rpc:v3.1.1, composer/xdebug-handler:1.4.1, phan/phan:2.6.1, mediawiki/phan-taint-check-plugin:3.0.2, mediawiki/mediawiki-phan-config:0.10.2, nmred/kafka-php:v0.1.5, pimple/pimple:v3.3.0, dnoegel/php-xdg-base-dir:v0.1.1, nikic/php-parser:v4.4.0, symfony/var-dumper:v5.0.8, psy/psysh:v0.10.4, seld/jsonlint:1.7.1, wikimedia/avro:v1.9.0, wikimedia/testing-access-wrapper:1.0.0, wikimedia/zest-css:1.1.3, wikimedia/wikipeg:2.0.4, wikimedia/remex-html:2.2.0, wikimedia/assert:v0.5.0, wikimedia/langconv:0.3.5, wikimedia/ip-utils:1.0.0, liuggio/statsd-php-client:v1.0.18, wikimedia/parsoid:v0.12.0-a14, sebastian/version:2.0.1, sebastian/type:1.1.3, sebastian/resource-operations:2.0.1, sebastian/recursion-context:3.0.0, sebastian/object-reflector:1.1.1, sebastian/object-enumerator:3.0.3, sebastian/global-state:3.0.0, sebastian/exporter:3.1.2, sebastian/environment:4.2.3, sebastian/diff:3.0.2, sebastian/comparator:3.0.2, phpunit/php-timer:2.1.2, phpunit/php-text-template:1.2.1, phpunit/php-file-iterator:2.0.2, theseer/tokenizer:1.1.3, sebastian/code-unit-reverse-lookup:1.0.1, phpunit/php-token-stream:3.1.1, phpunit/php-code-coverage:7.0.10, doctrine/instantiator:1.3.0, phpspec/prophecy:v1.10.3, phar-io/version:2.0.1, phar-io/manifest:1.0.3, myclabs/deep-copy:1.9.5, phpunit/phpunit:8.5.5, johnkary/phpunit-speedtrap:v3.2.0, justinrainbow/json-schema:5.2.10, monolog/monolog:1.25.4, symfony/yaml:v5.0.8, hamcrest/hamcrest-php:v2.0.0, wmde/hamcrest-html-matchers:v0.1.1

It shouldn't fail from a lack of pimple/pimple, but of course could fail for other reasons (though that would be odd when the mediawiki-vendor job works fine)

Change 600113 merged by jenkins-bot:
[mediawiki/core@master] Add dev-only dependancy on pimple/pimple

https://gerrit.wikimedia.org/r/600113

Reedy claimed this task.