Page MenuHomePhabricator
Paste P83712

https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php81/42139/consoleFull
ArchivedPublic

Authored by zeljkofilipin on Oct 9 2025, 9:31 AM.
Started by user unknown or anonymous
Running as SYSTEM
Building remotely on integration-agent-docker-1063 (Docker) in workspace /srv/jenkins/workspace/quibble-vendor-mysql-php81
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins6312612305551522323.sh
+ set +x
+ exec docker run --entrypoint=/usr/bin/install --user=root --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81:/workspace --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/bookworm:latest --directory --owner=nobody --group=nogroup /workspace/cache
++ set +x
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins13494633791153748901.sh
+ set +x
+ exec docker run --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81/cache:/cache --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/releng/castor:0.4.0 load
++ set +x
Defined: CASTOR_NAMESPACE="castor-mw-ext-and-skins/master/quibble-vendor-mysql-php81"
Syncing...
Done
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins10956420815833201598.sh
+ set -eux
+ mkdir -m 2777 -p log
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins6261537368418936413.sh
+ set +x
+ exec docker run --entrypoint=/usr/bin/find --user=nobody --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81:/workspace --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/bookworm:latest /workspace/log -mindepth 1 -delete
++ set +x
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins3348190153687568607.sh
+ set -eux
+ mkdir -m 2777 -p src
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins15455126070609075977.sh
+ set +x
+ exec docker run --entrypoint=/usr/bin/find --user=nobody --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81:/workspace --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/bookworm:latest /workspace/src -mindepth 1 -delete
++ set +x
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins17212969786711706445.sh
+ set +x
+ exec docker run --entrypoint=/usr/bin/install --user=root --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81:/workspace --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/bookworm:latest --directory --owner=nobody --group=nogroup /workspace/cache
++ set +x
[quibble-vendor-mysql-php81] $ /bin/bash -eu /tmp/jenkins16103775142221882941.sh
+ chmod 2777 src
+ mkdir -m 2777 -p log
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins7289859894968314433.sh
+ set +x
+ exec docker run --entrypoint=quibble-with-supervisord --tmpfs /workspace/db:size=320M --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81/src:/workspace/src --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81/cache:/cache --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81/log:/workspace/log --volume /srv/git:/srv/git:ro --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.2-s2 --reporting-url=https://earlywarningbot.toolforge.org --packages-source vendor --db mysql --db-dir /workspace/db --git-parallel=8 --memcached-server=integration-castor05.integration.eqiad1.wikimedia.cloud:11211 --success-cache-key-data=quibble-vendor-mysql-php81 --success-cache-key-data=docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.2-s2 --skip selenium,npm-test,phpunit-standalone,api-testing
++ set +x
+ /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
/usr/lib/python3/dist-packages/supervisor/options.py:13: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
import pkg_resources
2025-10-08 11:34:31,908 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2025-10-08 11:34:31,911 INFO RPC interface 'supervisor' initialized
2025-10-08 11:34:31,911 CRIT Server 'unix_http_server' running without any HTTP authentication checking
+ exec /usr/local/bin/quibble --web-backend=external --web-url=http://127.0.0.1:9413 --reporting-url=https://earlywarningbot.toolforge.org --packages-source vendor --db mysql --db-dir /workspace/db --git-parallel=8 --memcached-server=integration-castor05.integration.eqiad1.wikimedia.cloud:11211 --success-cache-key-data=quibble-vendor-mysql-php81 --success-cache-key-data=docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.2-s2 --skip selenium,npm-test,phpunit-standalone,api-testing
2025-10-08 11:34:31,913 INFO daemonizing the supervisord process
2025-10-08 11:34:31,915 CRIT could not write pidfile /var/run/supervisord.pid
DEBUG:quibble.cmd:ZUUL_PROJECT=mediawiki/extensions/AchievementBadges
INFO:quibble.cmd:Adding mediawiki/vendor
WARNING:quibble.cmd:SKIN_DEPENDENCIES env variable is deprecated. Instead pass projects as arguments.
WARNING:quibble.cmd:EXT_DEPENDENCIES env variable is deprecated. Instead pass projects as arguments.
INFO:quibble.cmd:Projects: mediawiki/core, mediawiki/extensions/AbuseFilter, mediawiki/extensions/AchievementBadges, mediawiki/extensions/AntiSpoof, mediawiki/extensions/BetaFeatures, mediawiki/extensions/CentralAuth, mediawiki/extensions/CheckUser, mediawiki/extensions/CirrusSearch, mediawiki/extensions/Cite, mediawiki/extensions/CodeEditor, mediawiki/extensions/CommunityConfiguration, mediawiki/extensions/CommunityConfigurationExample, mediawiki/extensions/ConfirmEdit, mediawiki/extensions/DiscussionTools, mediawiki/extensions/Echo, mediawiki/extensions/Elastica, mediawiki/extensions/EmailAuth, mediawiki/extensions/EventBus, mediawiki/extensions/EventLogging, mediawiki/extensions/EventStreamConfig, mediawiki/extensions/FlaggedRevs, mediawiki/extensions/Flow, mediawiki/extensions/Gadgets, mediawiki/extensions/GeoData, mediawiki/extensions/GlobalBlocking, mediawiki/extensions/GlobalPreferences, mediawiki/extensions/GrowthExperiments, mediawiki/extensions/GuidedTour, mediawiki/extensions/IPInfo, mediawiki/extensions/IPReputation, mediawiki/extensions/Linter, mediawiki/extensions/LoginNotify, mediawiki/extensions/MetricsPlatform, mediawiki/extensions/MobileApp, mediawiki/extensions/MobileFrontend, mediawiki/extensions/OATHAuth, mediawiki/extensions/PageImages, mediawiki/extensions/PageViewInfo, mediawiki/extensions/ParserFunctions, mediawiki/extensions/PdfHandler, mediawiki/extensions/Popups, mediawiki/extensions/Renameuser, mediawiki/extensions/Scribunto, mediawiki/extensions/SecurePoll, mediawiki/extensions/SiteMatrix, mediawiki/extensions/SyntaxHighlight_GeSHi, mediawiki/extensions/TemplateData, mediawiki/extensions/TextExtracts, mediawiki/extensions/Thanks, mediawiki/extensions/TimedMediaHandler, mediawiki/extensions/TorBlock, mediawiki/extensions/VisualEditor, mediawiki/extensions/WebAuthn, mediawiki/extensions/WikiEditor, mediawiki/extensions/WikimediaEvents, mediawiki/extensions/WikimediaMessages, mediawiki/extensions/cldr, mediawiki/skins/MinervaNeue, mediawiki/skins/Vector, mediawiki/vendor
INFO:zuul.CloneMapper:Workspace path set to: ./
INFO:zuul.CloneMapper:Mapping projects to workspace...
INFO:zuul.CloneMapper: mediawiki/extensions/AchievementBadges -> extensions/AchievementBadges
INFO:zuul.CloneMapper:Expansion completed.
DEBUG:quibble.cmd:Running stages: phpunit-unit, phpbench, phpunit, composer-test, qunit, phpunit-parallel
DEBUG:quibble.cmd:QUIBBLE_PHPUNIT_PARALLEL: 1
DEBUG:quibble.cmd:Project dir: /workspace/src/extensions/AchievementBadges
DEBUG:quibble.cmd:Reporting URL: https://earlywarningbot.toolforge.org
DEBUG:quibble.cmd:Execution plan:
DEBUG:quibble.cmd:Versions
DEBUG:quibble.cmd:Ensure dir: '/workspace/log'
DEBUG:quibble.cmd:Zuul clone {"cache_dir": "/srv/git", "projects": ["mediawiki/core", "mediawiki/extensions/AbuseFilter", "mediawiki/extensions/AchievementBadges", "mediawiki/extensions/AntiSpoof", "mediawiki/extensions/BetaFeatures", "mediawiki/extensions/CentralAuth", "mediawiki/extensions/CheckUser", "mediawiki/extensions/CirrusSearch", "mediawiki/extensions/Cite", "mediawiki/extensions/CodeEditor", "mediawiki/extensions/CommunityConfiguration", "mediawiki/extensions/CommunityConfigurationExample", "mediawiki/extensions/ConfirmEdit", "mediawiki/extensions/DiscussionTools", "mediawiki/extensions/Echo", "mediawiki/extensions/Elastica", "mediawiki/extensions/EmailAuth", "mediawiki/extensions/EventBus", "mediawiki/extensions/EventLogging", "mediawiki/extensions/EventStreamConfig", "mediawiki/extensions/FlaggedRevs", "mediawiki/extensions/Flow", "mediawiki/extensions/Gadgets", "mediawiki/extensions/GeoData", "mediawiki/extensions/GlobalBlocking", "mediawiki/extensions/GlobalPreferences", "mediawiki/extensions/GrowthExperiments", "mediawiki/extensions/GuidedTour", "mediawiki/extensions/IPInfo", "mediawiki/extensions/IPReputation", "mediawiki/extensions/Linter", "mediawiki/extensions/LoginNotify", "mediawiki/extensions/MetricsPlatform", "mediawiki/extensions/MobileApp", "mediawiki/extensions/MobileFrontend", "mediawiki/extensions/OATHAuth", "mediawiki/extensions/PageImages", "mediawiki/extensions/PageViewInfo", "mediawiki/extensions/ParserFunctions", "mediawiki/extensions/PdfHandler", "mediawiki/extensions/Popups", "mediawiki/extensions/Renameuser", "mediawiki/extensions/Scribunto", "mediawiki/extensions/SecurePoll", "mediawiki/extensions/SiteMatrix", "mediawiki/extensions/SyntaxHighlight_GeSHi", "mediawiki/extensions/TemplateData", "mediawiki/extensions/TextExtracts", "mediawiki/extensions/Thanks", "mediawiki/extensions/TimedMediaHandler", "mediawiki/extensions/TorBlock", "mediawiki/extensions/VisualEditor", "mediawiki/extensions/WebAuthn", "mediawiki/extensions/WikiEditor", "mediawiki/extensions/WikimediaEvents", "mediawiki/extensions/WikimediaMessages", "mediawiki/extensions/cldr", "mediawiki/skins/MinervaNeue", "mediawiki/skins/Vector", "mediawiki/vendor"], "workers": 8, "workspace": "/workspace/src", "zuul_branch": "master", "zuul_project": "mediawiki/extensions/AchievementBadges", "zuul_ref": "refs/zuul/master/Z69904cea7bf24a4bb0aa69fa8aeb1326", "zuul_url": "git://contint1002.wikimedia.org"}
DEBUG:quibble.cmd:Submodule update: /workspace/src
DEBUG:quibble.cmd:Check success cache
DEBUG:quibble.cmd:Run npm and composer tests, if present in parallel (concurrency=1):
* composer test in /workspace/src/extensions/AchievementBadges
DEBUG:quibble.cmd:Revert to git clean -xqdf in /workspace/src/extensions/AchievementBadges
DEBUG:quibble.cmd:Install composer dev-requires for vendor.git
DEBUG:quibble.cmd:Start backends: <MySQL (no socket)>
DEBUG:quibble.cmd:Run Post-dependency install, pre-database dependent steps in parallel (concurrency=2):
* Install MediaWiki, db=<MySQL (no socket)>
* npm install in /workspace/src
DEBUG:quibble.cmd:PHPUnit unit tests
DEBUG:quibble.cmd:PHPUnit Prepare Parallel Run (Composer)
DEBUG:quibble.cmd:PHPUnit extensions suite (without database or standalone) parallel run (Composer)
DEBUG:quibble.cmd:Run phpbench
DEBUG:quibble.cmd:Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>
DEBUG:quibble.cmd:Run QUnit tests
DEBUG:quibble.cmd:PHPUnit extensions suite (with database) parallel run (Composer)
DEBUG:quibble.cmd:PHPUnit Parallel Notice
DEBUG:quibble.cmd:Save success cache
INFO:quibble.commands:>>> Start: Versions
INFO:quibble.commands:Python version: 3.9.2 (default, Mar 20 2025, 02:07:39)
[GCC 10.2.1 20210110]
INFO:quibble.commands:chromedriver --version: ChromeDriver 120.0.6099.224 (3587067cafd6f5b1e567380acb485d96e623ef39-refs/branch-heads/6099@{#1761})
INFO:quibble.commands:chromium --version: Chromium 120.0.6099.224 built on Debian 11.8, running on Debian 11.11
INFO:quibble.commands:composer --version: Composer version 2.8.1 2024-10-04 11:31:01
INFO:quibble.commands:PHP version 8.1.33 (/usr/bin/php8.1)
INFO:quibble.commands:Run the "diagnose" command to get more detailed diagnostics output.
INFO:quibble.commands:mysql --version: mysql Ver 15.1 Distrib 10.5.29-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
INFO:quibble.commands:psql --version: psql (PostgreSQL) 13.22 (Debian 13.22-0+deb11u1)
INFO:quibble.commands:node --version: v20.19.5
INFO:quibble.commands:npm --version: 10.8.2
INFO:quibble.commands:php --version: PHP 8.1.33 (cli) (built: Jul 24 2025 21:07:29) (NTS)
INFO:quibble.commands:Copyright (c) The PHP Group
INFO:quibble.commands:Zend Engine v4.1.33, Copyright (c) Zend Technologies
INFO:quibble.commands: with Zend OPcache v8.1.33, Copyright (c), by Zend Technologies
INFO:quibble.commands:<<< Finish: Versions, in 0.469 s
INFO:quibble.commands:>>> Start: Ensure dir: '/workspace/log'
INFO:quibble.commands:<<< Finish: Ensure dir: '/workspace/log', in 0.000 s
INFO:quibble.commands:>>> Start: Zuul clone {"cache_dir": "/srv/git", "projects": ["mediawiki/core", "mediawiki/extensions/AbuseFilter", "mediawiki/extensions/AchievementBadges", "mediawiki/extensions/AntiSpoof", "mediawiki/extensions/BetaFeatures", "mediawiki/extensions/CentralAuth", "mediawiki/extensions/CheckUser", "mediawiki/extensions/CirrusSearch", "mediawiki/extensions/Cite", "mediawiki/extensions/CodeEditor", "mediawiki/extensions/CommunityConfiguration", "mediawiki/extensions/CommunityConfigurationExample", "mediawiki/extensions/ConfirmEdit", "mediawiki/extensions/DiscussionTools", "mediawiki/extensions/Echo", "mediawiki/extensions/Elastica", "mediawiki/extensions/EmailAuth", "mediawiki/extensions/EventBus", "mediawiki/extensions/EventLogging", "mediawiki/extensions/EventStreamConfig", "mediawiki/extensions/FlaggedRevs", "mediawiki/extensions/Flow", "mediawiki/extensions/Gadgets", "mediawiki/extensions/GeoData", "mediawiki/extensions/GlobalBlocking", "mediawiki/extensions/GlobalPreferences", "mediawiki/extensions/GrowthExperiments", "mediawiki/extensions/GuidedTour", "mediawiki/extensions/IPInfo", "mediawiki/extensions/IPReputation", "mediawiki/extensions/Linter", "mediawiki/extensions/LoginNotify", "mediawiki/extensions/MetricsPlatform", "mediawiki/extensions/MobileApp", "mediawiki/extensions/MobileFrontend", "mediawiki/extensions/OATHAuth", "mediawiki/extensions/PageImages", "mediawiki/extensions/PageViewInfo", "mediawiki/extensions/ParserFunctions", "mediawiki/extensions/PdfHandler", "mediawiki/extensions/Popups", "mediawiki/extensions/Renameuser", "mediawiki/extensions/Scribunto", "mediawiki/extensions/SecurePoll", "mediawiki/extensions/SiteMatrix", "mediawiki/extensions/SyntaxHighlight_GeSHi", "mediawiki/extensions/TemplateData", "mediawiki/extensions/TextExtracts", "mediawiki/extensions/Thanks", "mediawiki/extensions/TimedMediaHandler", "mediawiki/extensions/TorBlock", "mediawiki/extensions/VisualEditor", "mediawiki/extensions/WebAuthn", "mediawiki/extensions/WikiEditor", "mediawiki/extensions/WikimediaEvents", "mediawiki/extensions/WikimediaMessages", "mediawiki/extensions/cldr", "mediawiki/skins/MinervaNeue", "mediawiki/skins/Vector", "mediawiki/vendor"], "workers": 8, "workspace": "/workspace/src", "zuul_branch": "master", "zuul_project": "mediawiki/extensions/AchievementBadges", "zuul_ref": "refs/zuul/master/Z69904cea7bf24a4bb0aa69fa8aeb1326", "zuul_url": "git://contint1002.wikimedia.org"}
INFO:zuul.CloneMapper:Workspace path set to: /workspace/src
INFO:zuul.CloneMapper:Mapping projects to workspace...
INFO:zuul.CloneMapper: mediawiki/core -> /workspace/src
INFO:zuul.CloneMapper: mediawiki/extensions/AbuseFilter -> /workspace/src/extensions/AbuseFilter
INFO:zuul.CloneMapper: mediawiki/extensions/AchievementBadges -> /workspace/src/extensions/AchievementBadges
INFO:zuul.CloneMapper: mediawiki/extensions/AntiSpoof -> /workspace/src/extensions/AntiSpoof
INFO:zuul.CloneMapper: mediawiki/extensions/BetaFeatures -> /workspace/src/extensions/BetaFeatures
INFO:zuul.CloneMapper: mediawiki/extensions/CentralAuth -> /workspace/src/extensions/CentralAuth
INFO:zuul.CloneMapper: mediawiki/extensions/CheckUser -> /workspace/src/extensions/CheckUser
INFO:zuul.CloneMapper: mediawiki/extensions/CirrusSearch -> /workspace/src/extensions/CirrusSearch
INFO:zuul.CloneMapper: mediawiki/extensions/Cite -> /workspace/src/extensions/Cite
INFO:zuul.CloneMapper: mediawiki/extensions/CodeEditor -> /workspace/src/extensions/CodeEditor
INFO:zuul.CloneMapper: mediawiki/extensions/CommunityConfiguration -> /workspace/src/extensions/CommunityConfiguration
INFO:zuul.CloneMapper: mediawiki/extensions/CommunityConfigurationExample -> /workspace/src/extensions/CommunityConfigurationExample
INFO:zuul.CloneMapper: mediawiki/extensions/ConfirmEdit -> /workspace/src/extensions/ConfirmEdit
INFO:zuul.CloneMapper: mediawiki/extensions/DiscussionTools -> /workspace/src/extensions/DiscussionTools
INFO:zuul.CloneMapper: mediawiki/extensions/Echo -> /workspace/src/extensions/Echo
INFO:zuul.CloneMapper: mediawiki/extensions/Elastica -> /workspace/src/extensions/Elastica
INFO:zuul.CloneMapper: mediawiki/extensions/EmailAuth -> /workspace/src/extensions/EmailAuth
INFO:zuul.CloneMapper: mediawiki/extensions/EventBus -> /workspace/src/extensions/EventBus
INFO:zuul.CloneMapper: mediawiki/extensions/EventLogging -> /workspace/src/extensions/EventLogging
INFO:zuul.CloneMapper: mediawiki/extensions/EventStreamConfig -> /workspace/src/extensions/EventStreamConfig
INFO:zuul.CloneMapper: mediawiki/extensions/FlaggedRevs -> /workspace/src/extensions/FlaggedRevs
INFO:zuul.CloneMapper: mediawiki/extensions/Flow -> /workspace/src/extensions/Flow
INFO:zuul.CloneMapper: mediawiki/extensions/Gadgets -> /workspace/src/extensions/Gadgets
INFO:zuul.CloneMapper: mediawiki/extensions/GeoData -> /workspace/src/extensions/GeoData
INFO:zuul.CloneMapper: mediawiki/extensions/GlobalBlocking -> /workspace/src/extensions/GlobalBlocking
INFO:zuul.CloneMapper: mediawiki/extensions/GlobalPreferences -> /workspace/src/extensions/GlobalPreferences
INFO:zuul.CloneMapper: mediawiki/extensions/GrowthExperiments -> /workspace/src/extensions/GrowthExperiments
INFO:zuul.CloneMapper: mediawiki/extensions/GuidedTour -> /workspace/src/extensions/GuidedTour
INFO:zuul.CloneMapper: mediawiki/extensions/IPInfo -> /workspace/src/extensions/IPInfo
INFO:zuul.CloneMapper: mediawiki/extensions/IPReputation -> /workspace/src/extensions/IPReputation
INFO:zuul.CloneMapper: mediawiki/extensions/Linter -> /workspace/src/extensions/Linter
INFO:zuul.CloneMapper: mediawiki/extensions/LoginNotify -> /workspace/src/extensions/LoginNotify
INFO:zuul.CloneMapper: mediawiki/extensions/MetricsPlatform -> /workspace/src/extensions/MetricsPlatform
INFO:zuul.CloneMapper: mediawiki/extensions/MobileApp -> /workspace/src/extensions/MobileApp
INFO:zuul.CloneMapper: mediawiki/extensions/MobileFrontend -> /workspace/src/extensions/MobileFrontend
INFO:zuul.CloneMapper: mediawiki/extensions/OATHAuth -> /workspace/src/extensions/OATHAuth
INFO:zuul.CloneMapper: mediawiki/extensions/PageImages -> /workspace/src/extensions/PageImages
INFO:zuul.CloneMapper: mediawiki/extensions/PageViewInfo -> /workspace/src/extensions/PageViewInfo
INFO:zuul.CloneMapper: mediawiki/extensions/ParserFunctions -> /workspace/src/extensions/ParserFunctions
INFO:zuul.CloneMapper: mediawiki/extensions/PdfHandler -> /workspace/src/extensions/PdfHandler
INFO:zuul.CloneMapper: mediawiki/extensions/Popups -> /workspace/src/extensions/Popups
INFO:zuul.CloneMapper: mediawiki/extensions/Renameuser -> /workspace/src/extensions/Renameuser
INFO:zuul.CloneMapper: mediawiki/extensions/Scribunto -> /workspace/src/extensions/Scribunto
INFO:zuul.CloneMapper: mediawiki/extensions/SecurePoll -> /workspace/src/extensions/SecurePoll
INFO:zuul.CloneMapper: mediawiki/extensions/SiteMatrix -> /workspace/src/extensions/SiteMatrix
INFO:zuul.CloneMapper: mediawiki/extensions/SyntaxHighlight_GeSHi -> /workspace/src/extensions/SyntaxHighlight_GeSHi
INFO:zuul.CloneMapper: mediawiki/extensions/TemplateData -> /workspace/src/extensions/TemplateData
INFO:zuul.CloneMapper: mediawiki/extensions/TextExtracts -> /workspace/src/extensions/TextExtracts
INFO:zuul.CloneMapper: mediawiki/extensions/Thanks -> /workspace/src/extensions/Thanks
INFO:zuul.CloneMapper: mediawiki/extensions/TimedMediaHandler -> /workspace/src/extensions/TimedMediaHandler
INFO:zuul.CloneMapper: mediawiki/extensions/TorBlock -> /workspace/src/extensions/TorBlock
INFO:zuul.CloneMapper: mediawiki/extensions/VisualEditor -> /workspace/src/extensions/VisualEditor
INFO:zuul.CloneMapper: mediawiki/extensions/WebAuthn -> /workspace/src/extensions/WebAuthn
INFO:zuul.CloneMapper: mediawiki/extensions/WikiEditor -> /workspace/src/extensions/WikiEditor
INFO:zuul.CloneMapper: mediawiki/extensions/WikimediaEvents -> /workspace/src/extensions/WikimediaEvents
INFO:zuul.CloneMapper: mediawiki/extensions/WikimediaMessages -> /workspace/src/extensions/WikimediaMessages
INFO:zuul.CloneMapper: mediawiki/extensions/cldr -> /workspace/src/extensions/cldr
INFO:zuul.CloneMapper: mediawiki/skins/MinervaNeue -> /workspace/src/skins/MinervaNeue
INFO:zuul.CloneMapper: mediawiki/skins/Vector -> /workspace/src/skins/Vector
INFO:zuul.CloneMapper: mediawiki/vendor -> /workspace/src/vendor
INFO:zuul.CloneMapper:Expansion completed.
INFO:quibble.zuul.clone:Preparing 60 repositories with 8 workers
INFO:quibble.zuul.clone:Cloning mediawiki/core first
INFO:zuul.Cloner:Creating repo mediawiki/core from cache /srv/git/mediawiki/core.git
2025-10-08 11:34:32,918 INFO spawned: 'apache' with pid 58
2025-10-08 11:34:32,920 INFO spawned: 'memcached' with pid 59
2025-10-08 11:34:32,923 INFO spawned: 'php-fpm' with pid 60
2025-10-08 11:34:32,962 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2025-10-08 11:34:33,980 INFO success: apache entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-10-08 11:34:33,980 INFO success: memcached entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
INFO:zuul.Cloner:Updating origin remote in repo mediawiki/core to https://gerrit.wikimedia.org/r/mediawiki/core
INFO:zuul.Cloner:upstream repo has branch master
INFO:zuul.Cloner:Falling back to branch master
INFO:zuul.Cloner:Prepared mediawiki/core repo with branch master at commit e50642231cfb80c5ec90b78c992eab405701353a
INFO:zuul.Cloner.mediawiki/extensions/AntiSpoof:Creating repo mediawiki/extensions/AntiSpoof from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/AntiSpoof
INFO:zuul.Cloner.mediawiki/extensions/AbuseFilter:Creating repo mediawiki/extensions/AbuseFilter from cache /srv/git/mediawiki/extensions/AbuseFilter.git
INFO:zuul.Cloner.mediawiki/extensions/AchievementBadges:Creating repo mediawiki/extensions/AchievementBadges from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/AchievementBadges
INFO:zuul.Cloner.mediawiki/extensions/BetaFeatures:Creating repo mediawiki/extensions/BetaFeatures from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/BetaFeatures
INFO:zuul.Cloner.mediawiki/extensions/CentralAuth:Creating repo mediawiki/extensions/CentralAuth from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralAuth
INFO:zuul.Cloner.mediawiki/extensions/CheckUser:Creating repo mediawiki/extensions/CheckUser from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser
INFO:zuul.Cloner.mediawiki/extensions/CirrusSearch:Creating repo mediawiki/extensions/CirrusSearch from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch
INFO:zuul.Cloner.mediawiki/extensions/Cite:Creating repo mediawiki/extensions/Cite from cache /srv/git/mediawiki/extensions/Cite.git
INFO:zuul.Cloner.mediawiki/extensions/AbuseFilter:Updating origin remote in repo mediawiki/extensions/AbuseFilter to https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter
INFO:zuul.Cloner.mediawiki/extensions/Cite:Updating origin remote in repo mediawiki/extensions/Cite to https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
INFO:zuul.Cloner.mediawiki/extensions/AchievementBadges:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/AbuseFilter:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Cite:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/AchievementBadges:Prepared mediawiki/extensions/AchievementBadges repo with commit 6c8624c6198a99c2beca6d321809af2ea4d1d403
INFO:zuul.Cloner.mediawiki/extensions/CodeEditor:Creating repo mediawiki/extensions/CodeEditor from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor
INFO:zuul.Cloner.mediawiki/extensions/BetaFeatures:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/AbuseFilter:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/AntiSpoof:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Cite:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/AbuseFilter:Prepared mediawiki/extensions/AbuseFilter repo with branch master at commit 4d6b69882b475852897cb2cc6e020df915a7ee6f
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfiguration:Creating repo mediawiki/extensions/CommunityConfiguration from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CommunityConfiguration
INFO:zuul.Cloner.mediawiki/extensions/Cite:Prepared mediawiki/extensions/Cite repo with branch master at commit 60fcd57e327a7fc98b6706de086b5e760ac5abdc
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfigurationExample:Creating repo mediawiki/extensions/CommunityConfigurationExample from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/CommunityConfigurationExample
INFO:zuul.Cloner.mediawiki/extensions/BetaFeatures:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/AntiSpoof:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/BetaFeatures:Prepared mediawiki/extensions/BetaFeatures repo with branch master at commit 3cd025f752cc19c9bd9ad8b842b7ae2586f37cce
INFO:zuul.Cloner.mediawiki/extensions/ConfirmEdit:Creating repo mediawiki/extensions/ConfirmEdit from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit
INFO:zuul.Cloner.mediawiki/extensions/AntiSpoof:Prepared mediawiki/extensions/AntiSpoof repo with branch master at commit 4d95cfda2333a86541f820f35ebda1afdf02a93c
INFO:zuul.Cloner.mediawiki/extensions/DiscussionTools:Creating repo mediawiki/extensions/DiscussionTools from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfigurationExample:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfigurationExample:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfiguration:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfigurationExample:Prepared mediawiki/extensions/CommunityConfigurationExample repo with branch master at commit 8de33fea1b26a2b30a1f755e9ad97e17e5eb2d20
INFO:zuul.Cloner.mediawiki/extensions/Echo:Creating repo mediawiki/extensions/Echo from cache /srv/git/mediawiki/extensions/Echo.git
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfiguration:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CommunityConfiguration:Prepared mediawiki/extensions/CommunityConfiguration repo with branch master at commit ee32b47380eecd3f1f9991c520920e460645fa1b
INFO:zuul.Cloner.mediawiki/extensions/Elastica:Creating repo mediawiki/extensions/Elastica from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica
INFO:zuul.Cloner.mediawiki/extensions/Echo:Updating origin remote in repo mediawiki/extensions/Echo to https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
INFO:zuul.Cloner.mediawiki/extensions/Echo:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Echo:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Echo:Prepared mediawiki/extensions/Echo repo with branch master at commit f70fda660d5e40e4b380676e65dd0a629ea89773
INFO:zuul.Cloner.mediawiki/extensions/EmailAuth:Creating repo mediawiki/extensions/EmailAuth from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailAuth
INFO:zuul.Cloner.mediawiki/extensions/Elastica:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Elastica:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CodeEditor:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Elastica:Prepared mediawiki/extensions/Elastica repo with branch master at commit 20629c11496d6cb0fc9d4491d2c5152be29a2b70
INFO:zuul.Cloner.mediawiki/extensions/EventBus:Creating repo mediawiki/extensions/EventBus from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/EventBus
INFO:zuul.Cloner.mediawiki/extensions/CodeEditor:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CodeEditor:Prepared mediawiki/extensions/CodeEditor repo with branch master at commit f51d40ef11acd7bb21a76de964996cee7e4aa709
INFO:zuul.Cloner.mediawiki/extensions/EventLogging:Creating repo mediawiki/extensions/EventLogging from cache /srv/git/mediawiki/extensions/EventLogging.git
INFO:zuul.Cloner.mediawiki/extensions/EventLogging:Updating origin remote in repo mediawiki/extensions/EventLogging to https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging
INFO:zuul.Cloner.mediawiki/extensions/ConfirmEdit:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/ConfirmEdit:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/EventLogging:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/CheckUser:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/ConfirmEdit:Prepared mediawiki/extensions/ConfirmEdit repo with branch master at commit 3633d8c70c1759bd681ffb0496d37aa1d449dcbb
INFO:zuul.Cloner.mediawiki/extensions/EventStreamConfig:Creating repo mediawiki/extensions/EventStreamConfig from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/EventStreamConfig
INFO:zuul.Cloner.mediawiki/extensions/CheckUser:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/EventLogging:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CheckUser:Prepared mediawiki/extensions/CheckUser repo with branch master at commit 38282b86a90943f374bb2f714708e67a89d71471
INFO:zuul.Cloner.mediawiki/extensions/CirrusSearch:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/FlaggedRevs:Creating repo mediawiki/extensions/FlaggedRevs from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/FlaggedRevs
INFO:zuul.Cloner.mediawiki/extensions/EventLogging:Prepared mediawiki/extensions/EventLogging repo with branch master at commit b13ce46d96481b475b5aee4e429bcd8fbd9ad9d3
INFO:zuul.Cloner.mediawiki/extensions/Flow:Creating repo mediawiki/extensions/Flow from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Flow
INFO:zuul.Cloner.mediawiki/extensions/CirrusSearch:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CirrusSearch:Prepared mediawiki/extensions/CirrusSearch repo with branch master at commit b4012c75469ade39ed4fe5cde8a07230d247a830
INFO:zuul.Cloner.mediawiki/extensions/Gadgets:Creating repo mediawiki/extensions/Gadgets from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets
INFO:zuul.Cloner.mediawiki/extensions/EventBus:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/EmailAuth:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/EventStreamConfig:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/EmailAuth:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/EmailAuth:Prepared mediawiki/extensions/EmailAuth repo with branch master at commit a401d41c98a460842bf2aba482412d2eb1653840
INFO:zuul.Cloner.mediawiki/extensions/GeoData:Creating repo mediawiki/extensions/GeoData from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/GeoData
INFO:zuul.Cloner.mediawiki/extensions/EventBus:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/EventBus:Prepared mediawiki/extensions/EventBus repo with branch master at commit a407daba1217f4016a42717ed6e6da6c876bd685
INFO:zuul.Cloner.mediawiki/extensions/GlobalBlocking:Creating repo mediawiki/extensions/GlobalBlocking from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalBlocking
INFO:zuul.Cloner.mediawiki/extensions/EventStreamConfig:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/EventStreamConfig:Prepared mediawiki/extensions/EventStreamConfig repo with branch master at commit e12aab10bf13b325ad3a6b5c6479a498c9056920
INFO:zuul.Cloner.mediawiki/extensions/GlobalPreferences:Creating repo mediawiki/extensions/GlobalPreferences from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/GlobalPreferences
INFO:zuul.Cloner.mediawiki/extensions/GeoData:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/DiscussionTools:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/GeoData:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GeoData:Prepared mediawiki/extensions/GeoData repo with branch master at commit 53e8b35b3481ee946ac5355491ae4f522388236a
INFO:zuul.Cloner.mediawiki/extensions/GrowthExperiments:Creating repo mediawiki/extensions/GrowthExperiments from cache /srv/git/mediawiki/extensions/GrowthExperiments.git
INFO:zuul.Cloner.mediawiki/extensions/Gadgets:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/DiscussionTools:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GlobalPreferences:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/DiscussionTools:Prepared mediawiki/extensions/DiscussionTools repo with branch master at commit 6e260b7c50966a7a285ac0805b5d5fe652a03c7b
INFO:zuul.Cloner.mediawiki/extensions/GuidedTour:Creating repo mediawiki/extensions/GuidedTour from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/GuidedTour
INFO:zuul.Cloner.mediawiki/extensions/Gadgets:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GlobalPreferences:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Gadgets:Prepared mediawiki/extensions/Gadgets repo with branch master at commit ab0be6357d877e739c02322e58173830237c5fe4
INFO:zuul.Cloner.mediawiki/extensions/IPInfo:Creating repo mediawiki/extensions/IPInfo from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/IPInfo
INFO:zuul.Cloner.mediawiki/extensions/GlobalPreferences:Prepared mediawiki/extensions/GlobalPreferences repo with branch master at commit 1d665ea2bd6b47b368527d0a6f56ae4178486822
INFO:zuul.Cloner.mediawiki/extensions/IPReputation:Creating repo mediawiki/extensions/IPReputation from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/IPReputation
INFO:zuul.Cloner.mediawiki/extensions/GrowthExperiments:Updating origin remote in repo mediawiki/extensions/GrowthExperiments to https://gerrit.wikimedia.org/r/mediawiki/extensions/GrowthExperiments
INFO:zuul.Cloner.mediawiki/extensions/IPReputation:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/GuidedTour:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/IPReputation:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/IPReputation:Prepared mediawiki/extensions/IPReputation repo with branch master at commit b8a87de964e0765f8981231905f1d7543a9a7cd8
INFO:zuul.Cloner.mediawiki/extensions/Linter:Creating repo mediawiki/extensions/Linter from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Linter
INFO:zuul.Cloner.mediawiki/extensions/GuidedTour:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GuidedTour:Prepared mediawiki/extensions/GuidedTour repo with branch master at commit 3b55d3d8c58ebfe3b7a4c4d431985506b3c40398
INFO:zuul.Cloner.mediawiki/extensions/LoginNotify:Creating repo mediawiki/extensions/LoginNotify from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/LoginNotify
INFO:zuul.Cloner.mediawiki/extensions/IPInfo:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/IPInfo:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/IPInfo:Prepared mediawiki/extensions/IPInfo repo with branch master at commit b44362ae81017fa3f756129d0fb52249387a4c58
INFO:zuul.Cloner.mediawiki/extensions/MetricsPlatform:Creating repo mediawiki/extensions/MetricsPlatform from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/MetricsPlatform
INFO:zuul.Cloner.mediawiki/extensions/Flow:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Flow:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Flow:Prepared mediawiki/extensions/Flow repo with branch master at commit 9918e60e703868ba08a2575dd67d7406390ec305
INFO:zuul.Cloner.mediawiki/extensions/MobileApp:Creating repo mediawiki/extensions/MobileApp from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileApp
INFO:zuul.Cloner.mediawiki/extensions/GrowthExperiments:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/GrowthExperiments:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/LoginNotify:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/GrowthExperiments:Prepared mediawiki/extensions/GrowthExperiments repo with branch master at commit 4244562c157aeb894f6bf4b817ad04d7fc1778cf
INFO:zuul.Cloner.mediawiki/extensions/MobileFrontend:Creating repo mediawiki/extensions/MobileFrontend from cache /srv/git/mediawiki/extensions/MobileFrontend.git
INFO:zuul.Cloner.mediawiki/extensions/MetricsPlatform:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/LoginNotify:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/LoginNotify:Prepared mediawiki/extensions/LoginNotify repo with branch master at commit 57ff21e42da07f475a373b7c3a76084333f662a9
INFO:zuul.Cloner.mediawiki/extensions/OATHAuth:Creating repo mediawiki/extensions/OATHAuth from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth
INFO:zuul.Cloner.mediawiki/extensions/Linter:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/MetricsPlatform:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/MetricsPlatform:Prepared mediawiki/extensions/MetricsPlatform repo with branch master at commit 22a9e2efca65e2e9ef90a385256a67b88b789f65
INFO:zuul.Cloner.mediawiki/extensions/PageImages:Creating repo mediawiki/extensions/PageImages from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/PageImages
INFO:zuul.Cloner.mediawiki/extensions/Linter:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Linter:Prepared mediawiki/extensions/Linter repo with branch master at commit 76cc339eed753040de3b3a6d04cb316df658d172
INFO:zuul.Cloner.mediawiki/extensions/PageViewInfo:Creating repo mediawiki/extensions/PageViewInfo from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/PageViewInfo
INFO:zuul.Cloner.mediawiki/extensions/MobileFrontend:Updating origin remote in repo mediawiki/extensions/MobileFrontend to https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend
INFO:zuul.Cloner.mediawiki/extensions/MobileApp:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/MobileApp:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/MobileApp:Prepared mediawiki/extensions/MobileApp repo with branch master at commit 4e7c4d12fa21b78bd5e5fdf02a4baf83ae0bf9cd
INFO:zuul.Cloner.mediawiki/extensions/ParserFunctions:Creating repo mediawiki/extensions/ParserFunctions from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/ParserFunctions
INFO:zuul.Cloner.mediawiki/extensions/PageImages:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/PageViewInfo:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/PageImages:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/PageViewInfo:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/PageImages:Prepared mediawiki/extensions/PageImages repo with branch master at commit 9334ad71428ac67b58777989ff2b6d1c6094cef3
INFO:zuul.Cloner.mediawiki/extensions/PdfHandler:Creating repo mediawiki/extensions/PdfHandler from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/PdfHandler
INFO:zuul.Cloner.mediawiki/extensions/PageViewInfo:Prepared mediawiki/extensions/PageViewInfo repo with branch master at commit 7f493fee8379ad6bf6e2939958fb4654ed4c4c6b
INFO:zuul.Cloner.mediawiki/extensions/Popups:Creating repo mediawiki/extensions/Popups from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
INFO:zuul.Cloner.mediawiki/extensions/OATHAuth:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/MobileFrontend:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/OATHAuth:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GlobalBlocking:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/OATHAuth:Prepared mediawiki/extensions/OATHAuth repo with branch master at commit 9f1d2771ba336f54a1257c36566106f04a3f7107
INFO:zuul.Cloner.mediawiki/extensions/Renameuser:Creating repo mediawiki/extensions/Renameuser from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Renameuser
INFO:zuul.Cloner.mediawiki/extensions/MobileFrontend:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/MobileFrontend:Prepared mediawiki/extensions/MobileFrontend repo with branch master at commit 9fc491aab862233fcbda8c8c0839da6a7399e416
INFO:zuul.Cloner.mediawiki/extensions/Scribunto:Creating repo mediawiki/extensions/Scribunto from cache /srv/git/mediawiki/extensions/Scribunto.git
INFO:zuul.Cloner.mediawiki/extensions/GlobalBlocking:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/GlobalBlocking:Prepared mediawiki/extensions/GlobalBlocking repo with branch master at commit 035f90c5a1c4ca76d313648446f1e587439ae733
INFO:zuul.Cloner.mediawiki/extensions/SecurePoll:Creating repo mediawiki/extensions/SecurePoll from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/SecurePoll
INFO:zuul.Cloner.mediawiki/extensions/Scribunto:Updating origin remote in repo mediawiki/extensions/Scribunto to https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto
INFO:zuul.Cloner.mediawiki/extensions/ParserFunctions:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/PdfHandler:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/ParserFunctions:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/ParserFunctions:Prepared mediawiki/extensions/ParserFunctions repo with branch master at commit 185921a629bda0e04f31c43d255e1fb5a2cb0b73
INFO:zuul.Cloner.mediawiki/extensions/SiteMatrix:Creating repo mediawiki/extensions/SiteMatrix from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/SiteMatrix
INFO:zuul.Cloner.mediawiki/extensions/PdfHandler:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/PdfHandler:Prepared mediawiki/extensions/PdfHandler repo with branch master at commit f5f8cd803769f588dfe5bada8e2b365c51b80b8a
INFO:zuul.Cloner.mediawiki/extensions/SyntaxHighlight_GeSHi:Creating repo mediawiki/extensions/SyntaxHighlight_GeSHi from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi
INFO:zuul.Cloner.mediawiki/extensions/Scribunto:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Scribunto:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Scribunto:Prepared mediawiki/extensions/Scribunto repo with branch master at commit 9c2a3de2b1bff50ea40e083134a6f9fc75f0103d
INFO:zuul.Cloner.mediawiki/extensions/TemplateData:Creating repo mediawiki/extensions/TemplateData from cache /srv/git/mediawiki/extensions/TemplateData.git
INFO:zuul.Cloner.mediawiki/extensions/FlaggedRevs:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/FlaggedRevs:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/FlaggedRevs:Prepared mediawiki/extensions/FlaggedRevs repo with branch master at commit 91528ade4b042146a534c4bab60c0f9cab88c69a
INFO:zuul.Cloner.mediawiki/extensions/TextExtracts:Creating repo mediawiki/extensions/TextExtracts from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts
INFO:zuul.Cloner.mediawiki/extensions/TemplateData:Updating origin remote in repo mediawiki/extensions/TemplateData to https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData
INFO:zuul.Cloner.mediawiki/extensions/Renameuser:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Renameuser:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Renameuser:Prepared mediawiki/extensions/Renameuser repo with branch master at commit 049b5887666fd1b1e61ff85a98567b275d556811
INFO:zuul.Cloner.mediawiki/extensions/Thanks:Creating repo mediawiki/extensions/Thanks from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/Thanks
INFO:zuul.Cloner.mediawiki/extensions/SiteMatrix:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/SiteMatrix:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TemplateData:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/SiteMatrix:Prepared mediawiki/extensions/SiteMatrix repo with branch master at commit ef2efbf2bf3bdf2829cae97eaa6941c04bd505bf
INFO:zuul.Cloner.mediawiki/extensions/TimedMediaHandler:Creating repo mediawiki/extensions/TimedMediaHandler from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/TimedMediaHandler
INFO:zuul.Cloner.mediawiki/extensions/Popups:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/TextExtracts:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/TemplateData:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TemplateData:Prepared mediawiki/extensions/TemplateData repo with branch master at commit e30101dc8a0211e96e725622ab889f0801c50fd0
INFO:zuul.Cloner.mediawiki/extensions/TorBlock:Creating repo mediawiki/extensions/TorBlock from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/TorBlock
INFO:zuul.Cloner.mediawiki/extensions/Popups:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TextExtracts:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TextExtracts:Prepared mediawiki/extensions/TextExtracts repo with branch master at commit 706552e0484a2a20b1f72755cd3fbdeb0e4708fe
INFO:zuul.Cloner.mediawiki/extensions/VisualEditor:Creating repo mediawiki/extensions/VisualEditor from cache /srv/git/mediawiki/extensions/VisualEditor.git
INFO:zuul.Cloner.mediawiki/extensions/Popups:Prepared mediawiki/extensions/Popups repo with branch master at commit 1ef6e780164747b62eee796dabaed5c66c580136
INFO:zuul.Cloner.mediawiki/extensions/WebAuthn:Creating repo mediawiki/extensions/WebAuthn from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/WebAuthn
INFO:zuul.Cloner.mediawiki/extensions/SyntaxHighlight_GeSHi:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/SyntaxHighlight_GeSHi:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/SyntaxHighlight_GeSHi:Prepared mediawiki/extensions/SyntaxHighlight_GeSHi repo with branch master at commit 3708ded7a32671542aa251b9389723a38e225a88
INFO:zuul.Cloner.mediawiki/extensions/WikiEditor:Creating repo mediawiki/extensions/WikiEditor from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor
INFO:zuul.Cloner.mediawiki/extensions/TorBlock:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/VisualEditor:Updating origin remote in repo mediawiki/extensions/VisualEditor to https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
INFO:zuul.Cloner.mediawiki/extensions/WebAuthn:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/TorBlock:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TorBlock:Prepared mediawiki/extensions/TorBlock repo with branch master at commit 48686ad239a88a572ffd877fca1f992ddf31d18f
INFO:zuul.Cloner.mediawiki/extensions/WikimediaEvents:Creating repo mediawiki/extensions/WikimediaEvents from upstream https://gerrit.wikimedia.org/r/mediawiki/extensions/WikimediaEvents
INFO:zuul.Cloner.mediawiki/extensions/WebAuthn:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/WebAuthn:Prepared mediawiki/extensions/WebAuthn repo with branch master at commit 19576993702d9549957ab6e29d55be02e244e5e8
INFO:zuul.Cloner.mediawiki/extensions/WikimediaMessages:Creating repo mediawiki/extensions/WikimediaMessages from cache /srv/git/mediawiki/extensions/WikimediaMessages.git
INFO:zuul.Cloner.mediawiki/extensions/Thanks:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/Thanks:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/Thanks:Prepared mediawiki/extensions/Thanks repo with branch master at commit 24cc27d64281dfb5660fda936894cff8597fa5e2
INFO:zuul.Cloner.mediawiki/extensions/cldr:Creating repo mediawiki/extensions/cldr from cache /srv/git/mediawiki/extensions/cldr.git
INFO:zuul.Cloner.mediawiki/extensions/cldr:Updating origin remote in repo mediawiki/extensions/cldr to https://gerrit.wikimedia.org/r/mediawiki/extensions/cldr
INFO:zuul.Cloner.mediawiki/extensions/WikimediaMessages:Updating origin remote in repo mediawiki/extensions/WikimediaMessages to https://gerrit.wikimedia.org/r/mediawiki/extensions/WikimediaMessages
INFO:zuul.Cloner.mediawiki/extensions/WikimediaEvents:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/WikimediaEvents:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/cldr:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/WikimediaEvents:Prepared mediawiki/extensions/WikimediaEvents repo with branch master at commit 6339d191eecc6db5f640829d3ea4e0b8c6999fa7
INFO:zuul.Cloner.mediawiki/skins/MinervaNeue:Creating repo mediawiki/skins/MinervaNeue from cache /srv/git/mediawiki/skins/MinervaNeue.git
INFO:zuul.Cloner.mediawiki/extensions/VisualEditor:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/VisualEditor:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/cldr:Falling back to branch master
INFO:zuul.Cloner.mediawiki/skins/MinervaNeue:Updating origin remote in repo mediawiki/skins/MinervaNeue to https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
INFO:zuul.Cloner.mediawiki/extensions/cldr:Prepared mediawiki/extensions/cldr repo with branch master at commit 81186be60b93df2a2bd4222ffcca160629a72dfa
INFO:zuul.Cloner.mediawiki/skins/Vector:Creating repo mediawiki/skins/Vector from cache /srv/git/mediawiki/skins/Vector.git
INFO:zuul.Cloner.mediawiki/extensions/VisualEditor:Prepared mediawiki/extensions/VisualEditor repo with branch master at commit a7e0c02dd4a4b98722b9fc63e25e1680c81e8ce8
INFO:zuul.Cloner.mediawiki/vendor:Creating repo mediawiki/vendor from cache /srv/git/mediawiki/vendor.git
INFO:zuul.Cloner.mediawiki/skins/Vector:Updating origin remote in repo mediawiki/skins/Vector to https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
INFO:zuul.Cloner.mediawiki/extensions/SecurePoll:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/skins/MinervaNeue:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/SecurePoll:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/TimedMediaHandler:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/skins/MinervaNeue:Falling back to branch master
INFO:zuul.Cloner.mediawiki/skins/MinervaNeue:Prepared mediawiki/skins/MinervaNeue repo with branch master at commit bda7b428476a986a5ad743f53da96a7d5223e2ab
INFO:zuul.Cloner.mediawiki/extensions/TimedMediaHandler:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/SecurePoll:Prepared mediawiki/extensions/SecurePoll repo with branch master at commit 552b06173b5bd151329c392ce33dc8b028bedb44
INFO:zuul.Cloner.mediawiki/extensions/TimedMediaHandler:Prepared mediawiki/extensions/TimedMediaHandler repo with branch master at commit a619d5e6a7b17a0382d906872fca7ea136ed3044
INFO:zuul.Cloner.mediawiki/extensions/WikimediaMessages:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/skins/Vector:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/WikimediaMessages:Falling back to branch master
INFO:zuul.Cloner.mediawiki/skins/Vector:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/WikimediaMessages:Prepared mediawiki/extensions/WikimediaMessages repo with branch master at commit a1a15adedd267ae52cb86877e4ea0c122f2bf874
INFO:zuul.Cloner.mediawiki/skins/Vector:Prepared mediawiki/skins/Vector repo with branch master at commit 802b494b2ac89dd494d0fe3488ffc56402052a4e
INFO:zuul.Cloner.mediawiki/vendor:Updating origin remote in repo mediawiki/vendor to https://gerrit.wikimedia.org/r/mediawiki/vendor
INFO:zuul.Cloner.mediawiki/vendor:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/vendor:Falling back to branch master
INFO:zuul.Cloner.mediawiki/vendor:Prepared mediawiki/vendor repo with branch master at commit 4df02cbff5f8e8525e85d3bf6a4c69d9a120dd9a
INFO:zuul.Cloner.mediawiki/extensions/CentralAuth:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/CentralAuth:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/CentralAuth:Prepared mediawiki/extensions/CentralAuth repo with branch master at commit 4893191f46b1d18180ad5b8c4aaf6f0571b5d886
INFO:zuul.Cloner.mediawiki/extensions/WikiEditor:upstream repo has branch master
INFO:zuul.Cloner.mediawiki/extensions/WikiEditor:Falling back to branch master
INFO:zuul.Cloner.mediawiki/extensions/WikiEditor:Prepared mediawiki/extensions/WikiEditor repo with branch master at commit 0afa662cba9588c8d0efa7e557f6bd1b64dc0aea
INFO:quibble.zuul.clone:Prepared all repositories
INFO:quibble.commands:<<< Finish: Zuul clone {"cache_dir": "/srv/git", "projects": ["mediawiki/core", "mediawiki/extensions/AbuseFilter", "mediawiki/extensions/AchievementBadges", "mediawiki/extensions/AntiSpoof", "mediawiki/extensions/BetaFeatures", "mediawiki/extensions/CentralAuth", "mediawiki/extensions/CheckUser", "mediawiki/extensions/CirrusSearch", "mediawiki/extensions/Cite", "mediawiki/extensions/CodeEditor", "mediawiki/extensions/CommunityConfiguration", "mediawiki/extensions/CommunityConfigurationExample", "mediawiki/extensions/ConfirmEdit", "mediawiki/extensions/DiscussionTools", "mediawiki/extensions/Echo", "mediawiki/extensions/Elastica", "mediawiki/extensions/EmailAuth", "mediawiki/extensions/EventBus", "mediawiki/extensions/EventLogging", "mediawiki/extensions/EventStreamConfig", "mediawiki/extensions/FlaggedRevs", "mediawiki/extensions/Flow", "mediawiki/extensions/Gadgets", "mediawiki/extensions/GeoData", "mediawiki/extensions/GlobalBlocking", "mediawiki/extensions/GlobalPreferences", "mediawiki/extensions/GrowthExperiments", "mediawiki/extensions/GuidedTour", "mediawiki/extensions/IPInfo", "mediawiki/extensions/IPReputation", "mediawiki/extensions/Linter", "mediawiki/extensions/LoginNotify", "mediawiki/extensions/MetricsPlatform", "mediawiki/extensions/MobileApp", "mediawiki/extensions/MobileFrontend", "mediawiki/extensions/OATHAuth", "mediawiki/extensions/PageImages", "mediawiki/extensions/PageViewInfo", "mediawiki/extensions/ParserFunctions", "mediawiki/extensions/PdfHandler", "mediawiki/extensions/Popups", "mediawiki/extensions/Renameuser", "mediawiki/extensions/Scribunto", "mediawiki/extensions/SecurePoll", "mediawiki/extensions/SiteMatrix", "mediawiki/extensions/SyntaxHighlight_GeSHi", "mediawiki/extensions/TemplateData", "mediawiki/extensions/TextExtracts", "mediawiki/extensions/Thanks", "mediawiki/extensions/TimedMediaHandler", "mediawiki/extensions/TorBlock", "mediawiki/extensions/VisualEditor", "mediawiki/extensions/WebAuthn", "mediawiki/extensions/WikiEditor", "mediawiki/extensions/WikimediaEvents", "mediawiki/extensions/WikimediaMessages", "mediawiki/extensions/cldr", "mediawiki/skins/MinervaNeue", "mediawiki/skins/Vector", "mediawiki/vendor"], "workers": 8, "workspace": "/workspace/src", "zuul_branch": "master", "zuul_project": "mediawiki/extensions/AchievementBadges", "zuul_ref": "refs/zuul/master/Z69904cea7bf24a4bb0aa69fa8aeb1326", "zuul_url": "git://contint1002.wikimedia.org"}, in 29.110 s
INFO:quibble.commands:>>> Start: Submodule update: /workspace/src
INFO:quibble.commands:Updating git submodules of extensions and skins
Submodule 'lib/ve' (https://gerrit.wikimedia.org/r/VisualEditor/VisualEditor.git) registered for path 'lib/ve'
Cloning into '/workspace/src/extensions/VisualEditor/lib/ve'...
Submodule path 'lib/ve': checked out 'e6b5fa6824a50a11dde9fee586905522a3beec0d'
e6b5fa6824a50a11dde9fee586905522a3beec0d lib/ve (remotes/origin/wmf/1.45.0-wmf.21-8-ge6b5fa682)
INFO:quibble.commands:<<< Finish: Submodule update: /workspace/src, in 5.680 s
INFO:quibble.commands:>>> Start: Check success cache
INFO:quibble.commands:Checking success cache for all repos under /workspace/src and initial key data ['quibble-vendor-mysql-php81', 'docker-registry.wikimedia.org/releng/quibble-bullseye-php81:1.14.2-s2']
INFO:zuul.CloneMapper:Workspace path set to: /workspace/src
INFO:zuul.CloneMapper:Mapping projects to workspace...
INFO:zuul.CloneMapper: mediawiki/core -> /workspace/src
INFO:zuul.CloneMapper: mediawiki/extensions/AbuseFilter -> /workspace/src/extensions/AbuseFilter
INFO:zuul.CloneMapper: mediawiki/extensions/AchievementBadges -> /workspace/src/extensions/AchievementBadges
INFO:zuul.CloneMapper: mediawiki/extensions/AntiSpoof -> /workspace/src/extensions/AntiSpoof
INFO:zuul.CloneMapper: mediawiki/extensions/BetaFeatures -> /workspace/src/extensions/BetaFeatures
INFO:zuul.CloneMapper: mediawiki/extensions/CentralAuth -> /workspace/src/extensions/CentralAuth
INFO:zuul.CloneMapper: mediawiki/extensions/CheckUser -> /workspace/src/extensions/CheckUser
INFO:zuul.CloneMapper: mediawiki/extensions/CirrusSearch -> /workspace/src/extensions/CirrusSearch
INFO:zuul.CloneMapper: mediawiki/extensions/Cite -> /workspace/src/extensions/Cite
INFO:zuul.CloneMapper: mediawiki/extensions/CodeEditor -> /workspace/src/extensions/CodeEditor
INFO:zuul.CloneMapper: mediawiki/extensions/CommunityConfiguration -> /workspace/src/extensions/CommunityConfiguration
INFO:zuul.CloneMapper: mediawiki/extensions/CommunityConfigurationExample -> /workspace/src/extensions/CommunityConfigurationExample
INFO:zuul.CloneMapper: mediawiki/extensions/ConfirmEdit -> /workspace/src/extensions/ConfirmEdit
INFO:zuul.CloneMapper: mediawiki/extensions/DiscussionTools -> /workspace/src/extensions/DiscussionTools
INFO:zuul.CloneMapper: mediawiki/extensions/Echo -> /workspace/src/extensions/Echo
INFO:zuul.CloneMapper: mediawiki/extensions/Elastica -> /workspace/src/extensions/Elastica
INFO:zuul.CloneMapper: mediawiki/extensions/EmailAuth -> /workspace/src/extensions/EmailAuth
INFO:zuul.CloneMapper: mediawiki/extensions/EventBus -> /workspace/src/extensions/EventBus
INFO:zuul.CloneMapper: mediawiki/extensions/EventLogging -> /workspace/src/extensions/EventLogging
INFO:zuul.CloneMapper: mediawiki/extensions/EventStreamConfig -> /workspace/src/extensions/EventStreamConfig
INFO:zuul.CloneMapper: mediawiki/extensions/FlaggedRevs -> /workspace/src/extensions/FlaggedRevs
INFO:zuul.CloneMapper: mediawiki/extensions/Flow -> /workspace/src/extensions/Flow
INFO:zuul.CloneMapper: mediawiki/extensions/Gadgets -> /workspace/src/extensions/Gadgets
INFO:zuul.CloneMapper: mediawiki/extensions/GeoData -> /workspace/src/extensions/GeoData
INFO:zuul.CloneMapper: mediawiki/extensions/GlobalBlocking -> /workspace/src/extensions/GlobalBlocking
INFO:zuul.CloneMapper: mediawiki/extensions/GlobalPreferences -> /workspace/src/extensions/GlobalPreferences
INFO:zuul.CloneMapper: mediawiki/extensions/GrowthExperiments -> /workspace/src/extensions/GrowthExperiments
INFO:zuul.CloneMapper: mediawiki/extensions/GuidedTour -> /workspace/src/extensions/GuidedTour
INFO:zuul.CloneMapper: mediawiki/extensions/IPInfo -> /workspace/src/extensions/IPInfo
INFO:zuul.CloneMapper: mediawiki/extensions/IPReputation -> /workspace/src/extensions/IPReputation
INFO:zuul.CloneMapper: mediawiki/extensions/Linter -> /workspace/src/extensions/Linter
INFO:zuul.CloneMapper: mediawiki/extensions/LoginNotify -> /workspace/src/extensions/LoginNotify
INFO:zuul.CloneMapper: mediawiki/extensions/MetricsPlatform -> /workspace/src/extensions/MetricsPlatform
INFO:zuul.CloneMapper: mediawiki/extensions/MobileApp -> /workspace/src/extensions/MobileApp
INFO:zuul.CloneMapper: mediawiki/extensions/MobileFrontend -> /workspace/src/extensions/MobileFrontend
INFO:zuul.CloneMapper: mediawiki/extensions/OATHAuth -> /workspace/src/extensions/OATHAuth
INFO:zuul.CloneMapper: mediawiki/extensions/PageImages -> /workspace/src/extensions/PageImages
INFO:zuul.CloneMapper: mediawiki/extensions/PageViewInfo -> /workspace/src/extensions/PageViewInfo
INFO:zuul.CloneMapper: mediawiki/extensions/ParserFunctions -> /workspace/src/extensions/ParserFunctions
INFO:zuul.CloneMapper: mediawiki/extensions/PdfHandler -> /workspace/src/extensions/PdfHandler
INFO:zuul.CloneMapper: mediawiki/extensions/Popups -> /workspace/src/extensions/Popups
INFO:zuul.CloneMapper: mediawiki/extensions/Renameuser -> /workspace/src/extensions/Renameuser
INFO:zuul.CloneMapper: mediawiki/extensions/Scribunto -> /workspace/src/extensions/Scribunto
INFO:zuul.CloneMapper: mediawiki/extensions/SecurePoll -> /workspace/src/extensions/SecurePoll
INFO:zuul.CloneMapper: mediawiki/extensions/SiteMatrix -> /workspace/src/extensions/SiteMatrix
INFO:zuul.CloneMapper: mediawiki/extensions/SyntaxHighlight_GeSHi -> /workspace/src/extensions/SyntaxHighlight_GeSHi
INFO:zuul.CloneMapper: mediawiki/extensions/TemplateData -> /workspace/src/extensions/TemplateData
INFO:zuul.CloneMapper: mediawiki/extensions/TextExtracts -> /workspace/src/extensions/TextExtracts
INFO:zuul.CloneMapper: mediawiki/extensions/Thanks -> /workspace/src/extensions/Thanks
INFO:zuul.CloneMapper: mediawiki/extensions/TimedMediaHandler -> /workspace/src/extensions/TimedMediaHandler
INFO:zuul.CloneMapper: mediawiki/extensions/TorBlock -> /workspace/src/extensions/TorBlock
INFO:zuul.CloneMapper: mediawiki/extensions/VisualEditor -> /workspace/src/extensions/VisualEditor
INFO:zuul.CloneMapper: mediawiki/extensions/WebAuthn -> /workspace/src/extensions/WebAuthn
INFO:zuul.CloneMapper: mediawiki/extensions/WikiEditor -> /workspace/src/extensions/WikiEditor
INFO:zuul.CloneMapper: mediawiki/extensions/WikimediaEvents -> /workspace/src/extensions/WikimediaEvents
INFO:zuul.CloneMapper: mediawiki/extensions/WikimediaMessages -> /workspace/src/extensions/WikimediaMessages
INFO:zuul.CloneMapper: mediawiki/extensions/cldr -> /workspace/src/extensions/cldr
INFO:zuul.CloneMapper: mediawiki/skins/MinervaNeue -> /workspace/src/skins/MinervaNeue
INFO:zuul.CloneMapper: mediawiki/skins/Vector -> /workspace/src/skins/Vector
INFO:zuul.CloneMapper: mediawiki/vendor -> /workspace/src/vendor
INFO:zuul.CloneMapper:Expansion completed.
INFO:quibble.commands:Found repo /workspace/src with tree 9c69be811b5c492098abfdd26f479d4f2c0c9b3d
INFO:quibble.commands:Found repo /workspace/src/extensions/AbuseFilter with tree 241e62e1f131aa96217a676c51b3bd1371a28d0d
INFO:quibble.commands:Found repo /workspace/src/extensions/AchievementBadges with tree 478d0c69f75160c3e7d9580799b5c55b18b0b2ca
INFO:quibble.commands:Found repo /workspace/src/extensions/AntiSpoof with tree 5e8ac681ef2d4c4777b4a2dc1aaacbf8a28aecde
INFO:quibble.commands:Found repo /workspace/src/extensions/BetaFeatures with tree 573beb02f4b83210f302cb5d1db831bb22eea536
INFO:quibble.commands:Found repo /workspace/src/extensions/CentralAuth with tree 99ffa05ed4e2fba65e147fa87a66edc1eb8e967e
INFO:quibble.commands:Found repo /workspace/src/extensions/CheckUser with tree 30d2d62f90cd5c2ac941fcb0303cc63d40db3f04
INFO:quibble.commands:Found repo /workspace/src/extensions/CirrusSearch with tree 538ec9405abb8747813cbbbc206413f537316fa3
INFO:quibble.commands:Found repo /workspace/src/extensions/Cite with tree 836f39073ffe52eca8450c19b4f8f9c06252328f
INFO:quibble.commands:Found repo /workspace/src/extensions/CodeEditor with tree 103f7d4f4a7457d5d3b3cea3056d6f473140441f
INFO:quibble.commands:Found repo /workspace/src/extensions/CommunityConfiguration with tree efc81a839f5c06c9df80d53d48c247d4a5179102
INFO:quibble.commands:Found repo /workspace/src/extensions/CommunityConfigurationExample with tree d72e3de3284be778f0b33a953b776b37c58f0316
INFO:quibble.commands:Found repo /workspace/src/extensions/ConfirmEdit with tree f4559944f8ba0ebe86a229186f31db436cb0f534
INFO:quibble.commands:Found repo /workspace/src/extensions/DiscussionTools with tree df00f951c8e398967fc5adef8f455211bf5a6060
INFO:quibble.commands:Found repo /workspace/src/extensions/Echo with tree 937c00f25566a14baef2c2aa29766a384e7ba8a8
INFO:quibble.commands:Found repo /workspace/src/extensions/Elastica with tree beda522d1ca182f924a2dcbd549cff6f0e155028
INFO:quibble.commands:Found repo /workspace/src/extensions/EmailAuth with tree 094ff098257e1ab11742d239ad748a484346f1d7
INFO:quibble.commands:Found repo /workspace/src/extensions/EventBus with tree 24ecfcd108060fc6400751d776a175026d5e3360
INFO:quibble.commands:Found repo /workspace/src/extensions/EventLogging with tree 05985b7b607348abbfc841d560bdbad1cbe1f736
INFO:quibble.commands:Found repo /workspace/src/extensions/EventStreamConfig with tree 3b76883e61be524b9cecd51a854a056ac84096a8
INFO:quibble.commands:Found repo /workspace/src/extensions/FlaggedRevs with tree 940701dd749091a518d6a114cbc94715e44c3432
INFO:quibble.commands:Found repo /workspace/src/extensions/Flow with tree 96eeb3b0d191ba189cfc3e3e5af1a27ed916e252
INFO:quibble.commands:Found repo /workspace/src/extensions/Gadgets with tree 1a99a23517dc344cc4ec6e4c8b16f574e3933175
INFO:quibble.commands:Found repo /workspace/src/extensions/GeoData with tree 53e2d846ceaeb572f31d19eefeb841cb20a116c7
INFO:quibble.commands:Found repo /workspace/src/extensions/GlobalBlocking with tree e8f1cc8858d6b9d3dca3e403c6e93c92384ca78b
INFO:quibble.commands:Found repo /workspace/src/extensions/GlobalPreferences with tree 571e11f7609b1457970e3595137435927cd00b24
INFO:quibble.commands:Found repo /workspace/src/extensions/GrowthExperiments with tree 017bcbc6ab879d0271a73c61d9fcacc10e995d41
INFO:quibble.commands:Found repo /workspace/src/extensions/GuidedTour with tree 4ffd1c3fa1a9d6a40cb093d6d49c0c93feec3ac8
INFO:quibble.commands:Found repo /workspace/src/extensions/IPInfo with tree 2a7da5aaf1033bf0a83f3935dd526bb45d29f48a
INFO:quibble.commands:Found repo /workspace/src/extensions/IPReputation with tree d82b26217e37ef3c935e8d976a707cf8164c6c67
INFO:quibble.commands:Found repo /workspace/src/extensions/Linter with tree 20a64552f4171296e45bc86a773222ca31cc8bc4
INFO:quibble.commands:Found repo /workspace/src/extensions/LoginNotify with tree 547f6490c069dd73121cf2276977cdcadefc7e9e
INFO:quibble.commands:Found repo /workspace/src/extensions/MetricsPlatform with tree 8908cc3b43ff99f9d1ecc612ece0831762e81722
INFO:quibble.commands:Found repo /workspace/src/extensions/MobileApp with tree ad56c698fafe85317b9955485061c4cef342df19
INFO:quibble.commands:Found repo /workspace/src/extensions/MobileFrontend with tree a4c1cb294c56105aea02e6a238238cc0f3192a45
INFO:quibble.commands:Found repo /workspace/src/extensions/OATHAuth with tree 68863ec78fd2533298183ddd40f19f73ccb9caab
INFO:quibble.commands:Found repo /workspace/src/extensions/PageImages with tree c69dda6dd73992e2cea49f854d3b327ec71281d4
INFO:quibble.commands:Found repo /workspace/src/extensions/PageViewInfo with tree a7dd6de92a3fca17361b983fa5189b48a866dc8d
INFO:quibble.commands:Found repo /workspace/src/extensions/ParserFunctions with tree 9707cb261c8ce585107dc14747d97adbabb5a89f
INFO:quibble.commands:Found repo /workspace/src/extensions/PdfHandler with tree 80b8c0f21267c66b991094004b81517f3d9fdd1e
INFO:quibble.commands:Found repo /workspace/src/extensions/Popups with tree 42e6f255c917af6b096806da1dd614d89d62c7a0
INFO:quibble.commands:Found repo /workspace/src/extensions/Renameuser with tree f8fb9dbf5cd2a1d789f6e1f290614c02abc2aad2
INFO:quibble.commands:Found repo /workspace/src/extensions/Scribunto with tree ea5cfe0a13e8e4bba2ac0cd25cafd11a020851da
INFO:quibble.commands:Found repo /workspace/src/extensions/SecurePoll with tree 5dabd8ee0c769d8a3fe5345e1eaa182b36dcba61
INFO:quibble.commands:Found repo /workspace/src/extensions/SiteMatrix with tree b8b77f555c846d6baced74ab123ee5e7467ab726
INFO:quibble.commands:Found repo /workspace/src/extensions/SyntaxHighlight_GeSHi with tree 1ae0fa048cf6fdc55e06ba97ffaa361ec46c638e
INFO:quibble.commands:Found repo /workspace/src/extensions/TemplateData with tree d621776bf775b787cd9d2c5e5e1d5036879ba741
INFO:quibble.commands:Found repo /workspace/src/extensions/TextExtracts with tree 5bcff14b2c45e41fd7bf86c41909bffdaba94bc9
INFO:quibble.commands:Found repo /workspace/src/extensions/Thanks with tree 5b7aeb69a30dc0274f6c4a5d236c530006330919
INFO:quibble.commands:Found repo /workspace/src/extensions/TimedMediaHandler with tree ee611402b67ea815d84dc1ad3d72abb56ec2305a
INFO:quibble.commands:Found repo /workspace/src/extensions/TorBlock with tree f3ffd175aeaf6c30bd6de0a8d8d8ffe01446f8b6
INFO:quibble.commands:Found repo /workspace/src/extensions/VisualEditor with tree ee3aaf0bc20d55e72e7175dd9a2c46d34e255808
INFO:quibble.commands:Found repo /workspace/src/extensions/WebAuthn with tree b71e18e4725dc822bdbabc5b51f802367c03d2f3
INFO:quibble.commands:Found repo /workspace/src/extensions/WikiEditor with tree 1691344178428ab3a8e1eb8506c9beeeebce94a9
INFO:quibble.commands:Found repo /workspace/src/extensions/WikimediaEvents with tree 6126d6c112a3ff0c3f75fb944457241369a9e554
INFO:quibble.commands:Found repo /workspace/src/extensions/WikimediaMessages with tree 8624434af0732a6b858e5951ef1cf7eb55b0b496
INFO:quibble.commands:Found repo /workspace/src/extensions/cldr with tree 3e00bf4c9221d249c6998e5a6fdbb705700cd5f2
INFO:quibble.commands:Found repo /workspace/src/skins/MinervaNeue with tree 09acefa49037aab864bea847d7aac8d3ca98dbe0
INFO:quibble.commands:Found repo /workspace/src/skins/Vector with tree 8d79b77a71c501dab19b201a266a24ca1b900c1d
INFO:quibble.commands:Found repo /workspace/src/vendor with tree b83ec06401dcbc158758c37f9ddfab2afabaf0e0
INFO:quibble.commands:Success cache: MISS
INFO:quibble.commands:<<< Finish: Check success cache, in 1.308 s
INFO:quibble.commands:>>> Start: Run npm and composer tests, if present in parallel (concurrency=1):
* composer test in /workspace/src/extensions/AchievementBadges
INFO:quibble.commands:>>> Start: composer test in /workspace/src/extensions/AchievementBadges
./composer.json is valid, but with a few warnings
See https://getcomposer.org/doc/04-schema.md for details on the schema
# General warnings
- No license specified, it is recommended to do so. For closed-source software you may use "proprietary" as license.
[12.1MiB/0.11s] No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
[12.1MiB/0.11s] Loading composer repositories with package information
[16.2MiB/0.58s] Updating dependencies
[17.5MiB/0.59s] Dependency resolution completed in 0.001 seconds
[16.9MiB/0.59s] Analyzed 304 packages to resolve dependencies
[16.9MiB/0.59s] Analyzed 730 rules to resolve dependencies
[16.1MiB/0.60s] Dependency resolution completed in 0.000 seconds
[14.5MiB/0.60s] Lock file operations: 38 installs, 0 updates, 0 removals
[14.5MiB/0.60s] Installs: squizlabs/php_codesniffer:3.10.3, dealerdirect/phpcodesniffer-composer-installer:v1.1.2, composer/pcre:3.3.2, phpcsstandards/phpcsutils:1.0.12, phpcsstandards/phpcsextra:1.2.1, symfony/polyfill-php80:v1.33.0, composer/spdx-licenses:1.5.9, composer/semver:3.4.3, symfony/polyfill-mbstring:v1.33.0, mediawiki/mediawiki-codesniffer:v45.0.0, tysonandre/var_representation_polyfill:0.1.3, symfony/polyfill-intl-normalizer:v1.33.0, symfony/polyfill-intl-grapheme:v1.33.0, symfony/polyfill-ctype:v1.33.0, symfony/string:v6.4.26, symfony/deprecation-contracts:v3.6.0, psr/container:2.0.2, symfony/service-contracts:v3.6.0, symfony/console:v6.4.26, sabre/event:5.1.7, netresearch/jsonmapper:v4.5.0, microsoft/tolerant-php-parser:v0.1.2, doctrine/deprecations:1.1.5, phpstan/phpdoc-parser:2.3.0, phpdocumentor/reflection-common:2.2.0, webmozart/assert:1.11.0, phpdocumentor/type-resolver:1.10.0, phpdocumentor/reflection-docblock:5.6.3, felixfbecker/advanced-json-rpc:v3.2.1, psr/log:3.0.2, composer/xdebug-handler:3.0.5, phan/phan:5.4.5, mediawiki/phan-taint-check-plugin:6.1.0, mediawiki/mediawiki-phan-config:0.15.1, mediawiki/minus-x:1.1.3, php-parallel-lint/php-console-color:v1.0.1, php-parallel-lint/php-console-highlighter:v1.0.0, php-parallel-lint/php-parallel-lint:v1.4.0
[14.5MiB/0.60s] - Locking composer/pcre (3.3.2)
[14.5MiB/0.60s] - Locking composer/semver (3.4.3)
[14.5MiB/0.60s] - Locking composer/spdx-licenses (1.5.9)
[14.5MiB/0.60s] - Locking composer/xdebug-handler (3.0.5)
[14.5MiB/0.60s] - Locking dealerdirect/phpcodesniffer-composer-installer (v1.1.2)
[14.5MiB/0.60s] - Locking doctrine/deprecations (1.1.5)
[14.5MiB/0.60s] - Locking felixfbecker/advanced-json-rpc (v3.2.1)
[14.5MiB/0.60s] - Locking mediawiki/mediawiki-codesniffer (v45.0.0)
[14.5MiB/0.60s] - Locking mediawiki/mediawiki-phan-config (0.15.1)
[14.5MiB/0.60s] - Locking mediawiki/minus-x (1.1.3)
[14.5MiB/0.60s] - Locking mediawiki/phan-taint-check-plugin (6.1.0)
[14.5MiB/0.60s] - Locking microsoft/tolerant-php-parser (v0.1.2)
[14.5MiB/0.60s] - Locking netresearch/jsonmapper (v4.5.0)
[14.5MiB/0.60s] - Locking phan/phan (5.4.5)
[14.5MiB/0.60s] - Locking php-parallel-lint/php-console-color (v1.0.1)
[14.5MiB/0.60s] - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
[14.5MiB/0.60s] - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
[14.5MiB/0.60s] - Locking phpcsstandards/phpcsextra (1.2.1)
[14.5MiB/0.60s] - Locking phpcsstandards/phpcsutils (1.0.12)
[14.5MiB/0.60s] - Locking phpdocumentor/reflection-common (2.2.0)
[14.5MiB/0.60s] - Locking phpdocumentor/reflection-docblock (5.6.3)
[14.5MiB/0.60s] - Locking phpdocumentor/type-resolver (1.10.0)
[14.5MiB/0.60s] - Locking phpstan/phpdoc-parser (2.3.0)
[14.5MiB/0.60s] - Locking psr/container (2.0.2)
[14.5MiB/0.60s] - Locking psr/log (3.0.2)
[14.5MiB/0.60s] - Locking sabre/event (5.1.7)
[14.5MiB/0.60s] - Locking squizlabs/php_codesniffer (3.10.3)
[14.5MiB/0.60s] - Locking symfony/console (v6.4.26)
[14.5MiB/0.60s] - Locking symfony/deprecation-contracts (v3.6.0)
[14.5MiB/0.60s] - Locking symfony/polyfill-ctype (v1.33.0)
[14.5MiB/0.60s] - Locking symfony/polyfill-intl-grapheme (v1.33.0)
[14.5MiB/0.60s] - Locking symfony/polyfill-intl-normalizer (v1.33.0)
[14.5MiB/0.60s] - Locking symfony/polyfill-mbstring (v1.33.0)
[14.5MiB/0.60s] - Locking symfony/polyfill-php80 (v1.33.0)
[14.5MiB/0.60s] - Locking symfony/service-contracts (v3.6.0)
[14.5MiB/0.60s] - Locking symfony/string (v6.4.26)
[14.5MiB/0.60s] - Locking tysonandre/var_representation_polyfill (0.1.3)
[14.5MiB/0.60s] - Locking webmozart/assert (1.11.0)
[14.5MiB/0.60s] Writing lock file
[14.5MiB/0.60s] Installing dependencies from lock file (including require-dev)
[15.1MiB/0.60s] Package operations: 38 installs, 0 updates, 0 removals
[15.1MiB/0.60s] Installs: squizlabs/php_codesniffer:3.10.3, dealerdirect/phpcodesniffer-composer-installer:v1.1.2, composer/pcre:3.3.2, symfony/polyfill-php80:v1.33.0, phpcsstandards/phpcsutils:1.0.12, phpcsstandards/phpcsextra:1.2.1, symfony/polyfill-mbstring:v1.33.0, composer/spdx-licenses:1.5.9, composer/semver:3.4.3, mediawiki/mediawiki-codesniffer:v45.0.0, tysonandre/var_representation_polyfill:0.1.3, symfony/polyfill-intl-normalizer:v1.33.0, symfony/polyfill-intl-grapheme:v1.33.0, symfony/polyfill-ctype:v1.33.0, symfony/string:v6.4.26, symfony/deprecation-contracts:v3.6.0, psr/container:2.0.2, symfony/service-contracts:v3.6.0, symfony/console:v6.4.26, sabre/event:5.1.7, netresearch/jsonmapper:v4.5.0, microsoft/tolerant-php-parser:v0.1.2, webmozart/assert:1.11.0, phpstan/phpdoc-parser:2.3.0, phpdocumentor/reflection-common:2.2.0, doctrine/deprecations:1.1.5, phpdocumentor/type-resolver:1.10.0, phpdocumentor/reflection-docblock:5.6.3, felixfbecker/advanced-json-rpc:v3.2.1, psr/log:3.0.2, composer/xdebug-handler:3.0.5, phan/phan:5.4.5, mediawiki/phan-taint-check-plugin:6.1.0, mediawiki/mediawiki-phan-config:0.15.1, mediawiki/minus-x:1.1.3, php-parallel-lint/php-console-color:v1.0.1, php-parallel-lint/php-console-highlighter:v1.0.0, php-parallel-lint/php-parallel-lint:v1.4.0
[15.4MiB/0.64s] - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
[15.6MiB/0.87s] - Installing dealerdirect/phpcodesniffer-composer-installer (v1.1.2): Extracting archive
[15.8MiB/0.89s] - Installing composer/pcre (3.3.2): Extracting archive
[15.8MiB/0.89s] - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
[15.9MiB/0.89s] - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
[15.9MiB/0.90s] - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
[16.0MiB/0.90s] - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
[16.0MiB/0.90s] - Installing composer/spdx-licenses (1.5.9): Extracting archive
[16.0MiB/0.90s] - Installing composer/semver (3.4.3): Extracting archive
[16.1MiB/0.91s] - Installing mediawiki/mediawiki-codesniffer (v45.0.0): Extracting archive
[16.1MiB/0.91s] - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
[16.2MiB/0.91s] - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
[16.2MiB/0.92s] - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
[16.3MiB/0.92s] - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
[16.3MiB/0.92s] - Installing symfony/string (v6.4.26): Extracting archive
[16.3MiB/0.92s] - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
[16.4MiB/0.92s] - Installing psr/container (2.0.2): Extracting archive
[16.4MiB/0.92s] - Installing symfony/service-contracts (v3.6.0): Extracting archive
[16.4MiB/0.92s] - Installing symfony/console (v6.4.26): Extracting archive
[16.5MiB/0.92s] - Installing sabre/event (5.1.7): Extracting archive
[16.5MiB/0.92s] - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
[16.5MiB/0.92s] - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
[16.6MiB/0.92s] - Installing webmozart/assert (1.11.0): Extracting archive
[16.6MiB/0.92s] - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
[16.6MiB/0.92s] - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
[16.7MiB/0.92s] - Installing doctrine/deprecations (1.1.5): Extracting archive
[16.7MiB/0.92s] - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
[16.7MiB/0.92s] - Installing phpdocumentor/reflection-docblock (5.6.3): Extracting archive
[16.8MiB/0.92s] - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
[16.8MiB/0.92s] - Installing psr/log (3.0.2): Extracting archive
[16.8MiB/0.92s] - Installing composer/xdebug-handler (3.0.5): Extracting archive
[16.9MiB/0.92s] - Installing phan/phan (5.4.5): Extracting archive
[16.9MiB/0.92s] - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
[16.9MiB/0.93s] - Installing mediawiki/mediawiki-phan-config (0.15.1): Extracting archive
[17.0MiB/0.93s] - Installing mediawiki/minus-x (1.1.3): Extracting archive
[17.0MiB/0.93s] - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
[17.0MiB/0.93s] - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
[17.1MiB/0.93s] - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
[15.5MiB/1.44s] Generating autoload files
[15.6MiB/1.47s] 17 packages you are using are looking for funding.
[15.6MiB/1.47s] Use the `composer fund` command to find out more!
[15.6MiB/1.47s] > post-update-cmd: PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->onDependenciesChangedEvent
[15.6MiB/1.47s] Running PHPCodeSniffer Composer Installer
[15.6MiB/1.68s] PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
[15.6MiB/1.68s] Using config file: /workspace/src/extensions/AchievementBadges/vendor/squizlabs/php_codesniffer/CodeSniffer.conf
Config value "installed_paths" added successfully

[15.6MiB/1.68s] Memory usage: 15.58MiB (peak: 22.6MiB), time: 1.68s
> parallel-lint . --exclude node_modules --exclude vendor
PHP 8.1.33 | 10 parallel jobs
.................... 20/20 (100%)
Checked 20 files in 0.1 seconds
No syntax error found
> phpcs -sp --cache
.................... 20 / 20 (100%)
Time: 277ms; Memory: 8MB
> minus-x check .
MinusX
======
Processing /workspace/src/extensions/AchievementBadges...
.............................................................
........................................................
All good!
INFO:quibble.commands:<<< Finish: composer test in /workspace/src/extensions/AchievementBadges, in 3.090 s
INFO:quibble.commands:<<< Finish: Run npm and composer tests, if present in parallel (concurrency=1):
* composer test in /workspace/src/extensions/AchievementBadges, in 3.091 s
INFO:quibble.commands:>>> Start: Revert to git clean -xqdf in /workspace/src/extensions/AchievementBadges
INFO:quibble.commands:<<< Finish: Revert to git clean -xqdf in /workspace/src/extensions/AchievementBadges, in 0.132 s
INFO:quibble.commands:>>> Start: Install composer dev-requires for vendor.git
INFO:quibble.commands:mediawiki/vendor is used, add require-dev dependencies
DEBUG:quibble.commands:composer require --dev composer/spdx-licenses=1.5.9 doctrine/dbal=3.10.0 doctrine/sql-formatter=1.5.2 ext-simplexml=* giorgiosironi/eris=^0.14.0 hamcrest/hamcrest-php=^2.0 johnkary/phpunit-speedtrap=^4.0 mediawiki/mediawiki-codesniffer=48.0.0 mediawiki/mediawiki-phan-config=0.17.0 mediawiki/minus-x=1.1.3 nikic/php-parser=^5.5.0 php-parallel-lint/php-console-highlighter=1.0.0 php-parallel-lint/php-parallel-lint=1.4.0 phpunit/phpunit=9.6.21 psy/psysh=^0.12.3 seld/jsonlint=1.11.0 wikimedia/alea=1.0.0 wikimedia/langconv=^0.5.0 wikimedia/testing-access-wrapper=^3.0.0 wmde/hamcrest-html-matchers=^1.0.0
> init: Wikimedia\Composer\Merge\V2\MergePlugin->onInit
nikic/php-parser is currently present in the require key and you ran the command with the --dev flag, which will move it to the require-dev key.
psy/psysh is currently present in the require key and you ran the command with the --dev flag, which will move it to the require-dev key.
wikimedia/langconv is currently present in the require key and you ran the command with the --dev flag, which will move it to the require-dev key.
wikimedia/testing-access-wrapper is currently present in the require key and you ran the command with the --dev flag, which will move it to the require-dev key.
./composer.json has been updated
> init: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onInit
Running composer update composer/spdx-licenses doctrine/dbal doctrine/sql-formatter ext-simplexml giorgiosironi/eris hamcrest/hamcrest-php johnkary/phpunit-speedtrap mediawiki/mediawiki-codesniffer mediawiki/mediawiki-phan-config mediawiki/minus-x nikic/php-parser php-parallel-lint/php-console-highlighter php-parallel-lint/php-parallel-lint phpunit/phpunit psy/psysh seld/jsonlint wikimedia/alea wikimedia/langconv wikimedia/testing-access-wrapper wmde/hamcrest-html-matchers
> pre-update-cmd: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onInstallUpdateOrDump
Loading composer repositories with package information
Pattern "ext-simplexml" listed for update matches platform packages, but these cannot be updated by Composer.
Reading composer.json of league/oauth2-server (0.1) Reading composer.json of league/oauth2-server (0.2)Reading composer.json of league/oauth2-server (0.2.1)Reading composer.json of league/oauth2-server (0.2.2)Reading composer.json of league/oauth2-server (0.2.3)Reading composer.json of league/oauth2-server (0.3) Reading composer.json of league/oauth2-server (0.3.1)Reading composer.json of league/oauth2-server (0.3.2)Reading composer.json of league/oauth2-server (0.3.3)Reading composer.json of league/oauth2-server (0.3.4)Reading composer.json of league/oauth2-server (0.3.5)Reading composer.json of league/oauth2-server (0.4) Reading composer.json of league/oauth2-server (0.4.1)Reading composer.json of league/oauth2-server (0.4.2)Reading composer.json of league/oauth2-server (1.0.0)Reading composer.json of league/oauth2-server (1.0.1)Reading composer.json of league/oauth2-server (1.0.2)Reading composer.json of league/oauth2-server (1.0.3)Reading composer.json of league/oauth2-server (1.0.4)Reading composer.json of league/oauth2-server (1.0.5)Reading composer.json of league/oauth2-server (1.0.6)Reading composer.json of league/oauth2-server (1.0.7)Reading composer.json of league/oauth2-server (1.0.8)Reading composer.json of league/oauth2-server (1.0.9)Reading composer.json of league/oauth2-server (2.0) Reading composer.json of league/oauth2-server (2.0.1)Reading composer.json of league/oauth2-server (2.0.2)Reading composer.json of league/oauth2-server (2.0.3)Reading composer.json of league/oauth2-server (2.0.4)Reading composer.json of league/oauth2-server (2.0.5)Reading composer.json of league/oauth2-server (2.1) Reading composer.json of league/oauth2-server (2.1.1)Reading composer.json of league/oauth2-server (2.1.2)Reading composer.json of league/oauth2-server (2.1.3)Reading composer.json of league/oauth2-server (3.0.0)Reading composer.json of league/oauth2-server (3.0.1)Reading composer.json of league/oauth2-server (3.1.0)Reading composer.json of league/oauth2-server (3.1.1)Reading composer.json of league/oauth2-server (3.1.2)Reading composer.json of league/oauth2-server (3.2) Reading composer.json of league/oauth2-server (3.2.1)Reading composer.json of league/oauth2-server (3.2.2)Reading composer.json of league/oauth2-server (3.2.3)Reading composer.json of league/oauth2-server (3.2.4)Reading composer.json of league/oauth2-server (4.0.0)Reading composer.json of league/oauth2-server (4.0.1)Reading composer.json of league/oauth2-server (4.0.2)Reading composer.json of league/oauth2-server (4.0.3)Reading composer.json of league/oauth2-server (4.0.4)Reading composer.json of league/oauth2-server (4.0.5)Reading composer.json of league/oauth2-server (4.1.0)Reading composer.json of league/oauth2-server (4.1.1)Reading composer.json of league/oauth2-server (4.1.2)Reading composer.json of league/oauth2-server (4.1.3)Reading composer.json of league/oauth2-server (4.1.4)Reading composer.json of league/oauth2-server (4.1.5)Reading composer.json of league/oauth2-server (4.1.6)Reading composer.json of league/oauth2-server (4.1.7)Reading composer.json of league/oauth2-server (5.0.0)Reading composer.json of league/oauth2-server (5.0.0-RC1)Reading composer.json of league/oauth2-server (5.0.0-RC2)Reading composer.json of league/oauth2-server (5.0.1) Reading composer.json of league/oauth2-server (5.0.2)Reading composer.json of league/oauth2-server (5.0.3)Reading composer.json of league/oauth2-server (5.1.0)Reading composer.json of league/oauth2-server (5.1.1)Reading composer.json of league/oauth2-server (5.1.2)Reading composer.json of league/oauth2-server (5.1.3)Reading composer.json of league/oauth2-server (5.1.4)Reading composer.json of league/oauth2-server (5.1.5)Reading composer.json of league/oauth2-server (5.1.6)Reading composer.json of league/oauth2-server (6.0.0)Reading composer.json of league/oauth2-server (6.0.1)Reading composer.json of league/oauth2-server (6.0.2)Reading composer.json of league/oauth2-server (6.1.0)Reading composer.json of league/oauth2-server (6.1.1)Reading composer.json of league/oauth2-server (7.0.0)Reading composer.json of league/oauth2-server (7.1.0)Reading composer.json of league/oauth2-server (7.1.1)Reading composer.json of league/oauth2-server (7.2.0)Reading composer.json of league/oauth2-server (7.3.0)Reading composer.json of league/oauth2-server (7.3.1)Reading composer.json of league/oauth2-server (7.3.2)Reading composer.json of league/oauth2-server (7.3.3)Reading composer.json of league/oauth2-server (7.4.0)Reading composer.json of league/oauth2-server (8.0.0)Reading composer.json of league/oauth2-server (8.1.0)Reading composer.json of league/oauth2-server (8.1.1)Reading composer.json of league/oauth2-server (8.2.0)Reading composer.json of league/oauth2-server (8.2.1)Reading composer.json of league/oauth2-server (8.2.2)Reading composer.json of league/oauth2-server (8.2.3)Reading composer.json of league/oauth2-server (8.2.4)Reading composer.json of league/oauth2-server (8.3.0)Reading composer.json of league/oauth2-server (8.3.1)Reading composer.json of league/oauth2-server (8.3.2)Reading composer.json of league/oauth2-server (8.3.3) Reading composer.json of league/oauth2-server (v9.0.0-alpha)Reading composer.json of league/oauth2-server (dependabot/composer/league/event-tw-3.0)Reading composer.json of league/oauth2-server (dev-issuer) Reading composer.json of league/oauth2-server (issuer) Reading composer.json of league/oauth2-server (master) Updating dependencies
Dependency resolution completed in 0.002 seconds
Analyzed 386 packages to resolve dependencies
Analyzed 999 rules to resolve dependencies
Dependency resolution completed in 0.000 seconds
Lock file operations: 63 installs, 1 update, 0 removals
Installs: squizlabs/php_codesniffer:3.13.2, dealerdirect/phpcodesniffer-composer-installer:v1.1.2, composer/pcre:3.3.2, psr/cache:3.0.0, doctrine/event-manager:2.0.1, doctrine/deprecations:1.1.5, doctrine/dbal:3.10.0, doctrine/sql-formatter:1.5.2, giorgiosironi/eris:0.14.1, sebastian/version:3.0.2, sebastian/type:3.2.1, sebastian/resource-operations:3.0.4, sebastian/recursion-context:4.0.6, sebastian/object-reflector:2.0.4, sebastian/object-enumerator:4.0.4, sebastian/global-state:5.0.8, sebastian/exporter:4.0.8, sebastian/environment:5.1.5, sebastian/diff:4.0.6, sebastian/comparator:4.0.9, sebastian/code-unit:1.0.8, sebastian/cli-parser:1.0.2, phpunit/php-timer:5.0.3, phpunit/php-text-template:2.0.4, phpunit/php-invoker:3.1.1, phpunit/php-file-iterator:3.0.6, theseer/tokenizer:1.2.3, sebastian/lines-of-code:1.0.4, sebastian/complexity:2.0.3, sebastian/code-unit-reverse-lookup:2.0.3, phpunit/php-code-coverage:9.2.32, phar-io/version:3.2.1, phar-io/manifest:2.0.4, myclabs/deep-copy:1.13.4, doctrine/instantiator:2.0.0, phpunit/phpunit:9.6.21, johnkary/phpunit-speedtrap:v4.0.1, phpcsstandards/phpcsutils:1.1.1, phpcsstandards/phpcsextra:1.4.0, composer/spdx-licenses:1.5.9, mediawiki/mediawiki-codesniffer:v48.0.0, tysonandre/var_representation_polyfill:0.1.3, symfony/polyfill-php80:v1.33.0, sabre/event:5.1.7, netresearch/jsonmapper:v4.5.0, microsoft/tolerant-php-parser:v0.1.2, phpstan/phpdoc-parser:2.3.0, phpdocumentor/reflection-common:2.2.0, webmozart/assert:1.11.0, phpdocumentor/type-resolver:1.10.0, phpdocumentor/reflection-docblock:5.6.3, felixfbecker/advanced-json-rpc:v3.2.1, composer/xdebug-handler:3.0.5, phan/phan:5.5.1, mediawiki/phan-taint-check-plugin:7.0.0, mediawiki/mediawiki-phan-config:0.17.0, mediawiki/minus-x:1.1.3, php-parallel-lint/php-console-color:v1.0.1, php-parallel-lint/php-console-highlighter:v1.0.0, seld/jsonlint:1.11.0, wikimedia/alea:1.0.0, hamcrest/hamcrest-php:v2.1.1, wmde/hamcrest-html-matchers:v1.1.0
Updates: psy/psysh:v0.12.12
- Locking composer/pcre (3.3.2)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.1.2)
- Locking doctrine/dbal (3.10.0)
- Locking doctrine/deprecations (1.1.5)
- Locking doctrine/event-manager (2.0.1)
- Locking doctrine/instantiator (2.0.0)
- Locking doctrine/sql-formatter (1.5.2)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking giorgiosironi/eris (0.14.1)
- Locking hamcrest/hamcrest-php (v2.1.1)
- Locking johnkary/phpunit-speedtrap (v4.0.1)
- Locking mediawiki/mediawiki-codesniffer (v48.0.0)
- Locking mediawiki/mediawiki-phan-config (0.17.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (7.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking myclabs/deep-copy (1.13.4)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking phan/phan (5.5.1)
- 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 phpcsstandards/phpcsextra (1.4.0)
- Locking phpcsstandards/phpcsutils (1.1.1)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.6.3)
- Locking phpdocumentor/type-resolver (1.10.0)
- Locking phpstan/phpdoc-parser (2.3.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.21)
- Locking psr/cache (3.0.0)
- Upgrading psy/psysh (v0.12.10 => v0.12.12)
- 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.9)
- Locking sebastian/complexity (2.0.3)
- Locking sebastian/diff (4.0.6)
- Locking sebastian/environment (5.1.5)
- Locking sebastian/exporter (4.0.8)
- Locking sebastian/global-state (5.0.8)
- 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.6)
- Locking sebastian/resource-operations (3.0.4)
- Locking sebastian/type (3.2.1)
- Locking sebastian/version (3.0.2)
- Locking seld/jsonlint (1.11.0)
- Locking squizlabs/php_codesniffer (3.13.2)
- Locking symfony/polyfill-php80 (v1.33.0)
- Locking theseer/tokenizer (1.2.3)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (1.11.0)
- Locking wikimedia/alea (1.0.0)
- Locking wmde/hamcrest-html-matchers (v1.1.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 64 installs, 1 update, 0 removals
Installs: squizlabs/php_codesniffer:3.13.2, dealerdirect/phpcodesniffer-composer-installer:v1.1.2, composer/pcre:3.3.2, psr/cache:3.0.0, doctrine/event-manager:2.0.1, doctrine/deprecations:1.1.5, doctrine/dbal:3.10.0, doctrine/sql-formatter:1.5.2, giorgiosironi/eris:0.14.1, sebastian/version:3.0.2, sebastian/type:3.2.1, sebastian/resource-operations:3.0.4, sebastian/recursion-context:4.0.6, sebastian/object-reflector:2.0.4, sebastian/object-enumerator:4.0.4, sebastian/global-state:5.0.8, sebastian/exporter:4.0.8, sebastian/environment:5.1.5, sebastian/diff:4.0.6, sebastian/comparator:4.0.9, sebastian/code-unit:1.0.8, sebastian/cli-parser:1.0.2, phpunit/php-timer:5.0.3, phpunit/php-text-template:2.0.4, phpunit/php-invoker:3.1.1, phpunit/php-file-iterator:3.0.6, theseer/tokenizer:1.2.3, sebastian/lines-of-code:1.0.4, sebastian/complexity:2.0.3, sebastian/code-unit-reverse-lookup:2.0.3, phpunit/php-code-coverage:9.2.32, phar-io/version:3.2.1, phar-io/manifest:2.0.4, myclabs/deep-copy:1.13.4, doctrine/instantiator:2.0.0, phpunit/phpunit:9.6.21, johnkary/phpunit-speedtrap:v4.0.1, phpcsstandards/phpcsutils:1.1.1, phpcsstandards/phpcsextra:1.4.0, composer/spdx-licenses:1.5.9, mediawiki/mediawiki-codesniffer:v48.0.0, tysonandre/var_representation_polyfill:0.1.3, symfony/polyfill-php80:v1.33.0, sabre/event:5.1.7, netresearch/jsonmapper:v4.5.0, microsoft/tolerant-php-parser:v0.1.2, webmozart/assert:1.11.0, phpstan/phpdoc-parser:2.3.0, phpdocumentor/reflection-common:2.2.0, phpdocumentor/type-resolver:1.10.0, phpdocumentor/reflection-docblock:5.6.3, felixfbecker/advanced-json-rpc:v3.2.1, composer/xdebug-handler:3.0.5, phan/phan:5.5.1, mediawiki/phan-taint-check-plugin:7.0.0, mediawiki/mediawiki-phan-config:0.17.0, mediawiki/minus-x:1.1.3, php-parallel-lint/php-console-color:v1.0.1, php-parallel-lint/php-console-highlighter:v1.0.0, php-parallel-lint/php-parallel-lint:v1.4.0, seld/jsonlint:1.11.0, wikimedia/alea:1.0.0, hamcrest/hamcrest-php:v2.1.1, wmde/hamcrest-html-matchers:v1.1.0
Updates: psy/psysh:v0.12.12
- Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.1.2): Extracting archive
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
- Installing composer/pcre (3.3.2): Extracting archive
- Installing psr/cache (3.0.0): Extracting archive
- Installing doctrine/event-manager (2.0.1): Extracting archive
- Installing doctrine/deprecations (1.1.5): Extracting archive
- Installing doctrine/dbal (3.10.0): Extracting archive
- Installing doctrine/sql-formatter (1.5.2): Extracting archive
- Installing giorgiosironi/eris (0.14.1): 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 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 johnkary/phpunit-speedtrap (v4.0.1): Extracting archive
- Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): 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 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 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 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 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
- Upgrading psy/psysh (v0.12.10 => v0.12.12): Extracting archive
- Installing seld/jsonlint (1.11.0): Extracting archive
- Installing wikimedia/alea (1.0.0): Extracting archive
- Installing hamcrest/hamcrest-php (v2.1.1): Extracting archive
- Installing wmde/hamcrest-html-matchers (v1.1.0): Extracting archive
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
> post-package-install: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostPackageInstall
7 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fgrosse/phpasn1 is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
> pre-autoload-dump: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onInstallUpdateOrDump
72 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> post-update-cmd: Wikimedia\Composer\Merge\V2\MergePlugin_composer_tmp0->onPostInstallOrUpdate
> post-update-cmd: PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->onDependenciesChangedEvent
Running PHPCodeSniffer Composer Installer
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
Using config file: /workspace/src/vendor/squizlabs/php_codesniffer/CodeSniffer.conf
Config value "installed_paths" added successfully

No security vulnerability advisories found.
Generating optimized autoload files (authoritative)
Generated optimized autoload files (authoritative) containing 7652 classes
INFO:quibble.util:Copying /workspace/src/composer.json to /workspace/log/composer.core.json.txt
INFO:quibble.util:Copying /workspace/src/vendor/composer.json to /workspace/log/composer.vendor.json.txt
INFO:quibble.util:Copying /workspace/src/vendor/composer/autoload_files.php to /workspace/log/composer.autoload_files.php.txt
INFO:quibble.commands:<<< Finish: Install composer dev-requires for vendor.git, in 9.427 s
INFO:quibble.commands:>>> Start: Start backends: <MySQL (no socket)>
INFO:backend.MySQL:Starting MySQL
INFO:backend.MySQL:Initializing MySQL data directory
INFO:backend.MySQL:Waiting for MySQL socket
INFO:backend.MySQL:Creating the wiki database and grant
INFO:backend.MySQL:MySQL is ready
INFO:quibble.commands:<<< Finish: Start backends: <MySQL (no socket)>, in 1.706 s
INFO:quibble.commands:>>> Start: Run Post-dependency install, pre-database dependent steps in parallel (concurrency=2):
* Install MediaWiki, db=<MySQL /workspace/db/quibble-mysql-6efniqbq/socket>
* npm install in /workspace/src
INFO:quibble.commands:>>> Start: Install MediaWiki, db=<MySQL /workspace/db/quibble-mysql-6efniqbq/socket>
php maintenance/install.php --scriptpath= --server=http://127.0.0.1:9413 --dbtype=mysql --dbname=wikidb --dbuser=wikiuser --dbpass=secret --dbserver=localhost:/workspace/db/quibble-mysql-6efniqbq/socket --with-extensions --pass=testwikijenkinspass TestWiki WikiAdmin
PHP 8.1.33 is installed.
ICU 67.1 is installed (supports Unicode 13.0.0).
Found ImageMagick: /usr/bin/convert. Image thumbnailing will be enabled if you enable uploads.
Found the Git version control software: /usr/bin/git.
Using server name "http://localhost".
Using server URL "http://127.0.0.1:9413".
Warning: Your default directory for uploads (/workspace/src/images/) is not checked for vulnerability to arbitrary script execution during the CLI install.
Warning: Requests for images in your uploads directory should answer with the HTTP header X-Content-Type-Options: nosniff to protect browsers from potentially unsafe files. It is highly recommended to configure appropriate response headers on your webserver before enabling uploads.
The environment has been checked. You can install MediaWiki.
Including extensions... done
Setting up database... done
Creating tables... done
Initializing statistics... done
Populating default interwiki table... done
Prevent running unneeded updates... done
Restoring MediaWiki services... done
Creating tables for enabled extensions... Creating abuse_filter table...done.
...index afl_ip_timestamp already set on abuse_filter_log table.
...index afl_wiki_timestamp already set on abuse_filter_log table.
...skipping: index filter_timestamp doesn't exist.
...abuse_filter_log table does not contain afl_filter field.
...have af_actor field in abuse_filter table.
...have afh_actor field in abuse_filter_history table.
Running MediaWiki\Extension\AbuseFilter\Maintenance\MigrateActorsAF...
No need to migrate abuse_filter.af_user, field does not exist
No need to migrate abuse_filter_history.afh_user, field does not exist
done.
...abuse_filter table does not contain af_user field.
...abuse_filter_history table does not contain afh_user field.
...abuse_filter_log table does not contain afl_patrolled_by field.
...index afl_var_dump_timestamp already set on abuse_filter_log table.
...have afl_ip_hex field in abuse_filter_log table.
Modifying afl_ip field of table abuse_filter_log...done.
Modifying afl_ip_hex field of table abuse_filter_log...done.
Creating spoofuser table...done.
...index su_normname_idx already set on spoofuser table.
Modifying table spoofuser with patch /workspace/src/extensions/AntiSpoof/includes/../sql/mysql/patch-change-spoofuser-binary.sql...done.
Creating betafeatures_user_counts table...done.
Creating cu_changes table...done.
...index cuc_actor_ip_time already set on cu_changes table.
Modifying cuc_timestamp field of table cu_changes...done.
...have cul_reason_id field in cu_log table.
...have cul_actor field in cu_log table.
Running MediaWiki\CheckUser\Maintenance\PopulateCulActor...
The cu_log table seems to be empty.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCulComment...
The cu_log table seems to be empty.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCucActor...
The cu_changes table seems to be empty.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCucComment...
The cu_changes table seems to be empty.
done.
...cu_log_event table already exists.
...cu_private_event table already exists.
...cu_log table does not contain cul_user field.
Modifying cul_actor field of table cu_log...done.
...cu_log table does not contain cul_reason field.
Modifying cul_reason_id field of table cu_log...done.
...cu_changes table does not contain cuc_user field.
...cu_changes table does not contain cuc_comment field.
Modifying cuc_actor field of table cu_changes...done.
...cu_useragent_clienthints table already exists.
...cu_useragent_clienthints_map table already exists.
Running MediaWiki\CheckUser\Maintenance\MoveLogEntriesFromCuChanges...
cu_changes is empty; nothing to move.
done.
...have cul_result_id field in cu_log table.
Modifying cuc_id field of table cu_changes...done.
Modifying cupe_actor field of table cu_private_event...done.
...cu_useragent table already exists.
...have cuc_agent_id field in cu_changes table.
...have cule_agent_id field in cu_log_event table.
...have cupe_agent_id field in cu_private_event table.
Running MediaWiki\CheckUser\Maintenance\DeleteReadOldRowsInCuChanges...
cu_changes is empty; nothing to delete.
done.
...cu_changes table does not contain cuc_only_for_read_old field.
...cu_changes table does not contain cuc_actiontext field.
...cu_changes table does not contain cuc_private field.
...index cuc_actor_ip_hex_time already set on cu_changes table.
...index cule_actor_ip_hex_time already set on cu_log_event table.
...index cupe_actor_ip_hex_time already set on cu_private_event table.
...index cul_target already set on cu_log table.
...cul_type_target key doesn't exist.
Creating discussiontools_subscription table...done.
Creating discussiontools_items table...done.
Creating echo_event table...done.
...echo_push_provider table already exists.
...echo_push_subscription table already exists.
...echo_push_topic table already exists.
Creating echo_unread_wikis table...done.
...echo_event table does not contain event_variant field.
...flaggedimages doesn't exist.
Creating flaggedrevs table...done.
...flaggedrevs table does not contain fr_img_name field.
...flaggedpage_config table does not contain fpc_select field.
Modifying fp_pending_since field of table flaggedpages...done.
Modifying fr_timestamp field of table flaggedrevs...done.
Modifying frs_timestamp field of table flaggedrevs_statistics...done.
Modifying fpc_expiry field of table flaggedpage_config...done.
...flaggedtemplates doesn't exist.
...flaggedpage_pending doesn't exist.
...flaggedrevs_tracking doesn't exist.
Creating flow_revision table...done.
Modifying ref_src_wiki field of table flow_wiki_ref...done.
Modifying ref_src_wiki field of table flow_ext_ref...done.
Modifying rev_mod_timestamp field of table flow_revision...done.
Creating geo_tags table...done.
...have gt_lon_int field in geo_tags table.
Creating global_block_whitelist table...done.
...gbw_address field does not exist in global_block_whitelist table, skipping modify field patch.
...global_block_whitelist table does not contain gbw_address field.
...global_block_whitelist table does not contain gbw_target_central_id field.
Modifying gbw_expiry field of table global_block_whitelist...done.
Modifying gbw_id field of table global_block_whitelist...done.
Creating global_preferences table...done.
...global_preferences_user_property key doesn't exist.
Modifying gp_user field of table global_preferences...done.
...ipinfo_ip_changes doesn't exist.
Creating linter table...done.
...have linter_namespace field in linter table.
...have linter_template field in linter table.
Modifying linter_params field of table linter...done.
Creating securepoll_elections table...done.
Modifying el_end_date field of table securepoll_elections...done.
Modifying vote_timestamp field of table securepoll_votes...done.
Modifying st_timestamp field of table securepoll_strike...done.
Modifying cm_timestamp field of table securepoll_cookie_match...done.
...spmsg_entity key doesn't exist.
...sppr_entity key doesn't exist.
Creating transcode table...done.
Modifying transcode_time_error field of table transcode...done.
Creating globaluser table...done.
Running MediaWiki\Extension\CentralAuth\Maintenance\MigrateGuSalt...
The gu_salt column does not seem to exist.
done.
...have rq_type field in renameuser_queue table.
...globaluser table does not contain gu_salt field.
Creating cusi_case table...done.
Creating cuci_wiki_map table...done.
Creating cuci_temp_edit table...done.
Creating cuci_user table...done.
...cusi_case table already exists.
...cusi_user table already exists.
...cusi_signal table already exists.
Creating globalblocks table...done.
...gb_target_central_id field exists in globalblocks table, skipping obsolete patch /workspace/src/extensions/GlobalBlocking/includes/../sql/mysql/patch-globalblocks-timestamps.sql.
...have gb_target_central_id field in globalblocks table.
...gb_by field does not exist in globalblocks table, skipping modify field patch.
...globalblocks table does not contain gb_by field.
...have gb_create_account field in globalblocks table.
...have gb_enable_autoblock field in globalblocks table.
...have gb_autoblock_parent_id field in globalblocks table.
...index gb_address_autoblock_parent_id already set on globalblocks table.
Running MediaWiki\Extension\GlobalBlocking\Maintenance\UpdateAutoBlockParentIdColumn...
The field globalblocks.gb_autoblock_parent_id is not nullable, nothing to do.
done.
...gb_autoblock_parent_id in table globalblocks already has the required properties.
Modifying gb_id field of table globalblocks...done.
Creating growthexperiments_link_recommendations table...done.
Creating growthexperiments_link_submissions table...done.
Creating growthexperiments_mentee_data table...done.
Creating growthexperiments_mentor_mentee table...done.
Creating growthexperiments_user_impact table...done.
...have gels_anchor_offset field in growthexperiments_link_submissions table.
...have gemm_mentee_is_active field in growthexperiments_mentor_mentee table.
Modifying gelr_data field of table growthexperiments_link_recommendations...done.
Modifying gemm_mentee_is_active field of table growthexperiments_mentor_mentee...done.
Creating loginnotify_seen_net table...done.
Creating oathauth_types table...done.
done
Installing Echo tables... done
Creating main page with default content... done
Creating administrator user account... done
[CentralAuth] Globalizing initial user... done
Database was successfully set up
MediaWiki has been successfully installed. You can now visit <http://127.0.0.1:9413> to view your wiki. If you have questions, check out our frequently asked questions list: <https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ> or use one of the support forums linked on that page.
Copying /workspace/src/LocalSettings.php to /workspace/log/LocalSettings.php
Copying /workspace/src/LocalSettings-installer.php to /workspace/log/LocalSettings-installer.php
No syntax errors detected in /workspace/src/LocalSettings.php
php maintenance/addSite.php wikidb CI --filepath=http://127.0.0.1:9413/$1 --pagepath=http://127.0.0.1:9413/index.php?title=$1
Done. Reload the web server and other long-running PHP processes to refresh the local-server cache of the sites table.
php maintenance/update.php --quick
MediaWiki 1.45.0-alpha Updater
Your composer.lock file is up to date with current dependencies!
Going to run database updates for wikidb
Depending on the size of your database this may take a while!
Updating category collations...
Selecting next 100 pages from cl_from = 0... processing... 0 done.
0 rows processed
...done.
...user_autocreate_serial table already exists.
Modifying ir_ipb_id field of table ipblocks_restrictions...done.
...ipblocks table does not exist, skipping modify field patch.
Modifying user_editcount field of table user...done.
Running MigrateRevisionActorTemp...
revision_actor_temp does not exist, so nothing to do.
done.
...revision_actor_temp doesn't exist.
Running UpdateRestrictions...
Migration is not needed.
done.
...page table does not contain page_restrictions field.
Running migrateLinksTable.php on templatelinks...
Old fields don't exist. There is no need to run this script
done.
...tl_namespace field does not exist in templatelinks table, skipping modify field patch.
...templatelinks table does not contain tl_title field.
...have el_to_path field in externallinks table.
...have user_is_temp field in user table.
Running MigrateRevisionCommentTemp...
revision_comment_temp does not exist, so nothing to do.
done.
...revision_comment_temp doesn't exist.
Running MigrateExternallinks...
Old fields don't exist. There is no need to run this script
done.
...el_to field does not exist in externallinks table, skipping modify field patch.
...have pl_target_id field in pagelinks table.
...externallinks table does not contain el_to field.
Running FixInconsistentRedirects...
Fixing inconsistent redirects ...
Estimated redirect page count: 1
0/0
Done, updated 0 of 0 rows.
done.
Modifying img_size field of table image...done.
Modifying fa_size field of table filearchive...done.
Modifying oi_size field of table oldimage...done.
Modifying us_size field of table uploadstash...done.
...have uas_year field in user_autocreate_serial table.
...block_target table already exists.
...cl_collation_ext key doesn't exist.
Running PopulateUserIsTemp...
done.
...site_type key doesn't exist.
...iwl_prefix_from_title key doesn't exist.
Running migrateLinksTable.php on pagelinks...
Old fields don't exist. There is no need to run this script
done.
Modifying rev_id field of table revision...done.
Modifying rc_id field of table recentchanges...done.
Modifying ct_rc_id field of table change_tag...done.
Running MigrateBlocks...
No ipblocks table, skipping migration to block_target.
done.
...ipblocks doesn't exist.
...pagelinks table does not contain pl_title field.
Modifying page_links_updated field of table page...done.
Changing table options of 'searchindex'.
...searchindex table has already been migrated.
...file table already exists.
...have cl_target_id field in categorylinks table.
...collation table already exists.
...module_deps doesn't exist.
...existencelinks table already exists.
Running FixWrongPasswordPrefixes...
Wrongly prefixed user password hashes, if present, have been fixed.
done.
...index cl_timestamp_id already set on categorylinks table.
Running migrateLinksTable.php on categorylinks...
Old fields don't exist. There is no need to run this script
done.
Running updateCollation.php --only-migrate-normalization...
The cl_collation column appears to already be normalized. Skipping.
done.
...primary key already set on categorylinks table.
...index rc_source_name_timestamp already set on recentchanges table.
...index rc_name_source_patrolled_timestamp already set on recentchanges table.
...recentchanges table does not contain rc_new field.
...categorylinks table does not contain cl_to field.
...abuse_filter table already exists.
...index afl_ip_timestamp already set on abuse_filter_log table.
...index afl_wiki_timestamp already set on abuse_filter_log table.
...skipping: index filter_timestamp doesn't exist.
...abuse_filter_log table does not contain afl_filter field.
...have af_actor field in abuse_filter table.
...have afh_actor field in abuse_filter_history table.
Running MediaWiki\Extension\AbuseFilter\Maintenance\MigrateActorsAF...
...Update 'MediaWiki\Extension\AbuseFilter\Maintenance\MigrateActorsAF' already logged as completed. Use --force to run it again.
done.
...abuse_filter table does not contain af_user field.
...abuse_filter_history table does not contain afh_user field.
...abuse_filter_log table does not contain afl_patrolled_by field.
...index afl_var_dump_timestamp already set on abuse_filter_log table.
...have afl_ip_hex field in abuse_filter_log table.
...afl_ip in table abuse_filter_log already modified by patch /workspace/src/extensions/AbuseFilter/includes/Hooks/Handlers/../../../db_patches/mysql/patch-add-default-afl_ip.sql.
...afl_ip_hex in table abuse_filter_log already modified by patch /workspace/src/extensions/AbuseFilter/includes/Hooks/Handlers/../../../db_patches/mysql/patch-remove-default-afl_ip_hex.sql.
...spoofuser table already exists.
...index su_normname_idx already set on spoofuser table.
...table spoofuser already modified by patch /workspace/src/extensions/AntiSpoof/includes/../sql/mysql/patch-change-spoofuser-binary.sql.
...betafeatures_user_counts table already exists.
...cu_changes table already exists.
...index cuc_actor_ip_time already set on cu_changes table.
...cuc_timestamp in table cu_changes already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_changes-cuc_timestamp.sql.
...have cul_reason_id field in cu_log table.
...have cul_actor field in cu_log table.
Running MediaWiki\CheckUser\Maintenance\PopulateCulActor...
...Update 'PopulateCulActor-2' already logged as completed. Use --force to run it again.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCulComment...
...Update 'PopulateCulComment-2' already logged as completed. Use --force to run it again.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCucActor...
...Update 'PopulateCucActor' already logged as completed. Use --force to run it again.
done.
Running MediaWiki\CheckUser\Maintenance\PopulateCucComment...
...Update 'PopulateCucComment' already logged as completed. Use --force to run it again.
done.
...cu_log_event table already exists.
...cu_private_event table already exists.
...cu_log table does not contain cul_user field.
...cul_actor in table cu_log already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_log-drop-actor_default.sql.
...cu_log table does not contain cul_reason field.
...cul_reason_id in table cu_log already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_log-drop-cul_reason_id_default.sql.
...cu_changes table does not contain cuc_user field.
...cu_changes table does not contain cuc_comment field.
...cuc_actor in table cu_changes already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_changes-drop-defaults.sql.
...cu_useragent_clienthints table already exists.
...cu_useragent_clienthints_map table already exists.
Running MediaWiki\CheckUser\Maintenance\MoveLogEntriesFromCuChanges...
...Update 'MediaWiki\CheckUser\Maintenance\MoveLogEntriesFromCuChanges' already logged as completed. Use --force to run it again.
done.
...have cul_result_id field in cu_log table.
...cuc_id in table cu_changes already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_changes-modify-cuc_id-bigint.sql.
...cupe_actor in table cu_private_event already modified by patch /workspace/src/extensions/CheckUser/src/HookHandler/../../schema/mysql/patch-cu_private_event-modify-cupe_actor-nullable.sql.
...cu_useragent table already exists.
...have cuc_agent_id field in cu_changes table.
...have cule_agent_id field in cu_log_event table.
...have cupe_agent_id field in cu_private_event table.
Running MediaWiki\CheckUser\Maintenance\DeleteReadOldRowsInCuChanges...
...Update 'MediaWiki\CheckUser\Maintenance\DeleteReadOldRowsInCuChanges' already logged as completed. Use --force to run it again.
done.
...cu_changes table does not contain cuc_only_for_read_old field.
...cu_changes table does not contain cuc_actiontext field.
...cu_changes table does not contain cuc_private field.
...index cuc_actor_ip_hex_time already set on cu_changes table.
...index cule_actor_ip_hex_time already set on cu_log_event table.
...index cupe_actor_ip_hex_time already set on cu_private_event table.
...index cul_target already set on cu_log table.
...cul_type_target key doesn't exist.
...discussiontools_subscription table already exists.
...discussiontools_items table already exists.
...echo_event table already exists.
...echo_push_provider table already exists.
...echo_push_subscription table already exists.
...echo_push_topic table already exists.
...index eps_user already set on echo_push_subscription table.
...echo_push_subscription_token key doesn't exist.
...index eps_token already set on echo_push_subscription table.
...have eps_topic field in echo_push_subscription table.
...echo_unread_wikis table already exists.
...echo_event table does not contain event_variant field.
...flaggedimages doesn't exist.
...flaggedrevs table already exists.
...flaggedrevs table does not contain fr_img_name field.
...flaggedpage_config table does not contain fpc_select field.
...fp_pending_since in table flaggedpages already modified by patch /workspace/src/extensions/FlaggedRevs/includes/backend/schema/mysql/patch-flaggedpages-timestamp.sql.
...fr_timestamp in table flaggedrevs already modified by patch /workspace/src/extensions/FlaggedRevs/includes/backend/schema/mysql/patch-flaggedrevs-timestamps.sql.
...frs_timestamp in table flaggedrevs_statistics already modified by patch /workspace/src/extensions/FlaggedRevs/includes/backend/schema/mysql/patch-flaggedrevs_statistics-timestamp.sql.
...fpc_expiry in table flaggedpage_config already modified by patch /workspace/src/extensions/FlaggedRevs/includes/backend/schema/mysql/patch-flaggedpage_config-timestamp.sql.
...flaggedtemplates doesn't exist.
...flaggedpage_pending doesn't exist.
...flaggedrevs_tracking doesn't exist.
...flow_revision table already exists.
...ref_src_wiki in table flow_wiki_ref already modified by patch /workspace/src/extensions/Flow/sql/mysql/patch-increase-varchar-flow_wiki_ref-ref_src_wiki.sql.
...ref_src_wiki in table flow_ext_ref already modified by patch /workspace/src/extensions/Flow/sql/mysql/patch-increase-varchar-flow_ext_ref-ref_src_wiki.sql.
...rev_mod_timestamp in table flow_revision already modified by patch /workspace/src/extensions/Flow/sql/mysql/patch-flow_revision-rev_mod_timestamp.sql.
...geo_tags table already exists.
...have gt_lon_int field in geo_tags table.
...global_block_whitelist table already exists.
...gbw_address field does not exist in global_block_whitelist table, skipping modify field patch.
...global_block_whitelist table does not contain gbw_address field.
...global_block_whitelist table does not contain gbw_target_central_id field.
...gbw_expiry in table global_block_whitelist already modified by patch /workspace/src/extensions/GlobalBlocking/includes/../sql/mysql/patch-global_block_whitelist-gbw_expiry-type.sql.
...gbw_id in table global_block_whitelist already modified by patch /workspace/src/extensions/GlobalBlocking/includes/../sql/mysql/patch-global_block_whitelist-modify-gbw_id-unsigned.sql.
...global_preferences table already exists.
...global_preferences_user_property key doesn't exist.
...gp_user in table global_preferences already modified by patch /workspace/src/extensions/GlobalPreferences/sql/mysql/patch-gp_user-unsigned.sql.
...ipinfo_ip_changes doesn't exist.
...linter table already exists.
...have linter_namespace field in linter table.
...have linter_template field in linter table.
...linter_params in table linter already modified by patch /workspace/src/extensions/Linter/sql/mysql/patch-linter-fix-params-null-definition.sql.
...securepoll_elections table already exists.
...el_end_date in table securepoll_elections already modified by patch /workspace/src/extensions/SecurePoll/sql/mysql/patch-securepoll_elections-timestamps.sql.
...vote_timestamp in table securepoll_votes already modified by patch /workspace/src/extensions/SecurePoll/sql/mysql/patch-securepoll_votes-timestamp.sql.
...st_timestamp in table securepoll_strike already modified by patch /workspace/src/extensions/SecurePoll/sql/mysql/patch-securepoll_strike-timestamp.sql.
...cm_timestamp in table securepoll_cookie_match already modified by patch /workspace/src/extensions/SecurePoll/sql/mysql/patch-securepoll_cookie_match-timestamp.sql.
...spmsg_entity key doesn't exist.
...sppr_entity key doesn't exist.
...transcode table already exists.
...transcode_time_error in table transcode already modified by patch /workspace/src/extensions/TimedMediaHandler/sql/patch-transcode-transcode_timestamp.sql.
...globaluser table already exists.
Running MediaWiki\Extension\CentralAuth\Maintenance\MigrateGuSalt...
...Update 'MigrateGuSalt' already logged as completed. Use --force to run it again.
done.
...have rq_type field in renameuser_queue table.
...globaluser table does not contain gu_salt field.
...cusi_case table already exists.
...cuci_wiki_map table already exists.
...cuci_temp_edit table already exists.
...cuci_user table already exists.
...cusi_case table already exists.
...cusi_user table already exists.
...cusi_signal table already exists.
...globalblocks table already exists.
...gb_target_central_id field exists in globalblocks table, skipping obsolete patch /workspace/src/extensions/GlobalBlocking/includes/../sql/mysql/patch-globalblocks-timestamps.sql.
...have gb_target_central_id field in globalblocks table.
...gb_by field does not exist in globalblocks table, skipping modify field patch.
...globalblocks table does not contain gb_by field.
...have gb_create_account field in globalblocks table.
...have gb_enable_autoblock field in globalblocks table.
...have gb_autoblock_parent_id field in globalblocks table.
...index gb_address_autoblock_parent_id already set on globalblocks table.
Running MediaWiki\Extension\GlobalBlocking\Maintenance\UpdateAutoBlockParentIdColumn...
...Update 'MediaWiki\Extension\GlobalBlocking\Maintenance\UpdateAutoBlockParentIdColumn' already logged as completed. Use --force to run it again.
done.
...gb_autoblock_parent_id in table globalblocks already has the required properties.
...gb_id in table globalblocks already modified by patch /workspace/src/extensions/GlobalBlocking/includes/../sql/mysql/patch-globalblocks-modify-gb_id-unsigned.sql.
...growthexperiments_link_recommendations table already exists.
...growthexperiments_link_submissions table already exists.
...growthexperiments_mentee_data table already exists.
...growthexperiments_mentor_mentee table already exists.
...growthexperiments_user_impact table already exists.
...have gels_anchor_offset field in growthexperiments_link_submissions table.
...have gemm_mentee_is_active field in growthexperiments_mentor_mentee table.
...gelr_data in table growthexperiments_link_recommendations already modified by patch /workspace/src/extensions/GrowthExperiments/includes/../sql/mysql/patch-modify_gelr_data_nullable.sql.
...gemm_mentee_is_active in table growthexperiments_mentor_mentee already modified by patch /workspace/src/extensions/GrowthExperiments/includes/../sql/mysql/patch-modify_gemm_mentee_is_active_mwtinyint.sql.
...loginnotify_seen_net table already exists.
...oathauth_types table already exists.
...site_stats is populated...done.
Checking existence of old default messages...done.
Adding empty categories with description pages...
Removing empty categories without description pages...
Category cleanup complete.
Fixing log entries with log_title starting with 'User:#'
done.
Populating afl_ip_hex in abuse_filter_log with value from afl_ip...
Done. Migrated 0 rows.
Removing trailing spaces from cu_log entries...
cu_log is empty; nothing to process.
Skipping importing data from cu_changes to central index tables as the table is empty
Skipping importing data from cu_log_event to central index tables as the table is empty
Skipping importing data from cu_private_event to central index tables as the table is empty
Renaming the 'checkuser-temporary-account-viewer' group to 'temporary-account-viewer'
Nothing to do - no users in the 'checkuser-temporary-account-viewer' group
Populating links tables...
Completed
Updated 0 workflows
Warnings: 0
Failed: 0
Removed 0 links to special pages.
Completed
Completed
Running linter migrate namespace function, this may take a while
Migrating the page table page_namespace field to the linter table...
Completed migration of page_namespace data to the linter table, 0 rows updated.
Running linter migrate linter_params to tag and template function, this may take a while
Migrating the linter_params field to the linter_tag and linter_template fields...
Completed migration of linter_params data in the linter table, 0 rows updated.
0 row(s) selected
0 row(s) updated
Done
Purging caches...
Done in 1.3 s.
php maintenance/rebuildLocalisationCache.php --lang en
Rebuilding en...
1 languages rebuilt out of 1
<<< Finish: Install MediaWiki, db=<MySQL /workspace/db/quibble-mysql-6efniqbq/socket>, in 3.641 s
DEBUG:quibble.util:Waiting for Post-dependency install, pre-database dependent steps: 10s elapsed, 1/2 completed
INFO:quibble.commands:>>> Start: npm install in /workspace/src
npm warn deprecated osenv@0.1.5: This package is no longer supported.
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated har-validator@5.1.5: this library is no longer supported
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm warn deprecated supertest@7.1.0: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm warn deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm warn deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm warn deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm warn deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated superagent@9.0.2: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
added 1805 packages, and audited 1807 packages in 14s
236 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (2 moderate, 3 high, 2 critical)
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
<<< Finish: npm install in /workspace/src, in 14.425 s
INFO:quibble.commands:<<< Finish: Run Post-dependency install, pre-database dependent steps in parallel (concurrency=2):
* Install MediaWiki, db=<MySQL /workspace/db/quibble-mysql-6efniqbq/socket>
* npm install in /workspace/src, in 14.458 s
INFO:quibble.commands:>>> Start: PHPUnit unit tests
INFO:quibble.commands:PHPUnit unit tests
INFO:quibble.commands:composer phpunit:unit -- --exclude-group Broken,ParserFuzz,Stub
> phpunit '--colors=always' '--testsuite=core:unit,extensions:unit' '--exclude-group' 'Broken,ParserFuzz,Stub'
Using PHP 8.1.33
Running without MediaWiki settings because there are no integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
........................................................... 59 / 24075 ( 0%)
........................................................... 118 / 24075 ( 0%)
........................................................... 177 / 24075 ( 0%)
........................................................... 236 / 24075 ( 0%)
........................................................... 295 / 24075 ( 1%)
........................................................... 354 / 24075 ( 1%)
........................................................... 413 / 24075 ( 1%)
........................................................... 472 / 24075 ( 1%)
........................................................... 531 / 24075 ( 2%)
........................................................... 590 / 24075 ( 2%)
........................................................... 649 / 24075 ( 2%)
........................................................... 708 / 24075 ( 2%)
........................................................... 767 / 24075 ( 3%)
........................................................... 826 / 24075 ( 3%)
........................................................... 885 / 24075 ( 3%)
........................................................... 944 / 24075 ( 3%)
........................................................... 1003 / 24075 ( 4%)
........................................................... 1062 / 24075 ( 4%)
........................................................... 1121 / 24075 ( 4%)
........................................................... 1180 / 24075 ( 4%)
........................................................... 1239 / 24075 ( 5%)
........................................................... 1298 / 24075 ( 5%)
........................................................... 1357 / 24075 ( 5%)
........................................................... 1416 / 24075 ( 5%)
........................................................... 1475 / 24075 ( 6%)
........................................................... 1534 / 24075 ( 6%)
........................................................... 1593 / 24075 ( 6%)
........................................................... 1652 / 24075 ( 6%)
........................................................... 1711 / 24075 ( 7%)
........................................................... 1770 / 24075 ( 7%)
........................................................... 1829 / 24075 ( 7%)
........................................................... 1888 / 24075 ( 7%)
........................................................... 1947 / 24075 ( 8%)
........................................................... 2006 / 24075 ( 8%)
........................................................... 2065 / 24075 ( 8%)
........................................................... 2124 / 24075 ( 8%)
........................................................... 2183 / 24075 ( 9%)
........................................................... 2242 / 24075 ( 9%)
........................................................... 2301 / 24075 ( 9%)
........................................................... 2360 / 24075 ( 9%)
........................................................... 2419 / 24075 ( 10%)
........................................................... 2478 / 24075 ( 10%)
........................................................... 2537 / 24075 ( 10%)
........................................................... 2596 / 24075 ( 10%)
........................................................... 2655 / 24075 ( 11%)
........................................................... 2714 / 24075 ( 11%)
........................................................... 2773 / 24075 ( 11%)
........................................................... 2832 / 24075 ( 11%)
........................................................... 2891 / 24075 ( 12%)
........................................................... 2950 / 24075 ( 12%)
........................................................... 3009 / 24075 ( 12%)
........................................................... 3068 / 24075 ( 12%)
........................................................... 3127 / 24075 ( 12%)
........................................................... 3186 / 24075 ( 13%)
........................................................... 3245 / 24075 ( 13%)
........................................................... 3304 / 24075 ( 13%)
........................................................... 3363 / 24075 ( 13%)
........................................................... 3422 / 24075 ( 14%)
........................................................... 3481 / 24075 ( 14%)
........................................................... 3540 / 24075 ( 14%)
........................................................... 3599 / 24075 ( 14%)
........................................................... 3658 / 24075 ( 15%)
........................................................... 3717 / 24075 ( 15%)
........................................................... 3776 / 24075 ( 15%)
........................................................... 3835 / 24075 ( 15%)
........................................................... 3894 / 24075 ( 16%)
........................................................... 3953 / 24075 ( 16%)
........................................................... 4012 / 24075 ( 16%)
........................................................... 4071 / 24075 ( 16%)
........................................................... 4130 / 24075 ( 17%)
........................................................... 4189 / 24075 ( 17%)
........................................................... 4248 / 24075 ( 17%)
........................................................... 4307 / 24075 ( 17%)
........................................................... 4366 / 24075 ( 18%)
........................................................... 4425 / 24075 ( 18%)
........................................................... 4484 / 24075 ( 18%)
........................................................... 4543 / 24075 ( 18%)
........................................................... 4602 / 24075 ( 19%)
........................................................... 4661 / 24075 ( 19%)
........................................................... 4720 / 24075 ( 19%)
........................................................... 4779 / 24075 ( 19%)
........................................................... 4838 / 24075 ( 20%)
........................................................... 4897 / 24075 ( 20%)
........................................................... 4956 / 24075 ( 20%)
........................................................... 5015 / 24075 ( 20%)
........................................................... 5074 / 24075 ( 21%)
........................................................... 5133 / 24075 ( 21%)
........................................................... 5192 / 24075 ( 21%)
........................................................... 5251 / 24075 ( 21%)
........................................................... 5310 / 24075 ( 22%)
........................................................... 5369 / 24075 ( 22%)
........................................................... 5428 / 24075 ( 22%)
........................................................... 5487 / 24075 ( 22%)
........................................................... 5546 / 24075 ( 23%)
........................................................... 5605 / 24075 ( 23%)
........................................................... 5664 / 24075 ( 23%)
.................................S......................... 5723 / 24075 ( 23%)
........................................................... 5782 / 24075 ( 24%)
........................................................... 5841 / 24075 ( 24%)
........................................................... 5900 / 24075 ( 24%)
........................................................... 5959 / 24075 ( 24%)
........................................................... 6018 / 24075 ( 24%)
............................S.............................. 6077 / 24075 ( 25%)
........................................................... 6136 / 24075 ( 25%)
........................................................... 6195 / 24075 ( 25%)
........................................................... 6254 / 24075 ( 25%)
........................................................... 6313 / 24075 ( 26%)
........................................................... 6372 / 24075 ( 26%)
........................................................... 6431 / 24075 ( 26%)
........................................................... 6490 / 24075 ( 26%)
........................................................... 6549 / 24075 ( 27%)
........................................................... 6608 / 24075 ( 27%)
........................................................... 6667 / 24075 ( 27%)
........................................................... 6726 / 24075 ( 27%)
........................................................... 6785 / 24075 ( 28%)
........................................................... 6844 / 24075 ( 28%)
........................................................... 6903 / 24075 ( 28%)
..........................................................S 6962 / 24075 ( 28%)
.S.S.S..................................................... 7021 / 24075 ( 29%)
........................................................... 7080 / 24075 ( 29%)
........................................................... 7139 / 24075 ( 29%)
........................................................... 7198 / 24075 ( 29%)
........................................................... 7257 / 24075 ( 30%)
........................................................... 7316 / 24075 ( 30%)
........................................................... 7375 / 24075 ( 30%)
........................................................... 7434 / 24075 ( 30%)
........................................................... 7493 / 24075 ( 31%)
........................................................... 7552 / 24075 ( 31%)
........................................................... 7611 / 24075 ( 31%)
........................................................... 7670 / 24075 ( 31%)
........................................................... 7729 / 24075 ( 32%)
........................................................... 7788 / 24075 ( 32%)
........................................SS................. 7847 / 24075 ( 32%)
........................................................... 7906 / 24075 ( 32%)
........................................................... 7965 / 24075 ( 33%)
........................................................... 8024 / 24075 ( 33%)
........................................................... 8083 / 24075 ( 33%)
........................................................... 8142 / 24075 ( 33%)
........................................................... 8201 / 24075 ( 34%)
........................................................... 8260 / 24075 ( 34%)
........................................................... 8319 / 24075 ( 34%)
........................................................... 8378 / 24075 ( 34%)
........................................................... 8437 / 24075 ( 35%)
........................................................... 8496 / 24075 ( 35%)
........................................................... 8555 / 24075 ( 35%)
........................................................... 8614 / 24075 ( 35%)
........................................................... 8673 / 24075 ( 36%)
........................................................... 8732 / 24075 ( 36%)
........................................................... 8791 / 24075 ( 36%)
........................................................... 8850 / 24075 ( 36%)
........................................................... 8909 / 24075 ( 37%)
........................................................... 8968 / 24075 ( 37%)
........................................................... 9027 / 24075 ( 37%)
........................................................... 9086 / 24075 ( 37%)
........................................................... 9145 / 24075 ( 37%)
........................................................... 9204 / 24075 ( 38%)
........................................................... 9263 / 24075 ( 38%)
........................................................... 9322 / 24075 ( 38%)
........................................................... 9381 / 24075 ( 38%)
........................................................... 9440 / 24075 ( 39%)
........................................................... 9499 / 24075 ( 39%)
........................................................... 9558 / 24075 ( 39%)
........................................................... 9617 / 24075 ( 39%)
........................................................... 9676 / 24075 ( 40%)
........................................................... 9735 / 24075 ( 40%)
........................................................... 9794 / 24075 ( 40%)
........................................................... 9853 / 24075 ( 40%)
........................................................... 9912 / 24075 ( 41%)
........................................................... 9971 / 24075 ( 41%)
........................................................... 10030 / 24075 ( 41%)
........................................................... 10089 / 24075 ( 41%)
........................................................... 10148 / 24075 ( 42%)
........................................................... 10207 / 24075 ( 42%)
........................................................... 10266 / 24075 ( 42%)
........................................................... 10325 / 24075 ( 42%)
........................................................... 10384 / 24075 ( 43%)
........................................................... 10443 / 24075 ( 43%)
........................................................... 10502 / 24075 ( 43%)
........................................................... 10561 / 24075 ( 43%)
........................................................... 10620 / 24075 ( 44%)
........................................................... 10679 / 24075 ( 44%)
........................................................... 10738 / 24075 ( 44%)
........................................................... 10797 / 24075 ( 44%)
........................................................... 10856 / 24075 ( 45%)
........................................................... 10915 / 24075 ( 45%)
........................................................... 10974 / 24075 ( 45%)
........................................................... 11033 / 24075 ( 45%)
........................................................... 11092 / 24075 ( 46%)
........................................................... 11151 / 24075 ( 46%)
........................................................... 11210 / 24075 ( 46%)
........................................................... 11269 / 24075 ( 46%)
........................................................... 11328 / 24075 ( 47%)
........................................................... 11387 / 24075 ( 47%)
........................................................... 11446 / 24075 ( 47%)
........................................................... 11505 / 24075 ( 47%)
........................................................... 11564 / 24075 ( 48%)
........................................................... 11623 / 24075 ( 48%)
........................................................... 11682 / 24075 ( 48%)
........................................................... 11741 / 24075 ( 48%)
........................................................... 11800 / 24075 ( 49%)
........................................................... 11859 / 24075 ( 49%)
........................................................... 11918 / 24075 ( 49%)
........................................................... 11977 / 24075 ( 49%)
........................................................... 12036 / 24075 ( 49%)
........................................................... 12095 / 24075 ( 50%)
........................................................... 12154 / 24075 ( 50%)
........................................................... 12213 / 24075 ( 50%)
........................................................... 12272 / 24075 ( 50%)
........................................................... 12331 / 24075 ( 51%)
........................................................... 12390 / 24075 ( 51%)
........................................................... 12449 / 24075 ( 51%)
........................................................... 12508 / 24075 ( 51%)
........................................................... 12567 / 24075 ( 52%)
........................................................... 12626 / 24075 ( 52%)
........................................................... 12685 / 24075 ( 52%)
........................................................... 12744 / 24075 ( 52%)
........................................................... 12803 / 24075 ( 53%)
........................................................... 12862 / 24075 ( 53%)
........................................................... 12921 / 24075 ( 53%)
........................................................... 12980 / 24075 ( 53%)
................................SS......................... 13039 / 24075 ( 54%)
..............................................SSS.......... 13098 / 24075 ( 54%)
........................................................... 13157 / 24075 ( 54%)
........................................................... 13216 / 24075 ( 54%)
........................................................... 13275 / 24075 ( 55%)
........................................................... 13334 / 24075 ( 55%)
........................................................... 13393 / 24075 ( 55%)
........................................................... 13452 / 24075 ( 55%)
....................S...................................... 13511 / 24075 ( 56%)
........................................................... 13570 / 24075 ( 56%)
........................................................... 13629 / 24075 ( 56%)
........................................................... 13688 / 24075 ( 56%)
........................................................... 13747 / 24075 ( 57%)
........................................................... 13806 / 24075 ( 57%)
........................................................... 13865 / 24075 ( 57%)
........................................................... 13924 / 24075 ( 57%)
........................................................... 13983 / 24075 ( 58%)
........................................................... 14042 / 24075 ( 58%)
........................................................... 14101 / 24075 ( 58%)
........................................................... 14160 / 24075 ( 58%)
........................................................... 14219 / 24075 ( 59%)
........................................................... 14278 / 24075 ( 59%)
........................................................... 14337 / 24075 ( 59%)
........................................................... 14396 / 24075 ( 59%)
........................................................... 14455 / 24075 ( 60%)
........................................................... 14514 / 24075 ( 60%)
........................................................... 14573 / 24075 ( 60%)
........................................................... 14632 / 24075 ( 60%)
........................................................... 14691 / 24075 ( 61%)
........................................................... 14750 / 24075 ( 61%)
........................................................... 14809 / 24075 ( 61%)
........................................................... 14868 / 24075 ( 61%)
........................................................... 14927 / 24075 ( 62%)
........................................................... 14986 / 24075 ( 62%)
........................................................... 15045 / 24075 ( 62%)
........................................................... 15104 / 24075 ( 62%)
........................................................... 15163 / 24075 ( 62%)
........................................................... 15222 / 24075 ( 63%)
........................................................... 15281 / 24075 ( 63%)
........................................................... 15340 / 24075 ( 63%)
........................................................... 15399 / 24075 ( 63%)
........................................................... 15458 / 24075 ( 64%)
........................................................... 15517 / 24075 ( 64%)
........................................................... 15576 / 24075 ( 64%)
........................................................... 15635 / 24075 ( 64%)
........................................................... 15694 / 24075 ( 65%)
........................................................... 15753 / 24075 ( 65%)
........................................................... 15812 / 24075 ( 65%)
........................................................... 15871 / 24075 ( 65%)
........................................................... 15930 / 24075 ( 66%)
........................................................... 15989 / 24075 ( 66%)
........................................................... 16048 / 24075 ( 66%)
........................................................... 16107 / 24075 ( 66%)
........................................................... 16166 / 24075 ( 67%)
........................................................... 16225 / 24075 ( 67%)
........................................................... 16284 / 24075 ( 67%)
........................................................... 16343 / 24075 ( 67%)
........................................................... 16402 / 24075 ( 68%)
........................................................... 16461 / 24075 ( 68%)
........................................................... 16520 / 24075 ( 68%)
........................................................... 16579 / 24075 ( 68%)
........................................................... 16638 / 24075 ( 69%)
........................................................... 16697 / 24075 ( 69%)
........................................................... 16756 / 24075 ( 69%)
........................................................... 16815 / 24075 ( 69%)
........................................................... 16874 / 24075 ( 70%)
........................................................... 16933 / 24075 ( 70%)
........................................................... 16992 / 24075 ( 70%)
........................................................... 17051 / 24075 ( 70%)
........................................................... 17110 / 24075 ( 71%)
........................................................... 17169 / 24075 ( 71%)
........................................................... 17228 / 24075 ( 71%)
........................................................... 17287 / 24075 ( 71%)
........................................................... 17346 / 24075 ( 72%)
........................................................... 17405 / 24075 ( 72%)
........................................................... 17464 / 24075 ( 72%)
........................................................... 17523 / 24075 ( 72%)
........................................................... 17582 / 24075 ( 73%)
........................................................... 17641 / 24075 ( 73%)
........................................................... 17700 / 24075 ( 73%)
........................................................... 17759 / 24075 ( 73%)
........................................................... 17818 / 24075 ( 74%)
........................................................... 17877 / 24075 ( 74%)
........................................................... 17936 / 24075 ( 74%)
........................................................... 17995 / 24075 ( 74%)
........................................................... 18054 / 24075 ( 74%)
........................................................... 18113 / 24075 ( 75%)
........................................................... 18172 / 24075 ( 75%)
........................................................... 18231 / 24075 ( 75%)
........................................................... 18290 / 24075 ( 75%)
........................................................... 18349 / 24075 ( 76%)
........................................................... 18408 / 24075 ( 76%)
........................................................... 18467 / 24075 ( 76%)
........................................................... 18526 / 24075 ( 76%)
........................................................... 18585 / 24075 ( 77%)
........................................................... 18644 / 24075 ( 77%)
........................................................... 18703 / 24075 ( 77%)
........................................................... 18762 / 24075 ( 77%)
........................................................... 18821 / 24075 ( 78%)
........................................................... 18880 / 24075 ( 78%)
........................................................... 18939 / 24075 ( 78%)
........................................................... 18998 / 24075 ( 78%)
........................................................... 19057 / 24075 ( 79%)
........................................................... 19116 / 24075 ( 79%)
........................................................... 19175 / 24075 ( 79%)
........................................................... 19234 / 24075 ( 79%)
........................................................... 19293 / 24075 ( 80%)
........................................................... 19352 / 24075 ( 80%)
........................................................... 19411 / 24075 ( 80%)
........................................................... 19470 / 24075 ( 80%)
........................................................... 19529 / 24075 ( 81%)
........................................................... 19588 / 24075 ( 81%)
........................................................... 19647 / 24075 ( 81%)
........................................................... 19706 / 24075 ( 81%)
........................................................... 19765 / 24075 ( 82%)
........................................................... 19824 / 24075 ( 82%)
........................................................... 19883 / 24075 ( 82%)
........................................................... 19942 / 24075 ( 82%)
........................................................... 20001 / 24075 ( 83%)
........................................................... 20060 / 24075 ( 83%)
........................................................... 20119 / 24075 ( 83%)
........................................................... 20178 / 24075 ( 83%)
........................................................... 20237 / 24075 ( 84%)
........................................................... 20296 / 24075 ( 84%)
........................................................... 20355 / 24075 ( 84%)
........................................................... 20414 / 24075 ( 84%)
........................................................... 20473 / 24075 ( 85%)
........................................................... 20532 / 24075 ( 85%)
........................................................... 20591 / 24075 ( 85%)
........................................................... 20650 / 24075 ( 85%)
........................................................... 20709 / 24075 ( 86%)
........................................................... 20768 / 24075 ( 86%)
........................................................... 20827 / 24075 ( 86%)
........................................................... 20886 / 24075 ( 86%)
........................................................... 20945 / 24075 ( 86%)
........................................................... 21004 / 24075 ( 87%)
........................................................... 21063 / 24075 ( 87%)
........................................................... 21122 / 24075 ( 87%)
........................................................... 21181 / 24075 ( 87%)
........................................................... 21240 / 24075 ( 88%)
........................................................... 21299 / 24075 ( 88%)
........................................................... 21358 / 24075 ( 88%)
........................................................... 21417 / 24075 ( 88%)
........................................................... 21476 / 24075 ( 89%)
........................................................... 21535 / 24075 ( 89%)
........................................................... 21594 / 24075 ( 89%)
........................................................... 21653 / 24075 ( 89%)
........................................................... 21712 / 24075 ( 90%)
........................................................... 21771 / 24075 ( 90%)
........................................................... 21830 / 24075 ( 90%)
........................................................... 21889 / 24075 ( 90%)
..........................................SSSSS............ 21948 / 24075 ( 91%)
........................................................... 22007 / 24075 ( 91%)
........................................................... 22066 / 24075 ( 91%)
........................................................... 22125 / 24075 ( 91%)
........................................................... 22184 / 24075 ( 92%)
........................................................... 22243 / 24075 ( 92%)
........................................................... 22302 / 24075 ( 92%)
........................................................... 22361 / 24075 ( 92%)
........................................................... 22420 / 24075 ( 93%)
........................................................... 22479 / 24075 ( 93%)
........................................................... 22538 / 24075 ( 93%)
........................................................... 22597 / 24075 ( 93%)
........................................................... 22656 / 24075 ( 94%)
........................................................... 22715 / 24075 ( 94%)
....................................SSSSS.................. 22774 / 24075 ( 94%)
........................................................... 22833 / 24075 ( 94%)
........................................................... 22892 / 24075 ( 95%)
........................................................... 22951 / 24075 ( 95%)
........................................................... 23010 / 24075 ( 95%)
........................................................... 23069 / 24075 ( 95%)
........................................................... 23128 / 24075 ( 96%)
........................................................... 23187 / 24075 ( 96%)
........................................................... 23246 / 24075 ( 96%)
........................................................... 23305 / 24075 ( 96%)
........................................................... 23364 / 24075 ( 97%)
........................................................... 23423 / 24075 ( 97%)
........................................................... 23482 / 24075 ( 97%)
........................................................... 23541 / 24075 ( 97%)
........................................................... 23600 / 24075 ( 98%)
........................................................... 23659 / 24075 ( 98%)
........................................................... 23718 / 24075 ( 98%)
........................................................... 23777 / 24075 ( 98%)
........................................................... 23836 / 24075 ( 99%)
........................................................... 23895 / 24075 ( 99%)
........................................................... 23954 / 24075 ( 99%)
........................................................... 24013 / 24075 ( 99%)
..........................................................
Time: 00:30.257, Memory: 593.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 24075, Assertions: 226033, Skipped: 24.
You should really speed up these slow tests (>100ms)...
1. 6298ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #11
2. 3068ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #60
3. 2099ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #67
4. 546ms to run ScopeStructureTest::testAutoloadNoFileScope with data set "/workspace/src/includes/languages/data/ZhConversion.php"
5. 300ms to run MediaWiki\\Extension\\CentralAuth\\User\\Tests\\Unit\\CentralAuthGlobalRegistrationProviderTest::testFetchRegistrationBatchShouldBatchQueries
6. 258ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #22
7. 168ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #50
8. 143ms to run GrowthExperiments\\Tests\\Unit\\ExperimentUserDefaultsManagerTest::testShouldNotAssignUnamedUsers with data set #0
9. 143ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #20
10. 140ms to run LayeredParameterizedPasswordTest::testLargeLayeredPartialUpdate
...and there are 2 more above your threshold hidden from view
INFO:quibble.commands:<<< Finish: PHPUnit unit tests, in 33.101 s
INFO:quibble.commands:>>> Start: PHPUnit Prepare Parallel Run (Composer)
> MediaWiki\Composer\PhpUnitSplitter\PhpUnitXmlManager::fetchResultsCache
Downloaded latest PHPUnit results cache from https://phpunit-results-cache.toolforge.org/results/quibble-vendor-mysql-php81
> MediaWiki\Composer\PhpUnitSplitter\PhpUnitXmlManager::listTestsNotice
Running `phpunit --list-tests-xml` to get a list of expected tests ...
> phpunit '--list-tests-xml=tests-list-extensions.xml' '--testsuite=extensions'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
Wrote list of tests that would have been run to tests-list-extensions.xml
> MediaWiki\Composer\PhpUnitSplitter\PhpUnitXmlManager::splitTestsListExtensions
INFO:quibble.util:Copying /workspace/src/phpunit-database.xml to /workspace/log/phpunit-parallel-database.xml
INFO:quibble.util:Copying /workspace/src/phpunit-databaseless.xml to /workspace/log/phpunit-parallel-databaseless.xml
INFO:quibble.commands:<<< Finish: PHPUnit Prepare Parallel Run (Composer), in 6.769 s
INFO:quibble.commands:>>> Start: PHPUnit extensions suite (without database or standalone) parallel run (Composer)
> MediaWiki\Composer\ComposerLaunchParallel::launchTestsDatabaseless
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_0' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_0_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_4' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_4_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_1' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_1_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_2' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_2_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_3' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_3_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_5' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_5_databaseless.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_6' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_6_databaseless.result.cache'' ...
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_1' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_1_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 789 ( 7%)
............................................................... 126 / 789 ( 15%)
............................................................... 189 / 789 ( 23%)
............................................................... 252 / 789 ( 31%)
............................................................... 315 / 789 ( 39%)
............................................................... 378 / 789 ( 47%)
............................................................... 441 / 789 ( 55%)
............................................................... 504 / 789 ( 63%)
............................................................... 567 / 789 ( 71%)
............................................................... 630 / 789 ( 79%)
............................................................... 693 / 789 ( 87%)
............................................................... 756 / 789 ( 95%)
................................. 789 / 789 (100%)
Time: 00:05.436, Memory: 70.50 MB
OK (789 tests, 2413 assertions)
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_0' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_0_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
..........SS...........SS.S.................................. 61 / 1959 ( 3%)
............................................................. 122 / 1959 ( 6%)
............................................................. 183 / 1959 ( 9%)
............................................................. 244 / 1959 ( 12%)
............................................................. 305 / 1959 ( 15%)
............................................................. 366 / 1959 ( 18%)
............................................................. 427 / 1959 ( 21%)
............................................................. 488 / 1959 ( 24%)
............................................................. 549 / 1959 ( 28%)
............................................................. 610 / 1959 ( 31%)
............................................................. 671 / 1959 ( 34%)
............................................................. 732 / 1959 ( 37%)
............................................................. 793 / 1959 ( 40%)
............................................................. 854 / 1959 ( 43%)
............................................................. 915 / 1959 ( 46%)
............................................................. 976 / 1959 ( 49%)
............................................................. 1037 / 1959 ( 52%)
............................................................. 1098 / 1959 ( 56%)
............................................................. 1159 / 1959 ( 59%)
............................................................. 1220 / 1959 ( 62%)
............................................................. 1281 / 1959 ( 65%)
............................................................. 1342 / 1959 ( 68%)
............................................................. 1403 / 1959 ( 71%)
............................................................. 1464 / 1959 ( 74%)
............................................................. 1525 / 1959 ( 77%)
............................................................. 1586 / 1959 ( 80%)
................................................SS........... 1647 / 1959 ( 84%)
...................SSS....................................... 1708 / 1959 ( 87%)
............................................................. 1769 / 1959 ( 90%)
......................................................SSS.... 1830 / 1959 ( 93%)
...SSSS...................................................... 1891 / 1959 ( 96%)
............................................................. 1952 / 1959 ( 99%)
......S 1959 / 1959 (100%)
Time: 00:05.443, Memory: 157.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 1959, Assertions: 3700, Skipped: 18.
You should really speed up these slow tests (>100ms)...
1. 266ms to run MediaWiki\\Extension\\CentralAuth\\User\\Tests\\Unit\\CentralAuthGlobalRegistrationProviderTest::testFetchRegistrationBatchShouldBatchQueries
2. 149ms to run MediaWiki\\Extension\\AbuseFilter\\Tests\\Integration\\AbuseFilterSchemaTest::testSchemasHaveAutoGeneratedFiles with data set "tables.json"
3. 132ms to run MediaWiki\\CheckUser\\Tests\\Integration\\CheckUserSchemaTest::testSchemasHaveAutoGeneratedFiles with data set "tables.json"
4. 119ms to run MediaWiki\\Extension\\CentralAuth\\Tests\\Phpunit\\Integration\\CentralAuthSchemaTest::testSchemasHaveAutoGeneratedFiles with data set "tables.json"
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_2' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_2_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
................................................SS........... 61 / 3320 ( 1%)
.................................................S........... 122 / 3320 ( 3%)
............................................................. 183 / 3320 ( 5%)
............................................................. 244 / 3320 ( 7%)
............................................................. 305 / 3320 ( 9%)
............................................................. 366 / 3320 ( 11%)
............................................................. 427 / 3320 ( 12%)
............................................................. 488 / 3320 ( 14%)
............................................................. 549 / 3320 ( 16%)
............................................................. 610 / 3320 ( 18%)
............................................................. 671 / 3320 ( 20%)
............................................................. 732 / 3320 ( 22%)
............................................................. 793 / 3320 ( 23%)
............................................................. 854 / 3320 ( 25%)
............................................................. 915 / 3320 ( 27%)
............................................................. 976 / 3320 ( 29%)
............................................................. 1037 / 3320 ( 31%)
............................................................. 1098 / 3320 ( 33%)
............................................................. 1159 / 3320 ( 34%)
............................................................. 1220 / 3320 ( 36%)
............................................................. 1281 / 3320 ( 38%)
............................................................. 1342 / 3320 ( 40%)
............................................................. 1403 / 3320 ( 42%)
............................................................. 1464 / 3320 ( 44%)
............................................................. 1525 / 3320 ( 45%)
............................................................. 1586 / 3320 ( 47%)
............................................................. 1647 / 3320 ( 49%)
............................................................. 1708 / 3320 ( 51%)
............................................................. 1769 / 3320 ( 53%)
............................................................. 1830 / 3320 ( 55%)
............................................................. 1891 / 3320 ( 56%)
............................................................. 1952 / 3320 ( 58%)
............................................................. 2013 / 3320 ( 60%)
............................................................. 2074 / 3320 ( 62%)
............................................................. 2135 / 3320 ( 64%)
............................................................. 2196 / 3320 ( 66%)
............................................................. 2257 / 3320 ( 67%)
............................................................. 2318 / 3320 ( 69%)
............................................................. 2379 / 3320 ( 71%)
............................................................. 2440 / 3320 ( 73%)
............................................................. 2501 / 3320 ( 75%)
............................................................. 2562 / 3320 ( 77%)
............................................................. 2623 / 3320 ( 79%)
............................................................. 2684 / 3320 ( 80%)
............................................................. 2745 / 3320 ( 82%)
............................................................. 2806 / 3320 ( 84%)
............................................................. 2867 / 3320 ( 86%)
..........SSSSS.............................................. 2928 / 3320 ( 88%)
............................................................. 2989 / 3320 ( 90%)
...................................S...SSS.S................. 3050 / 3320 ( 91%)
............................................................. 3111 / 3320 ( 93%)
............................................................. 3172 / 3320 ( 95%)
............................................................. 3233 / 3320 ( 97%)
..................................................S.......... 3294 / 3320 ( 99%)
.......................... 3320 / 3320 (100%)
Time: 00:07.913, Memory: 211.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 3320, Assertions: 14853, Skipped: 14.
You should really speed up these slow tests (>100ms)...
1. 193ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Logging\\TemporaryAccountLogFormatterTest::testLogDatabaseRows with data set "Enable access"
2. 137ms to run Cite\\Tests\\Integration\\CiteParsoidTest::testLintIssueInRefTags
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_4' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_4_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
.......................................... 42 / 42 (100%)
Time: 00:09.572, Memory: 132.50 MB
OK (42 tests, 43 assertions)
You should really speed up these slow tests (>100ms)...
1. 2286ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetHTML with data set #2
2. 2250ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetText with data set #2
3. 826ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetText with data set #3
4. 819ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetTranscludedFrom with data set #7
5. 747ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetHTML with data set #3
6. 463ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetTranscludedFrom with data set #8
7. 366ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetTranscludedFrom with data set #11
8. 173ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetText with data set #0
9. 161ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetHTML with data set #4
10. 156ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ContentThreadItemTest::testGetText with data set #4
...and there are 6 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_6' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_6_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................. 61 / 1740 ( 3%)
............................................................. 122 / 1740 ( 7%)
..SSSSSSSSSSSSSSSSSSSSSSSSS.................................. 183 / 1740 ( 10%)
............................................................. 244 / 1740 ( 14%)
............................................................. 305 / 1740 ( 17%)
............................................................. 366 / 1740 ( 21%)
............................................................. 427 / 1740 ( 24%)
......................SSS.................................... 488 / 1740 ( 28%)
............................................................. 549 / 1740 ( 31%)
............................................................. 610 / 1740 ( 35%)
............................................................. 671 / 1740 ( 38%)
............................................................. 732 / 1740 ( 42%)
............................................................. 793 / 1740 ( 45%)
................................................SSSSS....S... 854 / 1740 ( 49%)
.S.............S............................................. 915 / 1740 ( 52%)
............................................................. 976 / 1740 ( 56%)
............................................................. 1037 / 1740 ( 59%)
............................................................. 1098 / 1740 ( 63%)
............................................................. 1159 / 1740 ( 66%)
............................................................. 1220 / 1740 ( 70%)
............................................................. 1281 / 1740 ( 73%)
............................................................. 1342 / 1740 ( 77%)
............................................................. 1403 / 1740 ( 80%)
............................................................. 1464 / 1740 ( 84%)
............................................................. 1525 / 1740 ( 87%)
............................................................. 1586 / 1740 ( 91%)
............................................................. 1647 / 1740 ( 94%)
............................................................. 1708 / 1740 ( 98%)
................................ 1740 / 1740 (100%)
Time: 00:14.028, Memory: 216.54 MB
OK, but incomplete, skipped, or risky tests!
Tests: 1740, Assertions: 12067, Skipped: 36.
You should really speed up these slow tests (>100ms)...
1. 838ms to run MediaWiki\\Tests\\Structure\\AbstractSchemaTest::testSchemasHaveAutoGeneratedFiles with data set "tables.json"
2. 763ms to run MediaWiki\\Skins\\Vector\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "skins.vector.styles.legacy"
3. 706ms to run MediaWiki\\Skins\\Vector\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "skins.vector.styles"
4. 528ms to run MediaWiki\\Skins\\MinervaNeue\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "skins.minerva.styles"
5. 397ms to run PygmentizeTest::testFetchGeneratedCss
6. 363ms to run MediaWiki\\Extension\\WikimediaMessages\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "ext.wikimediamessages.styles"
7. 295ms to run MediaWiki\\Tests\\Structure\\SettingsTest::testConfigGeneration with data set "docs/config-schema.yaml"
8. 277ms to run MediaWiki\\Tests\\Structure\\SettingsTest::testConfigGeneration with data set "includes/MainConfigNames.php"
9. 272ms to run MediaWiki\\Tests\\Structure\\SettingsTest::testConfigGeneration with data set "includes/config-schema.php"
10. 265ms to run MediaWiki\\Tests\\Structure\\SettingsTest::testConfigGeneration with data set "docs/config-vars.php"
...and there are 6 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_3' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_3_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 274 ( 22%)
............................................................... 126 / 274 ( 45%)
............................................................... 189 / 274 ( 68%)
............................................................... 252 / 274 ( 91%)
...................... 274 / 274 (100%)
Time: 00:23.678, Memory: 176.50 MB
OK (274 tests, 1425 assertions)
You should really speed up these slow tests (>100ms)...
1. 2754ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentFormatterTest::testAddDiscussionToolsInternal with data set #4
2. 2076ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentFormatterTest::testAddDiscussionToolsInternal with data set #3
3. 1720ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentFormatterTest::testAddDiscussionToolsInternal with data set #5
4. 1511ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentParserTest::testGetThreads with data set #2
5. 1230ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentModifierTest::testAddListItem with data set #4
6. 1173ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentModifierTest::testAddListItem with data set #2
7. 1124ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentModifierTest::testAddListItem with data set #3
8. 1104ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentModifierTest::testAddListItem with data set #5
9. 858ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentModifierTest::testAddReplyLink with data set #1
10. 820ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\CommentParserTest::testGetThreads with data set #3
...and there are 29 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-databaseless.xml' '--testsuite' 'split_group_5' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone,Database' '--cache-result-file=/workspace/log/phpunit_group_5_databaseless.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................. 61 / 3294 ( 1%)
............................................................. 122 / 3294 ( 3%)
.................................S........................... 183 / 3294 ( 5%)
............................................................. 244 / 3294 ( 7%)
............................................................. 305 / 3294 ( 9%)
............................................................. 366 / 3294 ( 11%)
..........................SS................................. 427 / 3294 ( 12%)
...........................................................S. 488 / 3294 ( 14%)
...................S.S....................................... 549 / 3294 ( 16%)
............................................................. 610 / 3294 ( 18%)
......SSSS................................................... 671 / 3294 ( 20%)
............................................................. 732 / 3294 ( 22%)
............................................................. 793 / 3294 ( 24%)
............................................................. 854 / 3294 ( 25%)
............................................................. 915 / 3294 ( 27%)
............................................................. 976 / 3294 ( 29%)
............................................................. 1037 / 3294 ( 31%)
............................................................. 1098 / 3294 ( 33%)
............................................................. 1159 / 3294 ( 35%)
........................................S.................... 1220 / 3294 ( 37%)
...SS.....................SS................................. 1281 / 3294 ( 38%)
............................................................. 1342 / 3294 ( 40%)
....................SSSSS.................................... 1403 / 3294 ( 42%)
............................................................. 1464 / 3294 ( 44%)
............................................................. 1525 / 3294 ( 46%)
............................................................. 1586 / 3294 ( 48%)
............................................................. 1647 / 3294 ( 50%)
............................................................. 1708 / 3294 ( 51%)
............................................................. 1769 / 3294 ( 53%)
............................................................. 1830 / 3294 ( 55%)
............................................................. 1891 / 3294 ( 57%)
............................................................. 1952 / 3294 ( 59%)
............................................................. 2013 / 3294 ( 61%)
............................................................. 2074 / 3294 ( 62%)
............................................................. 2135 / 3294 ( 64%)
............................................................. 2196 / 3294 ( 66%)
............................................................. 2257 / 3294 ( 68%)
............................................................. 2318 / 3294 ( 70%)
............................................................. 2379 / 3294 ( 72%)
..........SSSS............................................... 2440 / 3294 ( 74%)
............................................................. 2501 / 3294 ( 75%)
............................................................. 2562 / 3294 ( 77%)
............................................................. 2623 / 3294 ( 79%)
............................................................. 2684 / 3294 ( 81%)
............................................................. 2745 / 3294 ( 83%)
............................................................. 2806 / 3294 ( 85%)
............................................................. 2867 / 3294 ( 87%)
............................................................. 2928 / 3294 ( 88%)
............................................................. 2989 / 3294 ( 90%)
............................................................. 3050 / 3294 ( 92%)
.........................SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 3111 / 3294 ( 94%)
SSSSSSSSSSSSSSSSS............................................ 3172 / 3294 ( 96%)
............................................................. 3233 / 3294 ( 98%)
............................................................. 3294 / 3294 (100%)
Time: 00:26.421, Memory: 457.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 3294, Assertions: 9614, Skipped: 77.
You should really speed up these slow tests (>100ms)...
1. 5792ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #11
2. 2992ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #60
3. 1801ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #67
4. 312ms to run Tests\\MobileFrontend\\Structure\\MobileFrontendBundleSizeTest::testBundleSize with data set "mobile.startup"
5. 286ms to run MediaWiki\\Extensions\\FlaggedRevs\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "ext.flaggedRevs.basic"
6. 259ms to run MediaWiki\\Extensions\\Popups\\Tests\\Structure\\BundleSizeTest::testBundleSize with data set "ext.popups.main"
7. 208ms to run Tests\\MobileFrontend\\Structure\\MobileFrontendBundleSizeTest::testBundleSize with data set "mobile.languages.structured"
8. 200ms to run Tests\\MobileFrontend\\Structure\\MobileFrontendBundleSizeTest::testBundleSize with data set "mobile.userpage.styles"
9. 192ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #22
10. 190ms to run MediaWiki\\Extension\\SecurePoll\\Test\\Unit\\STVTallierTest::testFinishTally with data set #6
...and there are 25 more above your threshold hidden from view
Worker exited with status 0
INFO:quibble.commands:<<< Finish: PHPUnit extensions suite (without database or standalone) parallel run (Composer), in 31.504 s
INFO:quibble.commands:>>> Start: Run phpbench
INFO:quibble.commands:Run phpbench
INFO:quibble.commands:No phpbench entry found in composer.json
INFO:quibble.commands:<<< Finish: Run phpbench, in 0.003 s
INFO:quibble.commands:>>> Start: Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>
INFO:backend.ExternalWebserver:Not starting a webserver.
INFO:backend.Xvfb:Starting Xvfb on display :94
INFO:backend.ChromeWebDriver:Starting Chromedriver
INFO:quibble.use_headless:Display: :94
DEBUG:quibble.chromium_flags:Flags: ['--autoplay-policy=no-user-gesture-required', '--disable-pushstate-throttle', '--no-sandbox']
INFO:quibble.commands:<<< Finish: Start backends: <ExternalWebserver http://127.0.0.1:9413 /workspace/src> <Xvfb :94> <ChromeWebDriver :94>, in 0.016 s
INFO:quibble.commands:>>> Start: Run QUnit tests
INFO:quibble.use_headless:Display: <None>
DEBUG:quibble.chromium_flags:Flags: ['--autoplay-policy=no-user-gesture-required', '--disable-pushstate-throttle', '--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222']
WARNING:backend.ChromeWebDriver:[1759923408.918][SEVERE]: bind() failed: Cannot assign requested address (99)
Running "assert-mw-env" task
Running "karma:firefox" (karma) task
08 10 2025 11:36:49.478:DEBUG [config]: No config file specified.
08 10 2025 11:36:49.482:WARN [config]: "/" is proxied, you should probably change urlRoot to avoid conflicts
08 10 2025 11:36:49.484:DEBUG [karma-server]: Final config Config {
LOG_DISABLE: 'OFF',
LOG_ERROR: 'ERROR',
LOG_WARN: 'WARN',
LOG_INFO: 'INFO',
LOG_DEBUG: 'DEBUG',
frameworks: [ 'qunit' ],
protocol: 'http:',
port: 9876,
listenAddress: '0.0.0.0',
hostname: 'localhost',
httpsServerConfig: {},
basePath: '/workspace/src',
files: [
UrlPattern {
pattern: 'http://127.0.0.1:9413//index.php?title=Special:JavaScriptTest/qunit/export',
served: false,
included: true,
watched: false,
nocache: false,
weight: [ 1, 0, 0, 0, 0, 1 ],
type: 'js',
isBinary: undefined,
integrity: undefined
}
],
browserConsoleLogOptions: { level: 'debug', format: '%b %T: %m', terminal: true },
customContextFile: null,
customDebugFile: null,
customClientContextFile: null,
exclude: [],
logLevel: 'DEBUG',
colors: true,
autoWatch: false,
autoWatchBatchDelay: 250,
restartOnFileChange: false,
usePolling: true,
reporters: [ 'mocha' ],
singleRun: true,
browsers: [ 'FirefoxHeadless' ],
captureTimeout: 60000,
pingTimeout: 5000,
proxies: { '/': { target: 'http://127.0.0.1:9413/', changeOrigin: true } },
proxyValidateSSL: true,
preprocessors: [Object: null prototype] {},
preprocessor_priority: {},
urlRoot: '/',
upstreamProxy: undefined,
reportSlowerThan: 0,
loggers: [
{
type: 'console',
layout: { type: 'pattern', pattern: '%[%d{DATETIME}:%p [%c]: %]%m' }
}
],
transports: [ 'polling', 'websocket' ],
forceJSONP: false,
plugins: [
'@wikimedia/karma-firefox-launcher',
'karma-*',
[Object: null prototype] {
'launcher:ChromeCustom': [ 'factory', [Function (anonymous)] ]
}
],
client: {
args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true,
allowedReturnUrlPatterns: [ '^https?://' ],
qunit: { autostart: false }
},
defaultClient: {
args: [],
useIframe: true,
runInParent: false,
captureConsole: true,
clearContext: true,
allowedReturnUrlPatterns: [ '^https?://' ],
qunit: { autostart: false }
},
browserDisconnectTimeout: 2000,
browserDisconnectTolerance: 0,
browserNoActivityTimeout: 60000,
processKillTimeout: 2000,
concurrency: Infinity,
failOnEmptyTestSuite: true,
retryLimit: 2,
detached: false,
crossOriginAttribute: false,
browserSocketTimeout: 20000,
background: false,
customLaunchers: {
ChromeCustom: {
base: 'ChromeHeadless',
flags: [
'--autoplay-policy=no-user-gesture-required',
'--disable-pushstate-throttle',
'--no-sandbox',
'--headless',
'--disable-gpu',
'--remote-debugging-port=9222'
]
}
}
}
08 10 2025 11:36:49.484:DEBUG [plugin]: Loading plugin @wikimedia/karma-firefox-launcher.
08 10 2025 11:36:49.487:DEBUG [plugin]: Loading karma-* from /workspace/src/node_modules
08 10 2025 11:36:49.509:DEBUG [plugin]: Loading plugin /workspace/src/node_modules/karma-chrome-launcher.
08 10 2025 11:36:49.514:DEBUG [plugin]: Loading plugin /workspace/src/node_modules/karma-mocha-reporter.
08 10 2025 11:36:49.524:DEBUG [plugin]: Loading plugin /workspace/src/node_modules/karma-qunit.
08 10 2025 11:36:49.525:DEBUG [plugin]: Loading inline plugin defining launcher:ChromeCustom.
08 10 2025 11:36:49.531:DEBUG [web-server]: Instantiating middleware
08 10 2025 11:36:49.531:DEBUG [reporter]: Trying to load reporter: mocha
08 10 2025 11:36:49.532:DEBUG [reporter]: Trying to load color-version of reporter: mocha (mocha_color)
08 10 2025 11:36:49.532:DEBUG [reporter]: Couldn't load color-version.
START:
08 10 2025 11:36:49.544:INFO [karma-server]: Karma v6.4.1 server started at http://localhost:9876/
08 10 2025 11:36:49.544:INFO [launcher]: Launching browsers FirefoxHeadless with concurrency unlimited
08 10 2025 11:36:49.552:INFO [launcher]: Starting browser FirefoxHeadless
08 10 2025 11:36:49.552:DEBUG [launcher]: null -> BEING_CAPTURED
08 10 2025 11:36:49.552:DEBUG [temp-dir]: Creating temp dir at /tmp/karma-55409319
08 10 2025 11:36:49.553:DEBUG [launcher]: firefox http://localhost:9876/?id=55409319 -profile /tmp/karma-55409319 -no-remote -wait-for-browser -headless --start-debugger-server 6000
08 10 2025 11:36:51.307:DEBUG [web-server]: serving: /workspace/src/node_modules/karma/static/client.html
08 10 2025 11:36:51.697:DEBUG [web-server]: serving: /workspace/src/node_modules/karma/static/karma.js
08 10 2025 11:36:51.897:DEBUG [web-server]: serving: /workspace/src/node_modules/karma/static/favicon.ico
08 10 2025 11:36:51.918:DEBUG [karma-server]: A browser has connected on socket qAVnB6EmR1VIkbDCAAAB
08 10 2025 11:36:51.922:DEBUG [web-server]: upgrade /socket.io/?EIO=4&transport=websocket&sid=UleuGvMhNcCip-SuAAAA
08 10 2025 11:36:51.922:DEBUG [proxy]: NOT upgrading proxyWebSocketRequest /socket.io/?EIO=4&transport=websocket&sid=UleuGvMhNcCip-SuAAAA
08 10 2025 11:36:52.041:DEBUG [Firefox 128.0 (Linux 0.0.0)]: undefined -> CONNECTED
08 10 2025 11:36:52.041:INFO [Firefox 128.0 (Linux 0.0.0)]: Connected on socket qAVnB6EmR1VIkbDCAAAB with id 55409319
08 10 2025 11:36:52.042:DEBUG [launcher]: BEING_CAPTURED -> CAPTURED
08 10 2025 11:36:52.042:DEBUG [launcher]: FirefoxHeadless (id 55409319) captured in 2.498 secs
08 10 2025 11:36:52.042:DEBUG [Firefox 128.0 (Linux 0.0.0)]: CONNECTED -> CONFIGURING
08 10 2025 11:36:52.110:DEBUG [middleware:karma]: custom files null null null
08 10 2025 11:36:52.111:DEBUG [middleware:karma]: Serving static request /context.html
08 10 2025 11:36:52.112:DEBUG [web-server]: serving: /workspace/src/node_modules/karma/static/context.html
08 10 2025 11:36:52.280:DEBUG [middleware:source-files]: Requesting /base/node_modules/qunit/qunit/qunit.css?9c300cc789ff128763bdfe3e1a9e4ba6d4cbd3bc
08 10 2025 11:36:52.280:DEBUG [middleware:source-files]: Fetching /workspace/src/node_modules/qunit/qunit/qunit.css
08 10 2025 11:36:52.280:DEBUG [web-server]: serving (cached): /workspace/src/node_modules/qunit/qunit/qunit.css
08 10 2025 11:36:52.281:DEBUG [web-server]: serving: /workspace/src/node_modules/karma/static/context.js
08 10 2025 11:36:52.287:DEBUG [middleware:source-files]: Requesting /base/node_modules/karma-qunit/lib/adapter.js?5e1aa67d9adc9aab151547c9cc815cbb9ddfb70e
08 10 2025 11:36:52.287:DEBUG [middleware:source-files]: Fetching /workspace/src/node_modules/karma-qunit/lib/adapter.js
08 10 2025 11:36:52.287:DEBUG [web-server]: serving (cached): /workspace/src/node_modules/karma-qunit/lib/adapter.js
08 10 2025 11:36:52.289:DEBUG [middleware:source-files]: Requesting /base/node_modules/qunit/qunit/qunit.js?5108af1717637cbd03b5101cb9683d9247316764
08 10 2025 11:36:52.289:DEBUG [middleware:source-files]: Fetching /workspace/src/node_modules/qunit/qunit/qunit.js
08 10 2025 11:36:52.289:DEBUG [web-server]: serving (cached): /workspace/src/node_modules/qunit/qunit/qunit.js
Firefox 128.0 (Linux 0.0.0) WARN: 'This page is using the deprecated ResourceLoader module "jquery.ui".
Please use Codex instead.'
Firefox 128.0 (Linux 0.0.0) WARN: 'This page is using the deprecated ResourceLoader module "moment".
[1.44] Use mediawiki.DateFormatter or native Intl function instead. See https://phabricator.wikimedia.org/T146798'
Firefox 128.0 (Linux 0.0.0) WARN: 'This page is using the deprecated ResourceLoader module "mediawiki.Uri".
[1.43] Please use browser native URL. See https://www.mediawiki.org/wiki/Migrating_mw.Uri_to_URL'
Firefox 128.0 (Linux 0.0.0) INFO: 'You are running a development build of Vue.
Make sure to use the production build (*.prod.js) when deploying for production.'
Firefox 128.0 (Linux 0.0.0) WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
08 10 2025 11:37:00.840:DEBUG [Firefox 128.0 (Linux 0.0.0)]: CONFIGURING -> EXECUTING
 Vector (integration)
 ✔ Client preferences: Behaves same for all users
 ext.centralauth.ForeignApi
 ✔ Anonymous users do not get centralauthtoken
 ✔ Logged in users get centralauthtoken if not logged in remotely
 ✔ Logged in users do not get centralauthtoken if logged in remotely
 ext.centralauth.ForeignRest
 ✔ Anonymous users do not get centralauthtoken
 ✔ Logged in users get centralauthtoken if not logged in remotely
 ✔ Logged in users do not get centralauthtoken if logged in remotely
 ext.echo.dm - BundleNotificationItem
 ✔ Constructing the model
 ✔ Managing a list of items
 ext.echo.dm - CrossWikiNotificationItem
 ✔ Constructing the model [Default values]
 ✔ Constructing the model [Overriding model name]
 ✔ Constructing the model [Overriding model count]
 ✔ Managing notification lists
 ✔ Update seen state
 ✔ Emit discard event
 ext.echo.dm - FiltersModel
 ✔ Constructing the model [Empty config]
 ✔ Constructing the model [Readstate: unread]
 ✔ Constructing the model [Readstate: read]
 ✔ Changing filters
 ✔ .setReadState() events
 ext.echo.dm - NotificationGroupsList
 ✔ Constructing the model
 ✔ Managing lists
 ✔ Emitting discard event
 ext.echo.dm - NotificationItem
 ✔ Constructing items [Empty data]
 ✔ Constructing items [Fake data]
 ✔ Emitting update event
 ext.echo.dm - NotificationsList
 ✔ Constructing the model [Empty config]
 ✔ Constructing the model [Prefilled data]
 ✔ Handling notification items
 ✔ Intercepting events
 ext.echo.dm - PaginationModel
 ✔ Constructing the model [Empty config]
 ✔ Constructing the model [Overriding defaults]
 ✔ Emitting update event
 ext.echo.dm - SeenTimeModel
 ✔ .getTypes()
 ✔ .setSeenTime() reflected
 ✔ .setSeenTime() events
 ext.echo.dm - SourcePagesModel
 ✔ Creating source-page map
 ext.echo.dm - UnreadNotificationCounter
 ✔ .getCappedNotificationCount() [0]
 ✔ .getCappedNotificationCount() [1]
 ✔ .getCappedNotificationCount() [2]
 ✔ .estimateChange()
 ✔ .setCount()
 ext.eventLogging/BackgroundQueue
 ✔ add()
 ext.eventLogging/bucketing
 ✔ getUserEditCountBucket() [0]
 ✔ getUserEditCountBucket() [3]
 ✔ getUserEditCountBucket() [99999]
 ✔ getUserEditCountBucket() [anonymous]
 ext.eventLogging/id
 ✔ pageview
 ✔ session
 ext.eventLogging/log
 ✔ logEvent()
 ✔ logEvent() via submit()
 ✔ checkUrlSize() [URL size is ok]
 ✔ checkUrlSize() [URL size is not ok]
 ✔ logEvent() - reject large event data
 ext.eventLogging/stream
 ✔ submit() - warn for event without schema
 ✔ submit() - produce an event correctly
 ext.eventLogging/utils
 ✔ pageviewInSample()
 ✔ sessionInSample()
 ✔ randomTokenMatch()
 ✔ makeLegacyStreamName()
 ext.guidedTour.lib
 ✔ makeTourId
 ✔ parseTourId
 ✔ isPage
 ✔ hasQuery
 ✔ getStepFromQuery
 ✔ setTourCookie
 ✔ shouldShow
 ✔ defineTour
 ✔ StepBuilder.constructor
 ✔ StepBuilder.listenForMwHooks
 ✔ StepBuilder.next
 ✔ StepBuilder.transition
 ✔ Step.constructor
 ✔ Step.getButtons
 ✔ Step.registerMwHookListener
 ✔ Step.registerMwHooks
 ✔ Step.handleOnShow
 ✔ TourBuilder.constructor
 ✔ TourBuilder.step
 ✔ TourBuilder.firstStep
 ✔ Tour.constructor
 ✔ Tour.getShouldFlipHorizontally
 ✔ Tour.initialize
 ✔ Tour.getStep
 ✔ Tour.showStep
 ✔ Tour.start
 ext.xLab
 ✔ getExperiment() - handles invalid config
 ✔ getExperiment() [handles unknown experiment]
 ✔ getExperiment() [handles active experiment with no enrollment]
 ✔ getExperiment() [handles active experiment with enrollment]
 ✔ getExperiment() - handles overridden experiment
 ✔ overrideExperimentGroup() - single call
 ✔ overrideExperimentGroup() - multiple calls
 ✔ overrideExperimentGroup() - multiple identical calls
 ✔ overrideExperimentGroup() - multiple calls with different $groupName
 ✔ overrideExperimentGroup() - multiple calls with $groupName with hyphens
 ✔ clearExperimentGroup() - single override
 ✔ clearExperimentGroup() - multiple overrides
 ✔ clearExperimentGroup() - multiple overrides with experiment in the middle
 ✔ clearExperimentGroup() - multiple overrides with $groupName with hyphens
 ✔ getAssignments() - disallows modification of wgMetricsPlatformUserExperiments
 ext.xLab/Experiment
 ✔ isAssignedGroup() [A]
 ✔ isAssignedGroup() [B]
 ✔ isAssignedGroup() [Multiple, including A]
 ✔ isAssignedGroup() [Multiple, excluding A]
 ✔ send() - sends events via metricsClient [0]
 ✔ send() - sends events via metricsClient [1]
 ✔ send() - overrides experiment field
 ✔ send() - overriding stream and schema
 ext.xLab/UnenrolledExperiment
 ✔ constructor()
 ✔ send()
 ext.xLab/OverriddenExperiment
 ✔ constructor()
 ✔ send()
 Thanks thank
 ✔ thanked cookie
 ✔ gets user gender
 ext.wikimediaEvents/clickTracking
 ✔ onClickTrack input
 ✔ onClickTrack link
 ext.wikimediaEvents/clientError
 ✔ processErrorLoggerObject
 ✔ processErrorInstance
 ✔ log
 ✔ log - error_context includes experiment enrollment information
 ext.wikimediaEvents/statsd
 ✔ counter [single]
 ✔ counter [multiple]
 ✔ counter [batch size]
 ✔ timing
 ✔ stats [invalid name]
 ✔ stats [invalid counter value] [0: null]
 ✔ stats [invalid counter value] [1: 3.14]
 ✔ stats [invalid counter value] [2: 0]
 ✔ stats [invalid counter value] [3: -1]
 ✔ stats [invalid timing value] [0: null]
 ✔ stats [invalid timing value] [1: -1]
 ✔ stats [invalid timing value] [2: -0.314]
 ✔ stats [invalid timing value] [bla]
 ✔ stats [missing timing value]
 ✔ stats [invalid label key]
 ✔ stats [invalid label value] [space]
 ✔ stats [invalid label value] [colon]
 ✔ stats [invalid label value] [empty]
 ✔ stats [counter]
 ✔ stats [timing] [round timing]
 ✔ stats [timing] [round to zero]
 ✔ stats [timing] [pre-rounded to zero]
 ✔ stats [multiple counters]
 ✔ stats [batching]
 ext.wikimediaEvents/sessionLength/mixin
 ✔ Initial tick fires at zero seconds
 ✔ Start sessionLength Tracking
 ✔ Start sessionLength with data
 ✔ Stop sessionLength Tracking
 ext.wikimediaEvents/searchSatisfaction
 ✔ searchSatisfaction
 ✔ searchSli
 ext.wikimediaEvents.createAccount.instrumentation
 ✔ should submit interaction event for field changes
 ✔ should instrument interaction start and time spent on individual fields
 ✔ should submit interaction event on submit
 ✔ should submit interaction event when privacy policy link is clicked
 ✔ should submit interaction event when terms of use link is clicked
 ✔ should submit interaction event for frontend validation errors and performance measurements
 Minerva (integration)
 ✔ [T356653] Client preferences: Check assumptions about the cookie it writes to
 Minerva DownloadIcon
 ✔ #getOnClickHandler (print after image download)
 ✔ #getOnClickHandler (print via timeout)
 ✔ #getOnClickHandler (multiple clicks)
 isAvailable()
 ✔ isAvailable() handles properly correct namespace
 ✔ isAvailable() handles properly not supported namespace
 ✔ isAvailable() handles missing pages
 ✔ isAvailable() handles properly main page
 ✔ isAvailable() returns false for iOS
 ✔ isAvailable() handles properly browsers
 ✔ isAvailable() handles properly non-chrome browsers
 ✔ isAvailable() handles properly supported browsers
 Minerva pageIssuesParser
 ✔ extractMessage
 ✔ parseSeverity
 ✔ parseType
 ✔ parseGroup
 ✔ iconName
 ✔ maxSeverity
 Minerva AB-test
 ✔ Bucketing test
 Minerva pageIssues
 ✔ insertBannersOrNotice() should add a "learn more" message
 ✔ insertBannersOrNotice() should add an icon
 ✔ clicking on the product of insertBannersOrNotice() should trigger a URL change
 Minerva UriUtil
 ✔ .isInternal()
 Minerva TitleUtil
 ✔ .newFromUri() authority [empty]
 ✔ .newFromUri() authority [metawiki]
 ✔ .newFromUri() bad input [0: null]
 ✔ .newFromUri() bad input [1: undefined]
 ✔ .newFromUri() bad input []
 ✔ .newFromUri() bad input [ ]
 ✔ .newFromUri() bad input [/]
 ✔ .newFromUri() bad input [5]
 ✔ .newFromUri() bad input [\]
 ✔ .newFromUri() bad input [/wiki/%]
 ✔ .newFromUri() misc
 Minerva Watchstar
 ✔ toggleClasses() from watched to unwatched
 ✔ toggleClasses() from unwatched to watched
 ✔ toggleClasses() from unwatched to temp watched
 ✔ toggleClasses() from temp watched to watched
 mw.dt.utils
 ✔ #linearWalk
 mw.dt.Parser
 ✔ #getTimestampRegexp
 ✔ #getTimestampParser
 ✔ #getTimestampParser (at DST change)
 ✔ #getThreads (plwiki oldparser)
 ✔ #getThreads (plwiki parsoid)
 ✔ #getThreads (enwiki oldparser)
 ✔ #getThreads (enwiki parsoid)
 ✔ #getThreads (ckbwiki oldparser)
 ✔ #getThreads (ckbwiki parsoid)
 ✔ #getThreads (arwiki no-paragraph oldparser)
 ✔ #getThreads (arwiki no-paragraph parsoid)
 ✔ #getThreads (arwiki nbsp-timezone oldparser)
 ✔ #getThreads (arwiki nbsp-timezone parsoid)
 ✔ #getThreads (frwiki fr-unsigned oldparser)
 ✔ #getThreads (frwiki fr-unsigned parsoid)
 ✔ #getThreads (frwiki fr-invalid-date)
 ✔ #getThreads (itwiki it-unsigned oldparser)
 ✔ #getThreads (itwiki it-unsigned parsoid)
 ✔ #getThreads (srwiki sr-ec variant)
 ✔ #getThreads (srwiki sr-el variant)
 ✔ #getThreads (Accidental dt tags (old parser))
 ✔ #getThreads (Accidental dt tags (Parsoid))
 ✔ #getThreads (Single comment, heading)
 ✔ #getThreads (Single comment with heading)
 ✔ #getThreads (Manually added signature with LRM)
 ✔ #getThreads (Signature which is just a selflink)
 ✔ #getThreads (Comments inside references (old parser))
 ✔ #getThreads (Comments inside references (Parsoid))
 ✔ #getThreads (Link using fallback 8-bit encoding (invalid UTF-8))
 ✔ #getThreads (Fake headings using ';' syntax in wikitext (<dt> tags))
 ✔ #getThreads (tracked template)
 ✔ #getThreads (Signatures in funny places)
 ✔ #getThreads (Signature with multiple timestamp in formatting elements causing an infinite loop (T356884))
 ✔ #getThreads (Signature with unclosed formatting elements doesn't eat subsequent comments)
 ✔ #getThreads (Timestamp format switch behavior)
 ✔ #getThreads (Timestamp links)
 ✔ #getThreads (Signatures with Special:Contributions (alias with underscored))
 ✔ #getThreads (suppressed talk classes)
 mw.dt.modifier
 ✔ #addListItem/#removeAddedListItem (plwiki oldparser)
 ✔ #addListItem/#removeAddedListItem (plwiki parsoid)
 ✔ #addListItem/#removeAddedListItem (enwiki oldparser) (skipped)
 ✔ #addListItem/#removeAddedListItem (enwiki parsoid) (skipped)
 ✔ #addListItem/#removeAddedListItem (enwiki oldparser (bullet indentation)) (skipped)
 ✔ #addListItem/#removeAddedListItem (enwiki parsoid (bullet indentation)) (skipped)
 ✔ #addListItem/#removeAddedListItem (arwiki no-paragraph oldparser)
 ✔ #addListItem/#removeAddedListItem (arwiki no-paragraph parsoid) (skipped)
 ✔ #addListItem/#removeAddedListItem (Accidental dt tags (old parser))
 ✔ #addListItem/#removeAddedListItem (Accidental dt tags (Parsoid))
 ✔ #addListItem/#removeAddedListItem (Single comment, heading)
 ✔ #addListItem/#removeAddedListItem (Single comment with heading)
 ✔ #addListItem/#removeAddedListItem (Must split a list to reply to one of the comments)
 ✔ #addListItem/#removeAddedListItem (Must split a list to reply to one of the comments (version 2))
 ✔ #addListItem/#removeAddedListItem (Replies to comments with mixed indentation)
 ✔ #addListItem/#removeAddedListItem (Mess caused by unclosed <font> tags in wikitext)
 ✔ #addListItem/#removeAddedListItem (Reply inserted inside/outside various wrapper elements)
 ✔ #addListItem/#removeAddedListItem (Reply inserted outside various wrapper elements (real content, old parser))
 ✔ #addListItem/#removeAddedListItem (Reply inserted outside various wrapper elements (real content, Parsoid))
 ✔ #addListItem/#removeAddedListItem (Reply inserted inside <section> elements on mobile)
 ✔ #addListItem/#removeAddedListItem (Many comments consisting of a block template and a paragraph) (skipped)
 ✔ #addListItem/#removeAddedListItem (Comment whose range almost exactly matches a template, but is not considered transcluded (T313100)) (skipped)
 ✔ #addListItem/#removeAddedListItem (Accidental complex transclusion (T265528)) (skipped)
 ✔ #addListItem/#removeAddedListItem (Accidental complex transclusion (T313093)) (skipped)
 ✔ #addListItem/#removeAddedListItem (Signatures in funny places)
 ✔ #addListItem/#removeAddedListItem (HTML comments after signatures)
 ✔ #addListItem/#removeAddedListItem (Not splitting an about-group)
 ✔ #addReplyLink
 ✔ #unwrapList
 ✔ sanitizeWikitextLinebreaks
 mw.dt.ThreadItem
 ✔ #getAuthorsBelow/#getThreadItemsBelow
 ext.globalBlocking.special.globalBlock
 ✔ Test checkbox visibility for a variety of targets
 ext.globalBlocking.preventFlashFromHideIfFields
 ✔ Adds mw-globalblocking-js-loaded class to relevant elements
 ext.growthExperiments.Utils.js
 ✔ serializeActionData
 ✔ isUserInVariant
 ext.growthExperiments.Homepage.Logger/index.js
 ✔ log
 ✔ do not include state in event if empty
 ext.growthExperiments.Homepage.mobile/SuggestedEditsMobileSummary.js
 ✔ should show MobileNoTasksWidget if there is no task preview 
 ✔ should hide page views in SmallTaskCard if task preview is available
 ✔ should show MobileNoTasksWidget for updateUiBasedOnState if there is no current task
 ✔ should show the preview for the current task for updateUiBasedOnState
 utils/HelpPanelLogger.js
 ✔ log
 ext.growthExperiments.Help/HelpPanelProcessDialog.js
 ✔ getDefaultPanelForSuggestedEditSession for link-recommendation
 ✔ getDefaultPanelForSuggestedEditSession for copyedit
08 10 2025 11:37:05.452:DEBUG [middleware:source-files]: Requesting /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/link-recommendation/qqx
08 10 2025 11:37:05.453:DEBUG [middleware:source-files]: Fetching /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/link-recommendation/qqx
08 10 2025 11:37:05.454:DEBUG [proxy]: proxying request - /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/link-recommendation/qqx to 127.0.0.1:9413
 ✔ updateEditMode for link-recommendation
08 10 2025 11:37:05.469:DEBUG [middleware:source-files]: Requesting /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/copyedit/qqx
08 10 2025 11:37:05.469:DEBUG [middleware:source-files]: Fetching /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/copyedit/qqx
08 10 2025 11:37:05.470:DEBUG [proxy]: proxying request - /rest.php/growthexperiments/v0/quickstarttips/fallback/visual/copyedit/qqx to 127.0.0.1:9413
 ✔ updateEditMode for copyedit, isEditing
 ext.growthExperiments.Help/HelpPanelProcessDialog.SwitchEditorPanel.js
 ✔ constructor
WARN: 'mediawiki.jqueryMsg: growthexperiments-homepage-mentorship-questionreview-header: replacements[index] is null'
 ext.growthExperiments.Help/AskHelpPanel.js
 ✔ AskHelpPanel from mentor-homepage
 ✔ AskHelpPanel from mentor-helppanel
 ✔ AskHelpPanel from mentor-helppanel with away mentor
 ✔ AskHelpPanel from mentor-helppanel with indefinitely away mentor
 ✔ AskHelpPanel from helpdesk
 ext.growthExperiments.Homepage.SuggestedEdits/PagerWidget.js
 ✔ constructor
 ✔ setMessage with currentPosition < totalCount
 ✔ setMessage with currentPosition === totalCount
 ✔ setMessage with currentPosition > totalCount
 ext.growthExperiments.Homepage.SuggestedEdits/ErrorCardWidget.js
 ✔ constructor
 ext.growthExperiments.NewcomerTaskLogger.js
 ✔ constructor
 ✔ should log impressions
 ✔ should get log metadata
 ext.growthExperiments.Homepage.SuggestedEdits/FiltersButtonGroupWidget.js
 ✔ should log only topicfilter impressions
 ✔ should log topicmatchmode impression
08 10 2025 11:37:05.663:DEBUG [middleware:source-files]: Requesting /extensions/GrowthExperiments/images/intro-topic-general.svg
08 10 2025 11:37:05.664:DEBUG [middleware:source-files]: Fetching /extensions/GrowthExperiments/images/intro-topic-general.svg
08 10 2025 11:37:05.664:DEBUG [proxy]: proxying request - /extensions/GrowthExperiments/images/intro-topic-general.svg to 127.0.0.1:9413
 ext.growthExperiments.Homepage.SuggestedEdits/StartEditingDialog.js
 ✔ should log topicmatchmode impressions
 ext.growthExperiments.StructuredTask/StructuredTaskLogger.js
 ✔ should log events
ERROR: 'Failed to locate "cant-find-this" (occurrences seen: 0) in document.'
 ext.growthExperiments.StructuredTask/addlink/AddLinkArticleTarget.js
 ✔ annotateSuggestions
 ext.growthExperiments.StructuredTask/addimage/AddImageUtils.js
 ✔ getRenderData: target width < original width
 ✔ getRenderData: the image file needs to be re-rasterized
 ✔ getRenderData: the image file needs to be re-rasterized, renderWidth > originalWidth
 ✔ getRenderData: the image file needs to be re-rasterized, renderWidth < originalWidth
 ✔ getRenderData: vector image
 ✔ getRenderData: target width > original width
 ✔ getRenderData: target width > original width due to px ratio
 ✔ getRenderData: 3x target width
 ✔ getRenderData: 2.5x target width
 ✔ getRenderData: vertical image with landscape viewport
 ✔ getRenderData: with specified render width
 ext.growthExperiments.PostEdit/PostEditPanel.js
 ✔ should generate a task URL with task token and log an impression when calling getCard
 ✔ should log an impression when calling logImpression
 ✔ should log postedit-task-navigation when calling onPrevButtonClicked and onNextButtonClicked
 ✔ should return success toast message when edits have been published when wgEditSubmitButtonLabelPublish=false
 ✔ should return success toast message when edits have been published when wgEditSubmitButtonLabelPublish=true
 ✔ should return success toast message when edits have been published and image recommendation daily limit is reached
 ✔ should return success toast message when edits have been published and link recommendation daily limit is reached
 ✔ should return notice toast message when edits have not been published
 ✔ should return notice toast message when edits have not been published and link recommendation daily limit is reached
 ✔ should return alternate header text when image recommendation daily limit is reached
 ✔ should return alternate header text when link recommendation daily limit is reached
 ✔ should return generic header text for image recommendation if the daily limit has not been reached
 ext.growthExperiments.PostEdit/PostEditToastMessage.js
 ✔ should construct a MessageWidget
 ✔ should auto-hide if autoHideDuration is set
 ext.growthExperiments.PostEdit/PostEditDrawer.js
 ✔ should log postedit-toast-message-impression when the toast message is shown
 ✔ should log postedit-expand when the drawer is expanded
 ✔ should log postedit-collapse when the drawer is expanded
 ext.growthExperiments.DataStore/GrowthTasksApi.js
 ✔ should fetch tasks
 ✔ should send topic match mode even if topics are empty and use configured lookahead size
 ✔ should read topic filters and topics match mode preferences
 ✔ should handle undefined values in config correctly
 ext.growthExperiments.DataStore/FiltersStore.js
 ✔ should set initial states based on configuration values and user preferences
 ✔ should return TopicFilters for getTopicsQuery if topics are enabled
 ✔ should return an array of selected task types for getTaskTypesQuery
 ✔ should return topics organized by groups
 ✔ should update the selected topics and topics match mode for updateStatesFromTopicsFilters
 ✔ should save the selected filters to preferences and set the mw.user.options object with savePreferences
 ✔ should store the selected filters in backup with backupState
 ✔ should set the selected filters to backed up state with restoreState
 ext.growthExperiments.DataStore/NewcomerTasksStore.js
 ✔ should set initial states based on configuration values and user preferences
 ✔ should return states about the task queue
 ✔ should emit taskQueueChanged event with showPreviousTask
 ✔ should emit taskQueueChanged event with showNextTask
 ✔ should fetch more tasks when the end of the task queue is reached
 ✔ should emit an event when the task queue is replaced
 ✔ should preload extra data for the next task in the queue when showing the next task
 ✔ should emit an event when additional tasks are added to the task queue
 ✔ should set the preloaded task in the task queue
 ✔ should set the task queue and update the taskCount when preloaded tasks are lesser than the api page size
 ✔ should set the task queue and not update the taskCount when preloaded tasks are more than the api page size
 ✔ should store the current states in backup with backupState
 ✔ should restore backed up states with restoreState
WARN: 'jQuery.Deferred exception: suggestedEditsTaskTypesData.unavailableTaskTypes is undefined', 'isTaskTypeUnavailable@http://127.0.0.1:9413/load.php?modules=mediawiki.page.gallery.styles%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%2Cstyles%7Cmediawiki.pulsatingdot%2Cqunit-testrunner%2Crouter%2Cstorage%2CtempUserCreated%2Ctemplate%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%2Cwidgets%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.special.block.codex%7Cmediawiki.template.handlebars%2Cmustache%7Cmediawiki.widgets.AbandonEditDialog%2CCategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CTable%2CUserInputWidget%2Cstyles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmobile.codex.styles%7Cmobile.init.styles%7Cmobile.pagesummary.styles%7Cmobile.startup%7Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Cpinia%2Crangefix%2Csinonjs%2Cspark-md5%2CtreeDiffer%2Cunicodejs%2Cvue%2Cvue-test-utils%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-alerts%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-citation%2Cicons-editing-core%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement%2Cicons-user%2Cindicators%7Cskins.minerva.icons%2Cscripts%2Cstyles%7Cskins.vector.clientPreferences%7Csocket.io%7Ctest.CentralAuth%2CCheckUser%2CCite%2CDiscussionTools%2CEcho%2CEventLogging%2CFlow%2CGlobalBlocking%2CGrowthExperiments%2CGuidedTour%2CIPInfo%2CMediaWiki%2CMetricsPlatform%2CMinervaNeue%2CSecurePoll%2CTemplateData%2CThanks%2CVector%2CVisualEditor%2CWikiEditor%2CWikimediaEvents&version=3t57j:5661:618
modules/ext.growthExperiments.DataStore/TaskTypesAbFilter.js/convertTaskTypes/enabledAndAvailableTaskTypeIds<@http://127.0.0.1:9413/load.php?modules=mediawiki.page.gallery.styles%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%2Cstyles%7Cmediawiki.pulsatingdot%2Cqunit-testrunner%2Crouter%2Cstorage%2CtempUserCreated%2Ctemplate%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%2Cwidgets%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.special.block.codex%7Cmediawiki.template.handlebars%2Cmustache%7Cmediawiki.widgets.AbandonEditDialog%2CCategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CTable%2CUserInputWidget%2Cstyles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmobile.codex.styles%7Cmobile.init.styles%7Cmobile.pagesummary.styles%7Cmobile.startup%7Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Cpinia%2Crangefix%2Csinonjs%2Cspark-md5%2CtreeDiffer%2Cunicodejs%2Cvue%2Cvue-test-utils%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-alerts%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-citation%2Cicons-editing-core%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement%2Cicons-user%2Cindicators%7Cskins.minerva.icons%2Cscripts%2Cstyles%7Cskins.vector.clientPreferences%7Csocket.io%7Ctest.CentralAuth%2CCheckUser%2CCite%2CDiscussionTools%2CEcho%2CEventLogging%2CFlow%2CGlobalBlocking%2CGrowthExperiments%2CGuidedTour%2CIPInfo%2CMediaWiki%2CMetricsPlatform%2CMinervaNeue%2CSecurePoll%2CTemplateData%2CThanks%2CVector%2CVisualEditor%2CWikiEditor%2CWikimediaEvents&version=3t57j:5662:371
convertTaskTypes@http://127.0.0.1:9413/load.php?modules=mediawiki.page.gallery.styles%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%2Cstyles%7Cmediawiki.pulsatingdot%2Cqunit-testrunner%2Crouter%2Cstorage%2CtempUserCreated%2Ctemplate%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%2Cwidgets%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.special.block.codex%7Cmediawiki.template.handlebars%2Cmustache%7Cmediawiki.widgets.AbandonEditDialog%2CCategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CTable%2CUserInputWidget%2Cstyles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmobile.codex.styles%7Cmobile.init.styles%7Cmobile.pagesummary.styles%7Cmobile.startup%7Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Cpinia%2Crangefix%2Csinonjs%2Cspark-md5%2CtreeDiffer%2Cunicodejs%2Cvue%2Cvue-test-utils%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-alerts%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-citation%2Cicons-editing-core%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement%2Cicons-user%2Cindicators%7Cskins.minerva.icons%2Cscripts%2Cstyles%7Cskins.vector.clientPreferences%7Csocket.io%7Ctest.CentralAuth%2CCheckUser%2CCite%2CDiscussionTools%2CEcho%2CEventLogging%2CFlow%2CGlobalBlocking%2CGrowthExperiments%2CGuidedTour%2CIPInfo%2CMediaWiki%2CMetricsPlatform%2CMinervaNeue%2CSecurePoll%2CTemplateData%2CThanks%2CVector%2CVisualEditor%2CWikiEditor%2CWikimediaEvents&version=3t57j:5662:293
modules/ext.growthExperiments.DataStore/GrowthTasksApi.js/GrowthTasksApi.prototype.getPreferences@http://127.0.0.1:9413/load.php?modules=mediawiki.page.gallery.styles%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%2Cstyles%7Cmediawiki.pulsatingdot%2Cqunit-testrunner%2Crouter%2Cstorage%2CtempUserCreated%2Ctemplate%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%2Cwidgets%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.special.block.codex%7Cmediawiki.template.handlebars%2Cmustache%7Cmediawiki.widgets.AbandonEditDialog%2CCategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CTable%2CUserInputWidget%2Cstyles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmobile.codex.styles%7Cmobile.init.styles%7Cmobile.pagesummary.styles%7Cmobile.startup%7Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Cpinia%2Crangefix%2Csinonjs%2Cspark-md5%2CtreeDiffer%2Cunicodejs%2Cvue%2Cvue-test-utils%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-alerts%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-citation%2Cicons-editing-core%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement%2Cicons-user%2Cindicators%7Cskins.minerva.icons%2Cscripts%2Cstyles%7Cskins.vector.clientPreferences%7Csocket.io%7Ctest.CentralAuth%2CCheckUser%2CCite%2CDiscussionTools%2CEcho%2CEventLogging%2CFlow%2CGlobalBlocking%2CGrowthExperiments%2CGuidedTour%2CIPInfo%2CMediaWiki%2CMetricsPlatform%2CMinervaNeue%2CSecurePoll%2CTemplateData%2CThanks%2CVector%2CVisualEditor%2CWikiEditor%2CWikimediaEvents&version=3t57j:5753:186
modules/ext.growthExperiments.DataStore/FiltersStore.js/FiltersStore.prototype.savePreferences/<@http://127.0.0.1:9413/load.php?modules=mediawiki.page.gallery.styles%7Cmediawiki.page.ready%7Cmediawiki.page.watch.ajax%7Cmediawiki.pager.codex%2Cstyles%7Cmediawiki.pulsatingdot%2Cqunit-testrunner%2Crouter%2Cstorage%2CtempUserCreated%2Ctemplate%2Ctoc%2Cuser%2Cutil%2CvisibleTimeout%2Cwidgets%7Cmediawiki.rcfilters.filters.ui%7Cmediawiki.skinning.content.parsoid%7Cmediawiki.special.block.codex%7Cmediawiki.template.handlebars%2Cmustache%7Cmediawiki.widgets.AbandonEditDialog%2CCategoryMultiselectWidget%2CDateInputWidget%2CMediaSearch%2CTable%2CUserInputWidget%2Cstyles%7Cmediawiki.widgets.DateInputWidget.styles%7Cmobile.codex.styles%7Cmobile.init.styles%7Cmobile.pagesummary.styles%7Cmobile.startup%7Cmoment%2Coojs%2Coojs-ui%2Coojs-ui-core%2Coojs-ui-toolbars%2Coojs-ui-widgets%2Coojs-ui-windows%2Cpapaparse%2Cpinia%2Crangefix%2Csinonjs%2Cspark-md5%2CtreeDiffer%2Cunicodejs%2Cvue%2Cvue-test-utils%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui-toolbars.icons%7Coojs-ui-widgets.icons%7Coojs-ui-windows.icons%7Coojs-ui.styles.icons-accessibility%2Cicons-alerts%2Cicons-content%2Cicons-editing-advanced%2Cicons-editing-citation%2Cicons-editing-core%2Cicons-editing-list%2Cicons-editing-styling%2Cicons-interactions%2Cicons-layout%2Cicons-location%2Cicons-media%2Cicons-moderation%2Cicons-movement%2Cicons-user%2Cindicators%7Cskins.minerva.icons%2Cscripts%2Cstyles%7Cskins.vector.clientPreferences%7Csocket.io%7Ctest.CentralAuth%2CCheckUser%2CCite%2CDiscussionTools%2CEcho%2CEventLogging%2CFlow%2CGlobalBlocking%2CGrowthExperiments%2CGuidedTour%2CIPInfo%2CMediaWiki%2CMetricsPlatform%2CMinervaNeue%2CSecurePoll%2CTemplateData%2CThanks%2CVector%2CVisualEditor%2CWikiEditor%2CWikimediaEvents&version=3t57j:5772:205
mightThrow@http://127.0.0.1:9413/load.php?modules=jquery%7Cmediawiki.base&version=442tz:44:983
Deferred/then/resolve/</process<@http://127.0.0.1:9413/load.php?modules=jquery%7Cmediawiki.base&version=442tz:45:643
', undefined
 Actions > Fetch tasks
 ✔ should fetch tasks and update state using API response values
 ✔ should fetch tasks and update the taskCount to the number of fetched tasks when the API returns less results than requested
 ✔ should pass the page ID to exclude in the API config if one is passed to fetchTasks
 ✔ should filter out daily limit exceeded quota task types when excludeExceededQuotaTaskTypes is passed to fetchTasks
 Actions > Fetch more tasks
 ✔ should fetch tasks and update the taskCount to the number of fetched tasks when the API response informs there are no more results
 ui-components/CollapsibleDrawer.js
 ✔ constructor with intro content
 ✔ constructor without intro content
 ✔ should resolve opening promise when the drawer is opening
 ✔ should resolve closing promise when the drawer is closing
 ✔ should resolve closing and closed promises when close is called when the drawer is collapsed
 ✔ should set isContentHidden to true when it's collapsed
 ✔ should set isContentHidden to false when it's expanded
 ui-components/AdaptiveSelectWidget.js
 ✔ constructor based on isMultiSelect option 
 ✔ should return the selected options for multi-select widget
 ✔ should return the selected option for single-select widget
 ext.ipInfo.rest
 ✔ Test postToRestApi for 500 response when requesting revision with ID 1 from infobox
 ✔ Test postToRestApi for 500 response when requesting log with ID 2 from popup
 ✔ Test postToRestApi for 200 response when requesting archivedrevision
 ✔ Test postToRestApi on bad CSRF token for both attempts
 ✔ Test postToRestApi on bad CSRF token for first attempt
 ext.ipInfo.infobox.widget
 ✔ Displays error correctly when request fails with translated message
 ✔ Displays error correctly when request fails without translated message
 ext.ipInfo.popup.index
 ✔ registered user link in revision rows
 ✔ temporary user link in revision rows
 ✔ temporary user link with blocked performer in revision rows
 ✔ IP user link in revision rows
 ✔ IP user link with blocked performer in revision rows
 ✔ external user link in revision rows
 ✔ registered user link in log entries
 ✔ temporary user link in log entries
 ✔ temporary user link with blocked performer in log entries
 ✔ IP user link in log entries
 ✔ IP user link with blocked performer in log entries
 ✔ external user link in log entries
08 10 2025 11:37:06.494:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/TextWithCorrectTags.txt
08 10 2025 11:37:06.494:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/TextWithCorrectTags.txt
08 10 2025 11:37:06.494:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/TextWithCorrectTags.txt to 127.0.0.1:9413
08 10 2025 11:37:06.496:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithCorrectTags.json
08 10 2025 11:37:06.496:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithCorrectTags.json
08 10 2025 11:37:06.496:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithCorrectTags.json to 127.0.0.1:9413
 ext.securepoll.translationParser.test
 ✔ Parser test [with correct tags]
08 10 2025 11:37:06.514:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/TextWithSomeMissingEndTag.txt
08 10 2025 11:37:06.515:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/TextWithSomeMissingEndTag.txt
08 10 2025 11:37:06.515:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/TextWithSomeMissingEndTag.txt to 127.0.0.1:9413
08 10 2025 11:37:06.518:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithSomeMissingEndTag.json
08 10 2025 11:37:06.518:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithSomeMissingEndTag.json
08 10 2025 11:37:06.518:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithSomeMissingEndTag.json to 127.0.0.1:9413
 ✔ Parser test [with some missing end tags]
08 10 2025 11:37:06.539:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/TextWithNoEndTags.txt
08 10 2025 11:37:06.539:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/TextWithNoEndTags.txt
08 10 2025 11:37:06.539:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/TextWithNoEndTags.txt to 127.0.0.1:9413
08 10 2025 11:37:06.540:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithNoEndTags.json
08 10 2025 11:37:06.541:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithNoEndTags.json
08 10 2025 11:37:06.541:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithNoEndTags.json to 127.0.0.1:9413
 ✔ Parser test [with no end tags]
08 10 2025 11:37:06.557:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/TextWithMultipleQuestions.txt
08 10 2025 11:37:06.557:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/TextWithMultipleQuestions.txt
08 10 2025 11:37:06.557:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/TextWithMultipleQuestions.txt to 127.0.0.1:9413
08 10 2025 11:37:06.561:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithMultipleQuestions.json
08 10 2025 11:37:06.562:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithMultipleQuestions.json
08 10 2025 11:37:06.562:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/parser/ExpectedTextWithMultipleQuestions.json to 127.0.0.1:9413
 ✔ Parser test [with multiple questions]
08 10 2025 11:37:06.580:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithMultipleQuestions.json
08 10 2025 11:37:06.581:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithMultipleQuestions.json
08 10 2025 11:37:06.581:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithMultipleQuestions.json to 127.0.0.1:9413
08 10 2025 11:37:06.588:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithMultipleQuestions.json
08 10 2025 11:37:06.589:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithMultipleQuestions.json
08 10 2025 11:37:06.590:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithMultipleQuestions.json to 127.0.0.1:9413
 ext.securepoll.translationFlattener.test
 ✔ Flatten parser test [with multiple questions]
08 10 2025 11:37:06.602:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithWrongData.json
08 10 2025 11:37:06.602:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithWrongData.json
08 10 2025 11:37:06.602:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/flattener/JSONWithWrongData.json to 127.0.0.1:9413
08 10 2025 11:37:06.604:DEBUG [middleware:source-files]: Requesting /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithWrongData.json
08 10 2025 11:37:06.604:DEBUG [middleware:source-files]: Fetching /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithWrongData.json
08 10 2025 11:37:06.604:DEBUG [proxy]: proxying request - /extensions/SecurePoll/tests/qunit/data/flattener/ExpectedDataWithWrongData.json to 127.0.0.1:9413
 ✔ Flatten parser test [with wrong data]
 ext.securepoll.highlightWarnings.test
 ✔ initializeButton returns correct button element
 ✔ getFieldSets returns correct fieldsets
 ✔ showAllFieldSets shows all fieldsets and their rows
 ✔ hideAllFieldSets hides all fieldsets
 ext.securepoll.stv.vote.test
 ✔ combobox isn't initialized in mobile contexts
 ✔ initializeSubmitButton returns correct button element
 ✔ getVoteState only returns true when there are selected candidates
 ✔ User can drag candidates to the ranked group
 ✔ Reordering votes in ranked group updates the list correctly
 ✔ Clearing votes removes all selections from ranked group
 ✔ Reaching the seat limit prevents further additions to ranked group
 ✔ Clearing votes allows new additions after reaching seat limit
 ✔ Removing an individual vote allows new additions if previously at seat limit
 ✔ Form submission works with drag and drop
 ✔ Form submission works when shuffled (reversed)
 ext.securepoll.ImportDialog.test
 ✔ Initial state is valid
 ✔ Calling switchPage changes state
 ✔ validateSourceApi returns true when response contains query
 ✔ validateSourceApi returns false when response does not contain query
 ✔ validateSourceApi returns false on API error (rejected promise)
 ✔ ResultPage escapes page title inputs
 ext.securepoll.SelectSourcePage
 ✔ sourceInput widget is present and visible
 ✔ getSourceApi returns the current input value
 jquery.highlightText
 ✔ highlightText() [0]
 ✔ highlightText() [1]
 ✔ highlightText() [2]
 ✔ highlightText() [3]
 ✔ highlightText() [4]
 ✔ highlightText() [5]
 ✔ highlightText() [6]
 ✔ highlightText() [7]
 ✔ highlightText() [8]
 ✔ highlightText() [9]
 ✔ highlightText() [10]
 ✔ highlightText() [11]
 ✔ highlightText() [12]
 ✔ highlightText() [13]
 ✔ highlightText() [14]
 ✔ highlightText() [15]
 ✔ highlightText() [16]
 ✔ highlightText() [17]
 ✔ highlightText() [18]
 ✔ highlightText() [19]
 ✔ highlightText() [20]
 ✔ highlightText() [21]
 ✔ highlightText() [22]
 ✔ highlightText() [23]
 ✔ highlightText() [24]
 ✔ highlightText() [25]
 ✔ highlightText() [26]
 ✔ highlightText() [27]
 ✔ highlightText() [28]
 ✔ highlightText() [29]
 ✔ highlightText() [30]
 ✔ highlightText() [31]
 ✔ highlightText() [32]
 ✔ highlightText() [33]
 ✔ highlightText() [34]
 ✔ highlightText() [35]
 jquery.lengthLimit
 ✔ byteLimit() [Plain text input]
 ✔ byteLimit() [Plain text input. Calling byteLimit with no parameters and no maxlength attribute (T38310)]
 ✔ byteLimit() [Limit using the maxlength attribute]
 ✔ byteLimit() [Limit using a custom value]
 ✔ byteLimit() [Limit using a custom value, overriding maxlength attribute]
 ✔ byteLimit() [Limit using a custom value (multibyte)]
 ✔ byteLimit() [Limit using a custom value (multibyte, outside BMP)]
 ✔ byteLimit() [Limit using a custom value (multibyte) overlapping a byte]
 ✔ byteLimit() [Pass the limit and a callback as input filter]
 ✔ byteLimit() [Limit using the maxlength attribute and pass a callback as input filter]
 ✔ byteLimit() [Truncate with exceeded limit and filter callback]
 ✔ byteLimit() [Input filter that increases the length]
 ✔ byteLimit() [Input filter of which the base exceeds the limit]
 ✔ byteLimit() [Unpaired surrogates do not crash]
 ✔ Confirm properties and attributes set
 ✔ Trim from insertion when limit exceeded
 ✔ Do not cut up false matching substrings in emoji insertions
 jquery.makeCollapsible
 ✔ testing hooks/triggers
 ✔ basic div operation
 ✔ basic table operation
 ✔ table support [table with caption]
 ✔ table support [table with caption and thead]
 ✔ basic list operation [ul]
 ✔ basic list operation [ol]
 ✔ basic operation when synchronous (options.instantHide)
 ✔ mw-made-collapsible data added
 ✔ mw-collapsible added when missing
 ✔ mw-collapsed added when missing
 ✔ initial collapse (mw-collapsed class)
 ✔ initial collapse (options.collapsed)
 ✔ clicks on links inside toggler pass through
 ✔ click on non-link inside toggler counts as trigger
 ✔ collapse/expand text (data-collapsetext, data-expandtext)
 ✔ collapse/expand text (options.collapseText, options.expandText)
 ✔ predefined toggle button and text (.mw-collapsible-toggle/.mw-collapsible-text)
 ✔ cloned collapsibles can be made collapsible again
 ✔ collapsibles in cloned elements are controlled by toggle clones
 ✔ reveal hash fragment
 ✔ T168689 - nested collapsible divs should keep independent state
 ✔ placeholder element for toggle
 ✔ T364712 - toggle moved outside of collapsible should still work
 jquery.tablesorter
 ✔ Planets: initial sort ascending by name
 ✔ Planets: initial sort descending by radius
 ✔ Planets: ascending by name
 ✔ Planets: ascending by name (again)
 ✔ Planets: ascending by name (multiple clicks)
 ✔ Planets: descending by name
 ✔ Planets: return to initial sort
 ✔ Planets: ascending radius
 ✔ Planets: descending radius
 ✔ Sorting multiple columns by passing sort list
 ✔ Sorting multiple columns by programmatically triggering sort()
 ✔ Reset to initial sorting by triggering sort() without any parameters
 ✔ Sort via click event after having initialized the tablesorter with initial sorting
 ✔ Multi-sort via click event after having initialized the tablesorter with initial sorting
 ✔ Reset sorting making table appear unsorted
 ✔ Sorting with colspanned headers: spanned column
 ✔ Sorting with colspanned headers: sort spanned column twice
 ✔ Sorting with colspanned headers: subsequent column
 ✔ Sorting with colspanned headers: sort subsequent column twice
 ✔ Basic planet table: one unsortable column
 ✔ T30775: German-style (dmy) short numeric dates
 ✔ T30775: American-style (mdy) short numeric dates
 ✔ IPv4 address sorting (T19141)
 ✔ IPv4 address reverse sorting (T19141)
 ✔ Accented Characters with custom collation
 ✔ Accented Characters Swedish locale
 ✔ Digraphs with custom collation
 ✔ Rowspan not exploded on init
 ✔ Basic planet table: same value for multiple rows via rowspan
 ✔ Basic planet table: same value for multiple rows via rowspan (sorting initially)
 ✔ Basic planet table: Same value for multiple rows via rowspan II
 ✔ Complex date parsing I
 ✔ Currency parsing I
 ✔ Handling of .sortbottom
 ✔ Handling of .sorttop
 ✔ Rowspan invalid value (T265503)
 ✔ Test sort buttons not added to .sorttop row
 ✔ Test detection routine
 ✔ T34047 - caption must be before thead
 ✔ data-sort-value attribute, when available, should override sorting position
 ✔ T10115: sort numbers with commas (ascending)
 ✔ T10115: sort numbers with commas (descending)
 ✔ T34888 - Tables inside a tableheader cell
 ✔ Correct date sorting I
 ✔ Correct date sorting II
 ✔ ISO date sorting
 ✔ Sorting images using alt text
 ✔ Sorting images using alt text (complex)
 ✔ Sorting images using alt text (with format autodetection)
 ✔ T40911 - The row with the largest amount of columns should receive the sort indicators
 ✔ rowspans in table headers should prefer the last row when rows are equal in length
 ✔ holes in the table headers should not throw JS errors
 ✔ td cells in thead should not be taken into account for longest row calculation
 ✔ Rowspan exploding with row headers
 ✔ Rowspan exploding with row headers and colspans
 ✔ Rowspan exploding with colspanned cells
 ✔ Rowspan exploding with colspanned cells (2)
 ✔ Rowspan exploding with rightmost rows spanning most
 ✔ Rowspan exploding with rightmost rows spanning most (2)
 ✔ Rowspan exploding with row-and-colspanned cells
 ✔ Rowspan exploding with uneven rowspan layout
 ✔ T105731 - incomplete rows in table body
 ✔ bug T114721 - use of expand-child class
 ✔ T29745 - References ignored in sortkey
 ✔ T311145 - style tags ignored in sortkey
 jquery.tablesorter > parsers
 ✔ Textual keys
 ✔ IPv4
 ✔ MDY Dates using mdy content language
 ✔ MDY Dates using dmy content language
 ✔ Very old MDY dates
 ✔ MDY Dates
 ✔ DMY Dates
 ✔ Clobbered Dates
 ✔ MY Dates
 ✔ Y Dates
 ✔ Currency
 ✔ Currency with european separators
 ✔ T114604 - Breaking tfoot with rowspans
 jquery.textSelection
 ✔ encapsulateText [Adding sig to end of text]
 ✔ encapsulateText [Adding bold to empty]
 ✔ encapsulateText [Adding bold to existing text]
 ✔ encapsulateText [ownline option: adding new h2]
 ✔ encapsulateText [ownline option: turn a whole line into new h2]
 ✔ encapsulateText [ownline option: turn a partial line into new h2]
 ✔ encapsulateText [splitlines option: no selection, insert new list item]
 ✔ encapsulateText [splitlines option: single partial line selection, insert new list item]
 ✔ encapsulateText [splitlines option: multiple lines]
 ✔ getCaretPosition [initial]
 ✔ getCaretPosition [forced empty selection]
 ✔ getCaretPosition [small selection]
 mediawiki.api.category
 ✔ .getCategoriesByPrefix()
 ✔ .isCategory("")
 ✔ .isCategory("#")
 ✔ .isCategory("mw:")
 ✔ .isCategory("|")
 ✔ .getCategories("")
 ✔ .getCategories("#")
 ✔ .getCategories("mw:")
 ✔ .getCategories("|")
 mediawiki.api.edit
 ✔ edit( title, transform String )
 ✔ edit( mw.Title, transform String )
 ✔ edit( title, transform Promise )
 ✔ edit( title, transform Object )
 ✔ edit( invalid-title, transform String )
 ✔ create( title, content )
 mediawiki.api.messages
 ✔ .getMessages()
 ✔ .getMessages() with a long string
 mediawiki.api.options
 ✔ saveOption
 ✔ saveOptions without Unit Separator
 ✔ saveOptions with Unit Separator
 ✔ saveOptions (anonymous)
 ✔ .parse( string )
 ✔ .parse( Object.toString )
 ✔ .parse( mw.Title )
 mediawiki.api
 ✔ get()
 ✔ post()
 ✔ API error errorformat=bc
 ✔ API error errorformat!=bc
 ✔ FormData support [native]
 ✔ FormData support [fallback]
 ✔ Converting arrays to pipe-separated (string)
 ✔ Converting arrays to pipe-separated (mw.Title)
 ✔ Converting arrays to pipe-separated (misc primitives)
 ✔ Omitting false booleans
 ✔ getToken() - cached
 ✔ getToken() - uncached
 ✔ getToken() [api error]
 ✔ getToken() [no query error]
 ✔ getToken() [alias]
 ✔ badToken() [custom]
 ✔ badToken() [alias]
 ✔ postWithToken( tokenType, params )
 ✔ postWithToken( tokenType, params with assert )
 ✔ postWithToken( tokenType, params, ajaxOptions )
 ✔ postWithToken() - badtoken
 ✔ postWithToken() - badtoken-cached
 ✔ #abort
 ✔ Aborting using abortable promise [Simple promise]
 ✔ Aborting using abortable promise [Chained promise]
 ✔ Aborting using abortable promise with mw.Api.AbortController [Simple promise]
 ✔ Aborting using abortable promise with mw.Api.AbortController [Chained promise]
 ✔ Aborting using abortable promise with native AbortController [Simple promise]
 ✔ Aborting using abortable promise with native AbortController [Chained promise]
 ✔ Aborting using mw.Api.AbortController (pre-aborted signal) [Simple promise]
 ✔ Aborting using mw.Api.AbortController (pre-aborted signal) [Chained promise]
 ✔ Aborting using mw.Api.AbortController (signal abort event) [Simple promise]
 ✔ Aborting using mw.Api.AbortController (signal abort event) [Chained promise]
 ✔ Aborting using Native AbortController (pre-aborted signal) [Simple promise]
 ✔ Aborting using Native AbortController (pre-aborted signal) [Chained promise]
 ✔ Aborting using Native AbortController (signal abort event) [Simple promise]
 ✔ Aborting using Native AbortController (signal abort event) [Chained promise]
 ✔ User agent
 mediawiki.api.upload
 ✔ Basic functionality
 mediawiki.api.watch
 ✔ .watch( string )
 ✔ .watch( Array ) - single
 ✔ .watch( Array ) - multi
 mediawiki.rest
 ✔ get()
 ✔ get() respects ajaxOptions url
 ✔ post()
 ✔ put()
 ✔ delete()
 ✔ http error
 ✔ #abort
 mediawiki.base/errorLogger
 ✔ installGlobalHandler
 ✔ logError
 mediawiki.base/html
 ✔ escape
 ✔ element()
 ✔ element( tagName )
 ✔ element( tagName, attrs )
 ✔ element( tagName, attrs, content )
 mediawiki.base
 ✔ mw.hook - add() and fire()
 ✔ mw.hook - "hasOwnProperty" as hook name
 ✔ mw.hook - Number of arguments
 ✔ mw.hook - Variadic firing data and array data type
 ✔ mw.hook - Chainable
 ✔ mw.hook - Memory from before
 ✔ mw.hook - functions always registered before firing
 ✔ mw.hook - Multiple consumers with memory between fires
 ✔ mw.hook - Memory is not wiped when consumed.
 ✔ mw.hook - Unregistering handler.
 ✔ mw.hook - Limit impact of consumer errors T223352
 ✔ mw.hook - Variadic add and remove
 ✔ mw.hook - deprecate() [add first]
 ✔ mw.hook - deprecate() [extra msg]
 ✔ mw.hook - deprecate() [add later]
 ✔ mw.log.makeDeprecated()
 ✔ mw.log.deprecate()
 ✔ RLQ.push
 mediawiki.base/track
 ✔ track
 ✔ trackSubscribe
 ✔ trackUnsubscribe
 ✔ trackError
 mediawiki.cookie
 ✔ set( key, value )
 ✔ set( key, value, expires )
 ✔ set( key, value, options )
 ✔ get( key ) - no values
 ✔ get( key ) - with value
 ✔ get( key, prefix )
 mediawiki.DateFormatter static functions
 ✔ forUser
 ✔ forUtc
 ✔ forSiteZone
 ✔ formatTimeAndDate [0]
 ✔ formatTimeAndDate [1]
 ✔ formatTimeAndDate [2]
 ✔ formatTime
 ✔ formatDate
 ✔ formatPrettyDate
 ✔ formatIso
 ✔ formatForDateTimeInput
 ✔ formatTimeAndDateRange
 ✔ formatTimeRange
 ✔ formatDateRange
 ✔ formatRelativeTimeOrDate
 ✔ priv.normalizeZone [Known zone]
 ✔ priv.normalizeZone [Supported offset]
 ✔ priv.normalizeZone [Whole hour offset unsupported]
 ✔ priv.normalizeZone [Partial hour offset unsupported]
 ✔ priv.normalizeZone [Null fallback]
 ✔ priv.normalizeZone [Null fallback to offset]
 ✔ priv.normalizeZone [Unknown zone fallback]
 ✔ priv.normalizeZone [Unknown default zone]
 mediawiki.DateFormatter instance methods
 ✔ formatTimeAndDate
 ✔ formatTime
 ✔ formatDate
 ✔ formatPrettyDate
 ✔ formatMw
 ✔ formatIso
 ✔ formatForDateTimeInput
 ✔ formatTimeAndDateRange
 ✔ formatTimeRange
 ✔ formatDateRange
 mediawiki.deflate
 ✔ deflate [foobar]
 ✔ deflate [Unicode]
 ✔ deflate [Non BMP unicode]
 ✔ deflate [5MB data]
 mediawiki.experiments
 ✔ getBucket( experiment, token )
 mediawiki.ForeignApi
 ✔ origin is included in GET requests
 ✔ origin is included in POST requests
 ✔ origin is not included in same-origin GET requests
 ✔ origin is not included in same-origin POST requests
 mediawiki.ForeignRest
 ✔ get()
 ✔ post()
 ✔ http error
 mediawiki.inspect
 ✔ .getModuleSize() - scripts
 mediawiki.jqueryMsg
 ✔ Replace
 ✔ Plural
 ✔ Gender
 ✔ Case changing
 ✔ Grammar
 ✔ Formal
 ✔ Variables
 ✔ Bi-di
 ✔ Match PHP parser
 ✔ Links
 ✔ CaseSensitiveNamespaces
 ✔ LocalizedNamespaces
 ✔ Replacements in links
 ✔ Curly brace transformation
 ✔ Int
 ✔ Ns
 ✔ mw.Message.prototype.parser monkey-patch
 ✔ mw.Message.prototype.parser monkey-patch HTML-escape
 ✔ formatnum
 ✔ fullurl
 ✔ HTML
 ✔ Nowiki
 ✔ Behavior in case of invalid wikitext
 ✔ Non-string parameters to various functions
 ✔ Do not allow javascript: urls
 ✔ Do not allow arbitrary style
 ✔ Integration
 ✔ setParserDefaults
 mediawiki.language
 ✔ mw.language getData and setData
 ✔ mw.language.convertNumber
 ✔ mw.language.convertNumber - digitTransformTable
 ✔ Language data for lang=bs
 ✔ Grammar test for lang=bs
 ✔ Language data for lang=he
 ✔ Grammar test for lang=he
 ✔ Language data for lang=hsb
 ✔ Grammar test for lang=hsb
 ✔ Language data for lang=dsb
 ✔ Grammar test for lang=dsb
 ✔ Language data for lang=hy
 ✔ Grammar test for lang=hy
 ✔ Language data for lang=fi
 ✔ Grammar test for lang=fi
 ✔ Language data for lang=ka
 ✔ Grammar test for lang=ka
 ✔ Language data for lang=ru
 ✔ Grammar test for lang=ru
 ✔ Language data for lang=hu
 ✔ Grammar test for lang=hu
 ✔ Language data for lang=ga
 ✔ Grammar test for lang=ga
 ✔ Language data for lang=mn
 ✔ Grammar test for lang=mn
 ✔ Language data for lang=uk
 ✔ Grammar test for lang=uk
 ✔ Language data for lang=sl
 ✔ Grammar test for lang=sl
 ✔ Language data for lang=os
 ✔ Grammar test for lang=os
 ✔ Language data for lang=la
 ✔ Grammar test for lang=la
 ✔ List to text test
 ✔ mw.language.bcp47
 mediawiki.messagePoster
 ✔ register
 mediawiki.pager.codex.limitSelectors
 ✔ should trigger form submit on any limit selector change
 mediawiki.rcfilters - FilterItem
 ✔ Initializing filter item
 ✔ Emitting events
 ✔ get/set boolean value
 ✔ get/set any value
 mediawiki.rcfilters - FiltersViewModel
 ✔ Setting up filters
 ✔ Default filters
 ✔ Parameter minimal state
 ✔ Parameter states
 ✔ Cleaning up parameter states
 ✔ Finding matching filters
 ✔ getParametersFromFilters
 ✔ getParametersFromFilters (custom object)
 ✔ getFiltersFromParameters
 ✔ sanitizeStringOptionGroup
 ✔ Filter interaction: subsets
 ✔ Filter interaction: full coverage
 ✔ Filter interaction: conflicts
 ✔ Filter highlights
 ✔ emptyAllFilters
 ✔ areVisibleFiltersEmpty
 mediawiki.rcfilters - SavedQueriesModel
 ✔ Initializing queries
 ✔ Adding new queries
 ✔ Manipulating queries
 ✔ Testing invert property
 mediawiki.rcfilters - SavedQueryItemModel
 ✔ Initializing and getters
 ✔ Default
 mediawiki.rcfilters - UriProcessor
 ✔ getVersion
 ✔ getUpdatedUri
 ✔ updateModelBasedOnQuery
 ✔ isNewState
 ✔ _getNormalizedQueryParams
 ✔ _normalizeTargetInUri
 mediawiki.router
 ✔ instance
 mediawiki.special.block.AdditionalDetailsField
 ✔ should set hardBlockVisible when blocking an IP address
 mediawiki.storage
 ✔ set/get(Object) with storage support
 ✔ set/get(Object) with storage methods disabled
 ✔ set/get(Object) with storage object disabled
 ✔ set/get with expiry - partial failure
 mediawiki.String
 ✔ byteLength() [lowercase a-z]
 ✔ byteLength() [uppercase A-Z]
 ✔ byteLength() [numbers 0-9]
 ✔ byteLength() [an asterisk]
 ✔ byteLength() [3 spaces]
 ✔ byteLength() [U+0024 Dollar]
 ✔ byteLength() [U+00A2 Cent]
 ✔ byteLength() [U+20AC Euro]
 ✔ byteLength() [U+24B62 Han surrogate]
 ✔ charAt() [simple]
 ✔ charAt() UTF-16 text
 ✔ lcFirst() [empty string]
 ✔ lcFirst() [slash is unchanged]
 ✔ lcFirst() [ASCII uppercase]
 ✔ lcFirst() [ASCII lowercase unchanged]
 ✔ lcFirst() [first surrogate only]
 ✔ lcFirst() [first surrogate with char]
 ✔ lcFirst() [second surrogate only]
 ✔ lcFirst() [second surrogate with char]
 ✔ lcFirst() [from U+10C80 (Old Hungarian capital A) to U+10CC0 (Old Hungarian small A)]
 ✔ ucFirst() [empty string]
 ✔ ucFirst() [slash is unchanged]
 ✔ ucFirst() [ASCII uppercase unchanged]
 ✔ ucFirst() [ASCII lowercase]
 ✔ ucFirst() [first surrogate only]
 ✔ ucFirst() [first surrogate with char]
 ✔ ucFirst() [second surrogate only]
 ✔ ucFirst() [second surrogate with char]
 ✔ ucFirst() [from U+10CC0 (Old Hungarian small A) to U+10C80 (Old Hungarian capital A)]
 ✔ trimByteLength() [simple ASCII]
 ✔ trimByteLength() [multibyte input]
 ✔ trimByteLength() [multibyte outside BMP]
 ✔ trimByteLength() [multibyte overlapping a byte]
 ✔ trimByteLength() [at limit with shortening input filter]
 ✔ trimByteLength() [exceed limit with shortening input filter]
 ✔ trimByteLength() [below limit with expanding input filter]
 ✔ trimByteLength() [trim from insertion point 0]
 ✔ trimByteLength() [trim from insertion point 1]
 ✔ trimByteLength() [Do not cut up false matching substrings in emoji insertions]
 ✔ trimByteLength() [Unpaired surrogates do not crash]
 mediawiki.template.mustache
 ✔ render
 mediawiki.template
 ✔ add
 ✔ compile
 ✔ get
 mediawiki.Title
 ✔ constructor
 ✔ newFromText
 ✔ makeTitle
 ✔ Basic parsing
 ✔ Transformation
 ✔ Namespace detection and conversion
 ✔ isTalkPage/getTalkPage/getSubjectPage
 ✔ wantSignaturesNamespace
 ✔ Throw error on invalid title
 ✔ phpCharToUpper
 ✔ Case-sensivity
 ✔ toString / toText
 ✔ getExtension
 ✔ exists
 ✔ getUrl
 ✔ newFromImg
 ✔ getRelativeText
 ✔ normalizeExtension
 ✔ newFromUserInput
 ✔ newFromUserInput with invalid file name for upload
 ✔ newFromUserInput with misplaced parameter
 ✔ newFromUserInput with invalid file name, but not for upload
 ✔ newFromFileName
 ✔ makeTitle for non existent namespace
 mediawiki.toc
 ✔ Use toggle
 ✔ Initially hidden
 mediawiki.Uri
 ✔ new mw.Uri( string ) with HTTP value [strict mode]
 ✔ new mw.Uri( string ) with HTTP value [non-strict mode]
 ✔ new mw.Uri( string ) with overrideKeys [0]
 ✔ new mw.Uri( string ) with overrideKeys [1]
 ✔ new mw.Uri( string ) with non-HTTP values
 ✔ new mw.Uri( Object )
 ✔ new mw.Uri( empty )
 ✔ Setting properties
 ✔ .getQueryString()
 ✔ arrayParams
 ✔ .clone()
 ✔ .toString() after query manipulation
 ✔ Variable defaultUri
 ✔ Advanced URL
 ✔ Parse a uri with an @ symbol in the path and query
 ✔ Handle protocol-relative URLs
 ✔ T37658
 mediawiki.user
 ✔ options
 ✔ getters (anonymous)
 ✔ getters (logged-in)
 ✔ getGroups (callback)
 ✔ getGroups (Promise)
 ✔ getRights (callback)
 ✔ getRights (Promise)
 ✔ generateRandomSessionId
 ✔ generateRandomSessionId (fallback)
 ✔ getPageviewToken
 ✔ sessionId
 mediawiki.user > clientPrefs
 ✔ get() [from HTML element]
 ✔ get() [never read from cookie]
 ✔ set() [valid preferences]
 ✔ set() [invalid preferences]
 ✔ set() [invalid characters]
 ✔ set() [create cookie on change]
 ✔ set() [always store values]
 ✔ set() [throw if registered user]
 mediawiki.util: jquery.accessKeyLabel
 ✔ getAccessKeyPrefix
 ✔ updateTooltipAccessKeys - current browser
 ✔ updateTooltipAccessKeys - no access key
 ✔ updateTooltipAccessKeys - with access key
 ✔ updateTooltipAccessKeys with label element
 ✔ updateTooltipAccessKeys with label element as parent
 mediawiki.util
 ✔ rawurlencode
 ✔ escapeIdForAttribute
 ✔ escapeIdForLink
 ✔ percentDecodeFragment [0]
 ✔ percentDecodeFragment [1]
 ✔ percentDecodeFragment [2]
 ✔ percentDecodeFragment [3]
 ✔ percentDecodeFragment [4]
 ✔ percentDecodeFragment [5]
 ✔ percentDecodeFragment [6]
 ✔ percentDecodeFragment [7]
 ✔ percentDecodeFragment [8]
 ✔ percentDecodeFragment [9]
 ✔ percentDecodeFragment [10]
 ✔ percentDecodeFragment [11]
 ✔ percentDecodeFragment [12]
 ✔ wikiUrlencode [0]
 ✔ wikiUrlencode [1]
 ✔ wikiUrlencode [2]
 ✔ wikiUrlencode [3]
 ✔ wikiUrlencode [4]
 ✔ wikiUrlencode [5]
 ✔ wikiUrlencode [6]
 ✔ wikiUrlencode [7]
 ✔ wikiUrlencode [8]
 ✔ wikiUrlencode [9]
 ✔ wikiUrlencode [10]
 ✔ getUrl
 ✔ wikiScript
 ✔ addCSS
 ✔ getParamValue
 ✔ getArrayParam
 ✔ messageBox
 ✔ addPortlet does not append to DOM if no `before` is provided
 ✔ addPortlet returns null if bad selector given
 ✔ addPortlet appends to DOM if before provided
 ✔ addPortletLink (Vector list)
 ✔ addPortletLink (Minerva list)
 ✔ addPortletLink (nextNode option)
 ✔ addPortletLink (accesskey option)
 ✔ addPortletLink (nested list)
 ✔ validateEmail
 ✔ isIPv4Address invalid [0: false]
 ✔ isIPv4Address invalid [1: true]
 ✔ isIPv4Address invalid []
 ✔ isIPv4Address invalid [abc]
 ✔ isIPv4Address invalid [:]
 ✔ isIPv4Address invalid [124.24.52]
 ✔ isIPv4Address invalid [24.324.52.13]
 ✔ isIPv4Address invalid [.24.52.13]
 ✔ isIPv4Address invalid [74.24.52.13/20]
 ✔ isIPv4Address valid [124.24.52.13]
 ✔ isIPv4Address valid [1.24.52.13]
 ✔ isIPv6Address invalid [0: false]
 ✔ isIPv6Address invalid [1: true]
 ✔ isIPv6Address invalid [:fc:100::]
 ✔ isIPv6Address invalid [fc:100:::]
 ✔ isIPv6Address invalid [fc:300]
 ✔ isIPv6Address invalid [fc:100:300]
 ✔ isIPv6Address invalid [fc:100:a:d:1:e:ac:0::]
 ✔ isIPv6Address invalid [fc:100:a:d:1:e:ac:0:1::]
 ✔ isIPv6Address invalid [:::]
 ✔ isIPv6Address invalid [::0:]
 ✔ isIPv6Address invalid [::fc:100:a:d:1:e:ac:0]
 ✔ isIPv6Address invalid [::fc:100:a:d:1:e:ac:0:1]
 ✔ isIPv6Address invalid [:fc::100]
 ✔ isIPv6Address invalid [fc::100:]
 ✔ isIPv6Address invalid [fc:::100]
 ✔ isIPv6Address invalid [fc::100:a:d:1:e:ac:0]
 ✔ isIPv6Address invalid [fc::100:a:d:1:e:ac:0:1]
 ✔ isIPv6Address valid [::]
 ✔ isIPv6Address valid [fc::100]
 ✔ isIPv6Address valid [fc::100:a]
 ✔ isIPv6Address valid [fc::100:a:d]
 ✔ isIPv6Address valid [fc::100:a:d:1]
 ✔ isIPv6Address valid [fc::100:a:d:1:e]
 ✔ isIPv6Address valid [fc::100:a:d:1:e:ac]
 ✔ isIPv6Address valid [2001::df]
 ✔ isIPv6Address valid [2001:5c0:1400:a::df]
 ✔ isIPv6Address valid [2001:5c0:1400:a::df:2]
 ✔ isIPv6Address valid [fc:100::]
 ✔ isIPv6Address valid [fc:100:a::]
 ✔ isIPv6Address valid [fc:100:a:d::]
 ✔ isIPv6Address valid [fc:100:a:d:1::]
 ✔ isIPv6Address valid [fc:100:a:d:1:e::]
 ✔ isIPv6Address valid [fc:100:a:d:1:e:ac::]
 ✔ isIPv6Address valid [::0]
 ✔ isIPv6Address valid [::fc]
 ✔ isIPv6Address valid [::fc:100]
 ✔ isIPv6Address valid [::fc:100:a]
 ✔ isIPv6Address valid [::fc:100:a:d]
 ✔ isIPv6Address valid [::fc:100:a:d:1]
 ✔ isIPv6Address valid [::fc:100:a:d:1:e]
 ✔ isIPv6Address valid [::fc:100:a:d:1:e:ac]
 ✔ isIPv6Address valid [fc:100:a:d:1:e:ac:0]
 ✔ parseImageUrl [Hashed thumb with shortened path]
 ✔ parseImageUrl [Hashed thumb with sha1-ed path]
 ✔ parseImageUrl [Normal hashed directory thumbnail]
 ✔ parseImageUrl [Normal hashed directory thumbnail with complex thumbnail parameters]
 ✔ parseImageUrl [Width-like filename component]
 ✔ parseImageUrl [Width-like filename component in non-ASCII filename]
 ✔ parseImageUrl [Commons thumbnail]
 ✔ parseImageUrl [Full image]
 ✔ parseImageUrl [thumb.php-based thumbnail]
 ✔ parseImageUrl [thumb.php-based thumbnail with px width]
 ✔ parseImageUrl [thumb.php-based BC thumbnail]
 ✔ parseImageUrl [Commons unhashed thumbnail]
 ✔ parseImageUrl [Commons unhashed thumbnail with complex thumbnail parameters]
 ✔ parseImageUrl [Unhashed local file]
 ✔ parseImageUrl [Empty string]
 ✔ parseImageUrl [String with only alphabet characters]
 ✔ parseImageUrl [Not a file path]
 ✔ parseImageUrl [Space characters]
 ✔ parseImageUrl [no dynamic thumbnail generation]
 ✔ escapeRegExp [normal]
 ✔ escapeRegExp [specials] [\]
 ✔ escapeRegExp [specials] [{]
 ✔ escapeRegExp [specials] [}]
 ✔ escapeRegExp [specials] [(]
 ✔ escapeRegExp [specials] [)]
 ✔ escapeRegExp [specials] [[]
 ✔ escapeRegExp [specials] []]
 ✔ escapeRegExp [specials] [|]
 ✔ escapeRegExp [specials] [.]
 ✔ escapeRegExp [specials] [?]
 ✔ escapeRegExp [specials] [*]
 ✔ escapeRegExp [specials] [+]
 ✔ escapeRegExp [specials] [-]
 ✔ escapeRegExp [specials] [^]
 ✔ escapeRegExp [specials] [$]
 ✔ debounce(Function, timeout)
 ✔ debounce(Function, timeout, immediate=true)
 ✔ debounce(timeout, Function) [old signature]
 ✔ init (.mw-body-primary)
 ✔ init (first of multiple .mw-body)
 ✔ init (#mw-content-text fallback)
 ✔ init (body fallback)
 ✔ sanitizeIP [IPv6 with "::" and 2 words]
 ✔ sanitizeIP [IPv6 with "::" and 3 words]
 ✔ sanitizeIP [IPv6 with "::" and 4 words]
 ✔ sanitizeIP [IPv6 with "::" and 5 words]
 ✔ sanitizeIP [IPv6 with "::" and 6 words]
 ✔ sanitizeIP [IPv6 with "::" and 7 words]
 ✔ sanitizeIP [IPv6 with "::" and 2 words (Teredo)]
 ✔ sanitizeIP [IPv6 with "::" and 5 words (Teredo)]
 ✔ sanitizeIP [IPv6 with "::" and 6 words (Teredo)]
 ✔ sanitizeIP [IPv6 range with "::" and 6 words (Teredo)]
 ✔ sanitizeIP [IPv4 no change]
 ✔ sanitizeIP [IPv4 strip leading 0s]
 ✔ sanitizeIP [IPv4 strip multiple leading 0s]
 ✔ sanitizeIP [IPv4 don't strip meaningful trailing 0s]
 ✔ sanitizeIP [IPv4 strip meaningless multiple 0s]
 ✔ sanitizeIP [IPv4 range strip meaningless multiple 0s]
 ✔ sanitizeIP [Not an IP]
 ✔ sanitizeIP [Empty string]
 ✔ sanitizeIP [IPv4 trim whitespace from start and end of the string]
 ✔ sanitizeIP [IPv6 starts with ::]
 ✔ sanitizeIP [IPv6 remove leading zeros from each block.]
 ✔ sanitizeIP [IPv6 :: at the end]
 ✔ sanitizeIP [Non-IP string]
 ✔ sanitizeIP [Non-string]
 ✔ prettifyIP [IPv6 change to lowercase]
 ✔ prettifyIP [IPv4 no change]
 ✔ prettifyIP [IPv4 range strip meaningless multiple 0s]
 ✔ prettifyIP [Empty string]
 ✔ prettifyIP [IPv6 range Replace consecutive zeros with :: ]
 ✔ prettifyIP [IPv6 middle only consecutive zeros with ::]
 ✔ prettifyIP [IPv6 first longer consecutive zeros with ::]
 ✔ prettifyIP [IPv6 last longer consecutive zeros with ::]
 ✔ prettifyIP [IPv6 first of equal length consecutive zeros with ::]
 ✔ isTemporaryUser [prefix mismatch]
 ✔ isTemporaryUser [prefix match]
 ✔ isTemporaryUser [suffix only match]
 ✔ isTemporaryUser [suffix only mismatch]
 ✔ isTemporaryUser [prefix and suffix match]
 ✔ isTemporaryUser [prefix and suffix mismatch]
 ✔ isTemporaryUser [prefix and suffix zero length match]
 ✔ isTemporaryUser [prefix and suffix overlapping]
 ✔ isTemporaryUser [multiple patterns prefix match]
 ✔ isTemporaryUser [multiple patterns prefix mismatch]
 ✔ isTemporaryUser [multiple patterns suffix match]
 ✔ isTemporaryUser [multiple patterns suffix mismatch]
 ✔ isTemporaryUser [multiple patterns prefix and suffix match]
 ✔ isTemporaryUser [Auto create temporary user disabled]
 ✔ isTemporaryUser [null username]
 ✔ isTemporaryUser matchPattern null [prefix mismatch]
 ✔ isTemporaryUser matchPattern null [prefix match]
 ✔ isInfinity
 mediawiki.visibleTimeout
 ✔ visibleTimeoutId is always a positive integer
 ✔ basic usage when visible
 ✔ basic usage - fallback assumes visible
 ✔ can cancel timeout
 ✔ start hidden and become visible
 ✔ timeout is cumulative
 mediawiki.widgets.APIResultsQueue
 ✔ Query providers
 ✔ Abort providers
 mediawiki.widgets.NamespaceInputWidget
 ✔ NamespaceInputWidget initialization
 ✔ NamespaceInputWidget 'include' config parameter
 mediawiki.widgets.TableWidget
 ✔ TableWidgetModel initialization
 ✔ TableWidgetModel#getRowProperties
 ✔ TableWidget#setValue
 ✔ TableWidget#insertColumn/insertRow (skipped)
 ✔ TableWidget#removeColumn (skipped)
 ✔ TableWidget#removeRow by index (skipped)
 ✔ TableWidget#removeRow by key (skipped)
 ✔ TableWidget populate text inputs
 mediawiki.widgets.UserInputWidget
 ✔ UserInputWidget initialization sets lookup status correctly
 ✔ UserInputWidget.setLookupsDisabled for default widget
 ✔ setLookupsDisabled() for widget that excludes named and temp users
 ✔ onLookupMenuChoose() for widget that excludes named and temp users
 ✔ onLookupMenuChoose() for widget wth default config
 ✔ Lookup requests removes leading whitespaces from the username
 startup/clientprefs
 ✔ clientprefs() [default behaviour]
 ✔ clientprefs() [default behaviour on skin with clientprefs]
 ✔ clientprefs() [toggle feature with boolean suffix]
 ✔ clientprefs() [toggle feature with number suffix]
 ✔ clientprefs() [toggle feature with word suffix]
 ✔ clientprefs() [ignore key without clientpref suffix]
 ✔ clientprefs() [ignore value with dashes]
 ✔ clientprefs() [toggle multiple features]
 startup/jscompat
 ✔ Unicode variable name
 ✔ textarea strips newline (T14130) [0: 0]
 ✔ textarea strips newline (T14130) [1: 1]
 ✔ textarea strips newline (T14130) [2: 2]
 ✔ textarea strips newline (T14130) [3: 3]
 mediawiki
 ✔ Initial check
 ✔ mw.format
 ✔ mw.now
 mw.Message
 ✔ Construct
 ✔ plain()
 ✔ escaped()
 ✔ parse()
 ✔ exists()
 ✔ toString() non-existing
 ✔ jqueryMsg / Magic words
 ✔ mw.msg()
 mw.loader
 ✔ .using( .., Function callback ) Promise
 ✔ Prototype method as module name
 ✔ .using() - Error: Circular dependency [Set]
 ✔ .load() - Error: Circular dependency
 ✔ .load() - Error: Circular dependency (direct)
 ✔ .using() - Error: Unregistered
 ✔ .load() - Error: Unregistered
 ✔ .load() - Error: Missing dependency
 ✔ .implement( styles={ "css": [text, ..] } )
 ✔ .implement( styles={ "url": { <media>: [url, ..] } } )
 ✔ .implement( messages before script )
 ✔ .implement( styles with @import )
 ✔ .implement( dependency with styles )
 ✔ .implement( only scripts )
 ✔ .implement( only messages )
 ✔ .implement( empty )
 ✔ .implement() [packageFiles long paths]
 ✔ .implement() [packageFiles with parent files]
 ✔ .implement( name with @ )
 ✔ .addSource()
 ✔ .register() - ES6 support always true
 ✔ .batchRequest() - Module version combines for given batch
 ✔ .batchRequest() - Module version combined based on sorted order
 ✔ Broken indirect dependency
 ✔ Out-of-order implementation
 ✔ Missing dependency
 ✔ Dependency handling
 ✔ Network failure
 ✔ Skip-function handling
 ✔ .load() [protocol-relative URL T32825]
 ✔ .load() [absolute URL]
 ✔ importScript()
 ✔ importStylesheet()
 ✔ Empty string module name - T28804
 ✔ Executing race - T112232
 ✔ Stale response caching - T117587
 ✔ No storing of group=private responses
 ✔ No storing of group=user responses
 ✔ mw.loader.store.load - Disallowed localStorage
 ✔ mw.loader.store.load - Invalid JSON
 ✔ mw.loader.store.load - Unusable JSON
 ✔ mw.loader.store.load - Expired JSON
 ✔ mw.loader.store.load - Good JSON
 ✔ require()
 ✔ require() in debug mode
 ✔ .require() relative file without packageFiles
 ✔ Implicit dependencies
 ✔ .getScript() - success
08 10 2025 11:37:12.878:DEBUG [middleware:source-files]: Requesting /this-is-not-found.txt
08 10 2025 11:37:12.879:DEBUG [middleware:source-files]: Fetching /this-is-not-found.txt
08 10 2025 11:37:12.879:DEBUG [proxy]: proxying request - /this-is-not-found.txt to 127.0.0.1:9413
 ✔ .getScript() - failure
 mw.Map
 ✔ Store simple string key
 ✔ Store number-like key
 ✔ get()
 ✔ values
 ✔ set()
 ✔ exists()
 ✔ Avoid prototype pollution
 mw.requestIdleCallback
 ✔ callback
 ✔ nested
 ✔ timeRemaining
 ✔ native
 testrunner
 ✔ assert.htmlEqual
 ext.checkUser.checkuser.getUsersBlockForm
 ✔ Test locally blocking accounts
 ✔ Test locally blocking IPs
 ✔ Test globally blocking accounts
 ✔ Test globally blocking IPs
 ✔ Test MultiLock link
 ✔ Test load without local block buttons, global block buttons, or MultiLock URL
 ext.checkUser.checkuser.checkUserHelper.utils
 ✔ Test that calculateIPNumber returns the expected value
 ✔ Test that compareIPs returns the expected value
 ext.checkUser.checkuser.checkUserHelper.buildUserElement
 ✔ buildUserElement formats usernames as expected
 ext.checkUser.checkuser.checkUserHelper.createTableText
 ✔ Test that createTableText returns the expected wikitext
 ext.checkUser.checkuser.checkUserHelper.createTable
 ✔ Test that createTable makes the expected table
 ext.checkUser.checkuser.checkUserHelper.generateData
 ✔ Test that generateData returns the expected data
 ext.checkUser.clientHints
 ✔ Client hints code is setup if navigator.userAgentData.getHighEntropyValues() is available
 ✔ Client hints code is not setup if navigator.userAgentData is available but navigator.userAgentData.getHighEntropyValues() is not available
 ✔ Client hints code is not setup if navigator.userAgentData is not defined
 ext.checkUser.ipInfo.hooks
 ✔ Special:GC link not added if conditions not met when hook is fired
 ✔ Test Special:GC link added on ext.ipinfo.infobox.widget hook
 ext.checkUser.investigate.blockform
 ✔ Test visibility of block form elements on DOM load, after block click, and after cancel click
 ✔ Test blocking accounts
 ✔ Test blocking IPs
 ext.checkUser.tempAccounts.ipRevealUtils
 ✔ Test getRevealedStatus when no value set
 ✔ Test setRevealedStatus
 ✔ Test getAutoRevealStatus when no value set
 ✔ Test getAutoRevealStatus with expiry in the past
 ✔ Test getAutoRevealStatus with expiry too far in the future
 ✔ Test getAutoRevealStatus with expiry in the future
 ✔ Test getAutoRevealStatus with API failure
 ✔ Test setAutoRevealStatus (enable)
 ✔ Test setAutoRevealStatus (disable)
 ext.checkUser.tempAccounts.ipReveal
 ✔ Test getRevisionId
 ✔ Test getLogId
 ✔ Test enableMultiReveal
 ✔ Test enableMultiReveal with grouped recent changes
 ✔ Test addIpRevealButtons adds temporary account IP reveal buttons
 ✔ Test makeButton creates expected button
 ✔ Test makeButton creates expected button for blocked performer
 ✔ Test makeButton on button click for failed request
 ✔ Test makeButton on button click for successful request but missing data
 ✔ Test makeButton on button click for successful request but expired data
 ✔ Test makeButton on button click for successful request with data
 ✔ Test enableAutoReveal replaces buttons with IPs
 ✔ Test disableAutoReveal replaces IPs with buttons
 ext.checkUser.tempAccounts.initOnLoad
 ✔ Test initOnLoad when there are no temporary account user links
 ✔ Test initOnLoad when there are temporary account user links with one pre-revealed
 ✔ Test initOnLoad when IP auto-reveal mode is toggled on and off
 ext.checkUser.tempAccounts.initOnHook
 ✔ Test initOnHook when there are no temporary account user links on load
 ✔ Test initOnHook when temporary account links added after load
 ✔ Test initOnHook with recently revealed temp user links added after load
 ✔ Test initOnHook when IP auto-reveal mode is toggled on and off
 ext.checkUser.tempAccounts.rest
 ✔ Test performRevealRequest for 500 response when requesting one IP
 ✔ Test performRevealRequest for 500 response when getting IPs for rev IDs
 ✔ Test performRevealRequest for 500 response when getting IPs for log IDs
 ✔ Test performRevealRequest for 200 response when requesting one IP
 ✔ Test performRevealRequest on bad CSRF token for both attempts
 ✔ Test performFullRevealRequest for only target username
 ✔ Test performFullRevealRequest on bad CSRF token for first attempt
 ext.checkUser.tempAccounts.SpecialBlock
 ✔ Test createButton creates expected button
 ✔ Test onLoad for a user which is not a temporary account
 ✔ Test onLoad for a user which matches temporary account format but does not exist
 ✔ Test onLoad for an existing temporary account with IP data
 ✔ Test onLoad for an existing temporary account without IP data
 ✔ Test onLoad for an existing temporary account but IP data call fails
 ✔ Test onLoad when Codex Special:Block is enabled
 ext.checkUser.tempAccounts.SpecialContributions
 ✔ Test for an empty Special:Contributions page for temp account
 ✔ Test for a Special:Contributions page for unrevealed temp account
 ✔ Test for a Special:Contributions page for revealed temp account
 ✔ Test for a Special:DeletedContributions page for unrevealed temp account
 ext.checkUser.tempAccounts.BlockDetailsPopupButtonWidget
 ✔ renders initial state
WARN: 'PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.'
 ✔ fetches block details when opened
WARN: 'PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.'
 ✔ renders notice if no block details found
WARN: 'PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.'
 ✔ renders error message on API error
 ext.checkUser.userInfoCard.util
 ✔ processEditCountByDay handles empty input data
 ✔ processEditCountByDay handles null/undefined input data
 ✔ processEditCountByDay processes partial data correctly
 ✔ processEditCountByDay processes full 60 days of data
 ✔ processEditCountByDay maintains correct date sequence
 ✔ parseMediaWikiTimestamp parses valid MediaWiki timestamp
 ✔ parseMediaWikiTimestamp parses timestamp with zeros
 ✔ parseMediaWikiTimestamp parses end of year timestamp
 ✔ parseMediaWikiTimestamp returns null for invalid timestamp length
 ✔ parseMediaWikiTimestamp returns null for null/undefined input
 ✔ parseMediaWikiTimestamp handles malformed timestamp gracefully
 ✔ parseMediaWikiTimestamp handles leap year correctly
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ext.checkUser.userInfoCard.App
 ✔ renders closed by default
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ open method opens the popover with the correct trigger
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ setUserInfo method sets the user ID and wiki ID
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ componentKey is based on username
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ container divs are rendered only when popover is open
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ close method closes the popover
 ✔ open & close method logs an event with correct parameters (skipped)
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ isPopoverOpen method returns the correct state
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
WARN: '[CdxPopover]: The "anchor" prop must be provided to position the CdxPopover.'
 ✔ exposed methods are available
 ext.checkUser.userInfoCard.InfoRow
 ✔ renders correctly with minimal props
 ✔ does not render icon when icon prop is not provided
 ✔ renders icon when icon prop is provided
 ext.checkUser.userInfoCard.InfoRowWithLinks
 ✔ formattedMessage computed property creates correct HTML for main value only
 ✔ formattedMessage computed property creates correct HTML for main and suffix values
 ✔ creates span instead of link when no URL is provided
 ✔ does not include suffix when suffixValue is empty, null, or undefined
 ✔ handles numeric values correctly
 ✔ renders formatted message using v-html
 ✔ logs an event when onLinkClick is called (skipped)
WARN: '[Vue warn]: Missing required prop: "lastEditTimestamp"', '
', ' at <UserActivityChart', 'username="username"', 'recentLocalEdits=', [Object{date: Wed Jan 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 5}, Object{date: Thu Jan 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 3}, Object{date: Fri Jan 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 7}], 'totalLocalEdits=15', ' ...', '>', '
', ' at <VTUROOT>'
 ext.checkUser.userInfoCard.UserActivityChart
 ✔ renders correctly with required props
WARN: '[Vue warn]: Missing required prop: "lastEditTimestamp"', '
', ' at <UserActivityChart', 'username="username"', 'recentLocalEdits=', [Object{date: Wed Jan 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 5}, Object{date: Thu Jan 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 3}, Object{date: Fri Jan 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 7}], 'totalLocalEdits=15', ' ...', '>', '
', ' at <VTUROOT>'
 ✔ uses CSparkline component with correct props
WARN: '[Vue warn]: Missing required prop: "lastEditTimestamp"', '
', ' at <UserActivityChart', 'username="username"', 'recentLocalEdits=', [Object{date: Wed Jan 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 5}, Object{date: Thu Jan 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 3}, Object{date: Fri Jan 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 7}], 'totalLocalEdits=15', ' ...', '>', '
', ' at <VTUROOT>'
 ✔ displays the correct activity chart label
WARN: '[Vue warn]: Missing required prop: "lastEditTimestamp"', '
', ' at <UserActivityChart', 'username="username"', 'recentLocalEdits=', [Object{date: Wed Jan 01 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 5}, Object{date: Thu Jan 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 3}, Object{date: Fri Jan 03 2025 00:00:00 GMT+0000 (Coordinated Universal Time), count: 7}], 'totalLocalEdits=15', ' ...', '>', '
', ' at <VTUROOT>'
 ✔ setup function returns the correct activityChartLabel
 ✔ Renders the timestamp of the last edit if provided
 ✔ Does not render the timestamp of the last edit if not provided
 ext.checkUser.userInfoCard.UserCardBody
 ✔ renders correctly with required props
 ✔ displays joined date information correctly
 ✔ displays registration date unknown information correctly
 ✔ renders correct number of InfoRowWithLinks components with all permissions
 ✔ renders correct number of InfoRowWithLinks components with no permissions
 ✔ should cap thanks and new articles counts when at or above configured limit [below limit]
 ✔ should cap thanks and new articles counts when at or above configured limit [new articles count at limit]
 ✔ should cap thanks and new articles counts when at or above configured limit [thanks received count at limit]
 ✔ should cap thanks and new articles counts when at or above configured limit [thanks sent count at limit]
 ✔ passes correct props to active blocks row
 ✔ passes correct props to past blocks row
 ✔ does not render past blocks row when permission is not granted
 ✔ does not render active blocks row or past blocks row when count is zero
 ✔ hides data from GrowthExperiments if unavailable
 ✔ renders user groups
 ✔ renders global user groups
 ✔ does not render active wikis paragraph when activeWikis is empty
 ✔ renders active wikis paragraph when activeWikis is not empty
 ✔ renders active wikis as links with correct URLs
 ✔ renders UserActivityChart when recentLocalEdits is not empty
 ✔ does not render UserActivityChart when hasEditInLast60Days is false
 ✔ setup function returns correct values with all permissions
 ✔ setup function returns correct values with no permissions
 ✔ activeWikisList computed property transforms object to array correctly
 ✔ should correctly display range, min, and max for temp accounts on ips count [min]
 ✔ should correctly display range, min, and max for temp accounts on ips count [range]
 ✔ should correctly display range, min, and max for temp accounts on ips count [max]
 ✔ temporary accounts on ip count doesn't display for registered users
 ✔ logs an event when onWikiLinkClick is called (skipped)
 ext.checkUser.userInfoCard.UserCardHeader
 ✔ renders correctly with all required props
 ✔ applies the correct class to username link when userPageIsKnown is true
 ✔ applies the correct class to username link when userPageIsKnown is false
 ✔ sets the correct href on the username link
 ✔ passes the correct props to UserCardMenu
 ✔ emits close event when close button is clicked
 ✔ sets the correct aria-label on the close button
 ✔ logs an event when onUsernameClick is called (skipped)
 ext.checkUser.userInfoCard.UserCardLoadingView
 ✔ renders correctly
 ✔ uses CdxProgressIndicator component
 ✔ displays the correct loading label
 ✔ setup function returns the correct loadingLabel
 ext.checkUser.userInfoCard.UserCardMenu
 ✔ renders correctly with default props
 ✔ computes menu items correctly with all permissions
 ✔ computes menu items correctly with no permissions
 ✔ computes menu items correctly with only check-ip permission
 ✔ computes menu items correctly with only block-user permission
 ✔ watchlist label changes based on initial state
 ✔ logs an event when onMenuSelect is called (skipped)
 ext.checkUser.userInfoCard.UserCardView
 ✔ renders loading state initially
 ✔ renders error state when API call fails
 ✔ renders card view when API call succeeds
 ext.checkUser.userInfoCard.UserInfoCardError
 ✔ renders correctly with required props
 ✔ uses CdxMessage component with correct type
 ✔ displays the correct error message
 ✔ displays the correct strong message from mw.msg
 ✔ setup function returns the correct strongMessage
 ext.checkUser.userInfoCard.useInstrument
 ✔ returns empty function when instrumentation is disabled
 ✔ returned function logs events with correct data
 ext.checkUser.userInfoCard.useWatchList
 ✔ initializes with correct state
 ✔ toggleWatchList unwatches when currently watched
 ✔ toggleWatchList watches when currently unwatched
 ✔ toggleWatchList handles unwatch error
 ✔ toggleWatchList handles watch error
 ✔ watchListLabel returns correct label based on watch state
 ext.checkUser.suggestedInvestigations.rest
 ✔ Test setCaseStatus for correct status name
 ✔ Test setCaseStatus for incorrect status name
 ✔ Test setCaseStatus on bad CSRF token for first attempt
 ext.checkUser.suggestedInvestigations.utils
 ✔ Test updateCaseStatusOnPage [status goes from open to resolved]
 ✔ Test updateCaseStatusOnPage [status goes from resolved to open]
 ✔ Test updateCaseStatusOnPage [status goes from open to invalid with a reason provided]
 ✔ Test updateCaseStatusOnPage [status goes from open to invalid with no reason provided]
 ✔ Test updateCaseStatusOnPage [status goes from invalid to resolved]
 ✔ Test updateCaseStatusOnPage [no change in status, but change in reason]
 ext.flow.dm mw.flow.dm.Content
 ✔ Stores different content representations (formats)
 ✔ Behaves when empty
 ext.flow.dm mw.flow.dm.System
 ✔ Initialize flow system
 ext.flow.dm mw.flow.dm.Post
 ✔ Hierarchical post structure
 ext.flow.dm mw.flow.dm.Topic
 ✔ Load topics
 ext.flow.dm mw.flow.dm.Board
 ✔ Create board
 ext.flow: mediawiki.ui.enhance
 ✔ Forms with required fields have certain buttons disabled by default
 ✔ mw-ui-tooltip
 ✔ mw-ui-modal
 ext.templateData
 ✔ Validation tools
 ✔ TemplateData model
 ✔ TemplateData sourceHandler with maps
 ✔ TemplateData sourceHandler failure
 ✔ TemplateData sourceHandler adding default format
 ✔ Duplicate parameter names
 ✔ safesubst: hack with an unnamed parameter
 ext.templateData.templateDiscovery.categories
 ✔ Adding and removing columns
 ext.wikiEditor.toolbar
 ✔ Toolbars
 ✔ Booklets
 jquery: findWithParent
 ✔ jQueryFindWithParent
 ve
 ✔ compareClassLists
 ✔ isInstanceOfAny
 ✔ getDomAttributes
 ✔ setDomAttributes
 ✔ sparseSplice
 ✔ batchSplice
 ✔ batchPush
 ✔ insertIntoArray
 ✔ escapeHtml
 ✔ addHeadTag
 ✔ createDocumentFromHtml
 ✔ resolveUrl
 ✔ resolveAttributes
 ✔ fixBase
 ✔ isUriComponentValid
 ✔ safeDecodeURIComponent
 ✔ isBlockElement/isVoidElement
 ✔ graphemeSafeSubstring
 ✔ getCommonAncestor
 ✔ getCommonStartSequenceLength
 ✔ adjacentDomPosition
 ✔ deepFreeze
 ✔ deepFreeze (on cyclic structure)
 ✔ deepFreeze (recursive, aliased)
 ✔ ve.minimizeRects
 ve.utils.parsoid
 ✔ reduplicateStyles/deduplicateStyles
 ✔ getTargetDataFromHref
 ve.DiffMatchPatch
 ✔ indexOf/lastIndexOf
 ve.EventSequencer
 ✔ EventSequencer
 ve.Scheduler
 ✔ Call with no real async
 ✔ Call with delay
 ✔ Test that throws an exception
 ✔ Test that never succeeds
 ve.Range
 ✔ Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection, containsOffset, containsRange, touchesRange)
 ✔ Modification (flip, truncate, expand, translate)
 ✔ Factory methods & serialization (newCoveringRange, newFromJSON, toJSON)
 ve.Document
 ✔ getDocumentNode
 ve.Node
 ✔ getType
 ✔ getParent
 ✔ getRoot
 ve.BranchNode
 ✔ getChildren
 ✔ indexOf
 ✔ setDocument
 ve.sanitize
 ✔ ve.sanitizeHtml
 ✔ ve.sanitizeHtmlToDocument
 ✔ ve.setAttributeSafe
 ve.dm.Annotation
 ✔ getHashObject
 ve.dm.AnnotationSet
 ✔ Basic usage
 ✔ Comparable
 ve.dm.LinkAnnotation
 ✔ getFragment
 ve.dm.NodeFactory
 ✔ getChildNodeTypes
 ✔ getParentNodeTypes
 ✔ canNodeHaveChildren
 ✔ canNodeTakeAnnotation
 ✔ canNodeHaveChildrenNotContent
 ✔ initialization
 ve.dm.Node
 ✔ canHaveChildren
 ✔ canHaveChildrenNotContent
 ✔ getLength
 ✔ getOuterLength
 ✔ setLength
 ✔ adjustLength
 ✔ getAttribute
 ✔ setRoot
 ✔ attach
 ✔ detach
 ✔ canBeMergedWith
 ✔ getClonedElement
 ve.dm.Converter
 ✔ getModelFromDom
 ✔ getModelFromDom with store argument
 ✔ getDomFromModel
 ✔ getFullData
 ✔ roundTripMetadata
 ve.dm.SourceConverter
 ✔ conversion
 ve.dm.BranchNode
 ✔ canHaveChildren
 ✔ canHaveChildrenNotContent
 ✔ setRoot
 ✔ setDocument
 ✔ push
 ✔ pop
 ✔ unshift
 ✔ shift
 ✔ splice
 ✔ getAnnotationRanges
 ve.dm.LeafNode
 ✔ canHaveChildren
 ✔ canHaveChildrenNotContent
 ✔ getAnnotations
 ve.dm.TextNode
 ✔ getOuterLength
 ve.dm.MWTransclusionNode
 ✔ getWikitext [mix of numbered and named parameters]
 ✔ getWikitext [parameter with self-closing nowiki]
 ✔ getWikitext [parameter with self-closing nowiki without space]
 ✔ getWikitext [parameter with spanning-nowiki]
 ✔ getWikitext [parameter with spanning-nowiki and nested transclusion]
 ✔ getWikitext [parameter containing another template invocation]
 ✔ getWikitext [parameter containing another parameter]
 ✔ getWikitext [parameter containing unmatched close brackets and floating pipes]
 ✔ getWikitext [parameter containing piped link]
 ve.dm.Document
 ✔ constructor
 ✔ newBlankDocument
 ✔ getData
 ✔ getFullData
 ✔ cloneFromRange
 ✔ getRelativeOffset
 ✔ getRelativeRange
 ✔ getBranchNodeFromOffset
 ✔ hasSlugAtOffset
 ✔ getDataFromNode
 ✔ getOuterLength
 ✔ selectNodes
 ✔ rangeInsideOneLeafNode
 ✔ shallowCloneFromRange
 ✔ protection against double application of transactions
 ✔ getNearestCursorOffset
 ✔ Selection equality
 ✔ findText (plain text)
 ✔ findText (non-text content)
 ✔ fixupInsertion
 ✔ read-only and offset caching
 ve.dm.Document (MW)
 ✔ getRelativeRange (mwBlockImage / mwInlineImage)
 ve.dm.HashValueStore
 ✔ hash(es)
 ✔ value(s)
 ✔ slice
 ve.dm.InternalList
 ✔ getDocument
 ✔ queueItemHtml
 ✔ convertToData
 ✔ clone
 ✔ getItemInsertion
 ✔ getUniqueListKey
 ve.dm.InternalListNodeGroup
 ✔ empty
 ✔ appendNode
 ✔ appendNodeWithKnownIndex & unsetNode
 ✔ insertNodeInDocumentOrder in reverse document order
 ✔ insertNodeInDocumentOrder with known index
 ve.dm.LinearData
 ✔ basic usage
 ✔ slice(Object)/splice(Object)/batchSplice(Object)
 ✔ static methods: getType, isElementData, isOpenElementData, isCloseElementData
 ✔ push
 ✔ getDataSlice
 ✔ clone
 ✔ getType/isOpenElementData/isCloseElementData
 ✔ isElementData
 ✔ getAnnotationsFromOffset
 ✔ getAnnotationsFromRange
 ✔ getInsertionAnnotationsFromRange
 ✔ getAnnotatedRangeFromOffset/getAnnotatedRangeFromRange
 ✔ trimOuterSpaceFromRange
 ✔ isContentOffset
 ✔ isStructuralOffset
 ✔ getCharacterData
 ✔ isPlainText
 ✔ getText
 ✔ getSourceText
 ✔ isContentData
 ✔ getRelativeOffset
 ✔ getRelativeContentOffset
 ✔ getNearestContentOffset
 ✔ getRelativeStructuralOffset
 ✔ getNearestStructuralOffset
 ✔ getWordRange
 ✔ sanitize
 ✔ countNonInternalElements
 ✔ hasContent
 ✔ getAnnotationHashesFromOffset
 ✔ compareElements and compareElementsUnannotated
 ✔ setAnnotationsAtOffset
 ve.dm.Transaction
 ✔ translateOffset
 ✔ translateRange
 ✔ getModifiedRange
 ✔ Metadata transactions
 ve.dm.TransactionBuilder
 ✔ newFromInsertion
 ✔ newFromRemoval
 ✔ newFromReplacement
 ✔ newFromDocumentInsertion
 ✔ newFromAttributeChanges
 ✔ newFromAnnotation
 ✔ newFromContentBranchConversion
 ✔ newFromWrap
 ✔ pushRetain
 ✔ pushReplacement
 ✔ pushReplaceElementAttribute
 ✔ isNoOp
 ✔ operations/build from operations
 ✔ newFromRemoval preserving metadata
 ve.dm.Change
 ✔ rebaseTransactions
 ✔ Change operations
 ✔ Rebase with conflicting annotations
 ✔ toJSON/deserialize/unsafeDeserialize
 ✔ Minified serialization
 ✔ Same-offset typing
 ve.dm.TreeModifier
 ✔ treeDiff
 ✔ modify
 ✔ bare content
 ✔ unbalanced insertion
 ✔ retain and merge inline node
 ✔ applyTreeOperation: ensureNotText
 ✔ setupBlockSlugs
 ✔ checkEqualData
 ✔ TreeCursor#crossIgnoredNodes
 ✔ TreeCursor#normalizeCursor
 ve.dm.TransactionProcessor
 ✔ commit
 ✔ undo clear annotation
 ve.dm.Surface
 ✔ getDocument
 ✔ getSelection
 ✔ setSelection out of range
 ✔ contextChange events
 ✔ documentUpdate/select events
 ✔ breakpoint/undo/redo
 ✔ multi-user undo
 ✔ change rollback
 ✔ range translation
 ✔ staging
 ✔ getOffsetFromSourceOffset / getSourceOffsetFromOffset / getRangeFromSourceOffsets
 ✔ autosave
 ✔ getSelectedNodeFromSelection (skipped)
 ve.dm.SurfaceFragment
 ✔ constructor
 ✔ update
 ✔ getSelectedModels
 ✔ getAnnotations
 ✔ hasAnnotations
 ✔ adjustLinearSelection
 ✔ truncateLinearSelection
 ✔ collapseToStart/End
 ✔ expandLinearSelection (annotation)
 ✔ expandLinearSelection (closest)
 ✔ expandLinearSelection (word)
 ✔ removeContent
 ✔ delete
 ✔ insertContent/insertDocument
 ✔ changeAttributes
 ✔ annotateContent
 ✔ wrapNodes/unwrapNodes
 ✔ rewrapNodes
 ✔ wrapAllNodes
 ✔ rewrapAllNodes
 ✔ isolateAndUnwrap
 ve.dm.SurfaceFragment (MW)
 ✔ isolateAndUnwrap (MWheading)
 ✔ insertContent (MWheading)
 ve.dm.SourceSurfaceFragment
 ✔ insertContent/insertDocument
 ve.dm.ModelRegistry
 ✔ register/unregister/matchElement
 ✔ isAnnotation
 ve.dm.MetaList
 ✔ constructor/getItems/getItemsInGroup/indexOf
 ✔ onNodeAttached/onNodeDetached
 ve.dm.Scalable
 ✔ construction/clone/getters/setters/toggleDefault/clearers
 ✔ getBoundedDimensions/getCurrentScale/isCurrentDimensionsValid/isTooSmall/isTooLarge
 ✔ isDefault/toggleDefault
 ✔ isDimensionsObjectValid
 ✔ getDimensionsFromValue
 ve.dm.LinearSelection
 ✔ Construction and getters (getRange(s))
 ✔ Basic methods (collapse*, isCollased, equals, isNull)
 ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
 ve.dm.NullSelection
 ✔ Construction and getters (getDocument, getRanges)
 ✔ Basic methods (collapse*, isCollased, equals, isNull)
 ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
 ve.dm.TableSelection
 ✔ Construction and getters (getDocument, getRanges, getOuterRanges, getTableNode)
 ✔ Basic methods (expand, collapse*, getRange(s), isCollased, isSingleCell, equals, isNull, isFullRow/Col, getRow/ColCount)
 ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
WARN: undefined, '
', '<head><base href="http://example.com/wiki/"></head><body><p><a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:WikiLink" href="./Test" title="Test" data-mw="{&quot;attribs&quot;:[[{&quot;txt&quot;:&quot;href&quot;},{&quot;html&quot;:&quot;<span about=\&quot;#mwt1\&quot; typeof=\&quot;mw:Transclusion\&quot; data-parsoid='{\&quot;pi\&quot;:[[{\&quot;k\&quot;:\&quot;1\&quot;}]],\&quot;dsr\&quot;:[2,14,null,null]}' data-mw='{\&quot;parts\&quot;:[{\&quot;template\&quot;:{\&quot;target\&quot;:{\&quot;wt\&quot;:\&quot;1x\&quot;,\&quot;href\&quot;:\&quot;./Template:1x\&quot;},\&quot;params\&quot;:{\&quot;1\&quot;:{\&quot;wt\&quot;:\&quot;test\&quot;}},\&quot;i\&quot;:0}}]}'>test</span>&quot;}]]}">x</a></p></body>', '
', '<xml><head><base href="http://example.com/wiki/"></base></head><body><p><a typeof="mw:ExpandedAttrs" about="#mwt2" rel="mw:WikiLink" href="./Test" title="Test" data-mw="{attribs:[[{txt:href},{html:<span about=\#mwt1\ typeof=\mw:Transclusion\ data-parsoid='{\pi\:[[{\k\:\1\}]],\dsr\:[2,14,null,null]}' data-mw='{\parts\:[{\template\:{\target\:{\wt\:\1x\,\href\:\./Template:1x\},\params\:{\1\:{\wt\:\test\}},\i\:0}}]}'>test</span>}]]}">x</a></p></body></xml>'
WARN: undefined, '
', '<head><base href="http://example.com/wiki/"></head><body><p><a typeof="mw:ExpandedAttrs mw:Annotation/tvar" about="#mwt2" rel="mw:WikiLink" href="./Test" title="Test" data-mw="{&quot;attribs&quot;:[[{&quot;txt&quot;:&quot;href&quot;},{&quot;html&quot;:&quot;<meta typeof=\&quot;mw:Annotation/tvar\&quot; data-parsoid='{\&quot;dsr\&quot;:[187,200,null,null]}' data-mw='{\&quot;attrs\&quot;:{\&quot;name\&quot;:\&quot;a\&quot;},\&quot;rangeId\&quot;:\&quot;mwa0\&quot;,\&quot;extendedRange\&quot;:false,\&quot;wtOffsets\&quot;:[187,200]}'/>test<meta typeof=\&quot;mw:Annotation/tvar/End\&quot; data-parsoid='{\&quot;dsr\&quot;:[203,210,null,null]}' data-mw='{\&quot;wtOffsets\&quot;:[203,210]}'/>&quot;}]]}">x</a></p></body>', '
', '<xml><head><base href="http://example.com/wiki/"></base></head><body><p><a typeof="mw:ExpandedAttrs mw:Annotation/tvar" about="#mwt2" rel="mw:WikiLink" href="./Test" title="Test" data-mw="{attribs:[[{txt:href},{html:<meta typeof=\mw:Annotation/tvar\ data-parsoid='{\dsr\:[187,200,null,null]}' data-mw='{\attrs\:{\name\:\a\},\rangeId\:\mwa0\,\extendedRange\:false,\wtOffsets\:[187,200]}'/>test<meta typeof=\mw:Annotation/tvar/End\ data-parsoid='{\dsr\:[203,210,null,null]}' data-mw='{\wtOffsets\:[203,210]}'/>}]]}">x</a></p></body></xml>'
 ve.dm.Converter (MW)
 ✔ getModelFromDom
WARN: undefined, '
', '<body><b>a</b><b data-parsoid="1">bx</b><b data-parsoid="2">c</b> <b>dd</b</body>', '
', '<xml><body><b>a</b><b data-parsoid="1">bx</b><b data-parsoid="2">c</b> <b>dd</b</body></xml>'
WARN: undefined, '
', '<body><b>a</b><b data-parsoid="1">bx</b><b data-parsoid="2">c</b> <b>dd</b</body>', '
', '<xml><body><b>a</b><b data-parsoid="1">bx</b><b data-parsoid="2">c</b> <b>dd</b</body></xml>'
WARN: undefined, '
', '<body><span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"Inline","href":"./Template:Inline"},"params":{"1":{"wt":"5,678"}},"i":0}}]}' data-ve-no-generated-contents="true">&nbsp;</span></span></body>', '
', '<xml><body><span typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"Inline","href":"./Template:Inline"},"params":{"1":{"wt":"5,678"}},"i":0}}]}' data-ve-no-generated-contents="true"></span></span></body></xml>'
 ✔ getDomFromModel
 ve.dm.MWInternalLinkAnnotation
 ✔ toDataElement
 ✔ getFragment [No fragment returns null]
 ✔ getFragment [Invalid title returns null]
 ✔ getFragment [Blank fragment returns empty string]
 ✔ getFragment [Extant fragment returns same string]
 ✔ getFragment [Hash-bang works returns full string]
 ✔ getFragment [Double-hash returns everything after the first hash]
 ✔ getFragment [Multi-fragment returns everything after the first hash]
 ve.dm.MWImageModel
 ✔ Create and manipulate image nodes
 ve.dm.MWTemplateModel
 ✔ getTitle: undefined
 ✔ getTitle: 
 ✔ getTitle: no_prefix
 ✔ getTitle: /unexpected_prefix
 ✔ getTitle: ./Template:%C3%9Cnicode%5Fexample/subpage
 ✔ getTitle: ./Template:Possibly_invalid%5B%5D
 ✔ hasParameter
 ✔ getOriginalParameterName
 ✔ serialize input parameters
 ✔ serialize changed input parameters
 ✔ serialize after parameter was removed
 ✔ serialize without empty parameter not present in original parameter set
 ✔ serialize with explicit parameter order
 ✔ serialize with no parameter order
 ✔ serialize with aliases
 ✔ serialize with unknown params
 ✔ getOrderedParameterNames: no spec retrieved
 ✔ getOrderedParameterNames: empty spec
 ✔ getOrderedParameterNames: spec with explicit paramOrder and all known params
 ✔ getOrderedParameterNames: spec with explicit paramOrder and some unknown params
 ✔ getOrderedParameterNames: spec with explicit paramOrder but all unknown params
 ✔ getOrderedParameterNames: spec with no paramOrder, all known params
 ✔ getOrderedParameterNames: spec with no paramOrder and some unknown params
 ✔ getAllParametersOrdered: no spec retrieved
 ✔ getAllParametersOrdered: spec with explicit paramOrder and all known params
 ✔ getAllParametersOrdered: spec with explicit paramOrder and some unknown params
 ✔ getAllParametersOrdered: spec with explicit paramOrder but all unknown params
 ✔ getAllParametersOrdered: spec with no paramOrder, all known params
 ✔ getAllParametersOrdered: spec with no paramOrder and some unknown params
 ✔ getAllParametersOrdered: spec with explicit paramOrder and aliases
 ✔ same documented parameter used with different aliases
 ✔ getTemplateDataQueryTitle: prefers .wt when it is a valid title
 ✔ getTemplateDataQueryTitle: falls back to unmodified getTitle
 ✔ getTemplateDataQueryTitle: strips subst:
 ✔ getTemplateDataQueryTitle: strips safesubst:
 ✔ getTemplateDataQueryTitle: ignores capitalization and whitespace
 ✔ getTemplateDataQueryTitle: leaves bad whitespace untouched
 ✔ getTemplateDataQueryTitle: leaves other prefixes untouched
 ✔ containsValuableData: no parameters
 ✔ containsValuableData: multiple parameters
 ✔ containsValuableData: undefined
 ✔ containsValuableData: null
 ✔ containsValuableData: empty string
 ✔ containsValuableData: space
 ✔ containsValuableData: 0
 ✔ containsValuableData: newline
 ve.dm.MWTemplateSpecModel
 ✔ Basic behavior on empty template
 ✔ Basic behavior on non-empty template
 ✔ Basic behavior with later fillFromTemplate()
 ✔ getLabel: parses .wt if possible
 ✔ getLabel: resolves subst:
 ✔ getLabel: strips template namespace
 ✔ getLabel: does not strip other namespaces
 ✔ getLabel: title in main namespace must be prefixed
 ✔ getLabel: falls back to unmodified href if invalid
 ✔ Invalid TemplateData, e.g. empty or without params
 ✔ Invalid TemplateData, e.g. empty or without params 
 ✔ Invalid TemplateData, e.g. empty or without params 
 ✔ Invalid TemplateData, e.g. empty or without params 
 ✔ Basic behavior with minimal setTemplateData()
 ✔ Complex setTemplateData() with alias
 ✔ Template uses aliases
 ✔ Alias conflicts with another parameter
 ✔ fillFromTemplate() must skip aliases
 ✔ isDocumented(): documented
 ✔ isDocumented(): documented but no params
 ✔ isDocumented(): undocumented
 ✔ isDocumented(): auto-detected params
 ✔ isDocumented(): undefined
 ✔ isDocumented(): null
 ✔ isDocumented(): empty array
 ✔ isDocumented(): unexpected false
 ✔ isDocumented(): unsupported formatversion=1
 ✔ getCanonicalParameterOrder sorting undocumented parameters alphabetically
 ✔ getDocumentedParameterOrder() should not return a reference
 ✔ Parameter deprecation with empty string
 ve.dm.MWTransclusionContentModel
 ✔ containsValuableData: undefined
 ✔ containsValuableData: null
 ✔ containsValuableData: 
 ✔ containsValuableData: 
 ✔ containsValuableData: 0
 ✔ containsValuableData: 
foo
 ve.dm.MWTransclusionModel
 ✔ nextUniquePartId
 ✔ fetch template part data
 ✔ fetch part data for parameterized template with no TemplateData
 ✔ fetch part data for template with no TemplateData and no params
 ve.ce
 ✔ getDomHash/getDomText (with ve.dm.Converter)
 ✔ getDomHash/getDomText (without ve.dm.Converter)
 ✔ getOffset
 ✔ isShortcutKey
 ✔ nextCursorOffset
 ✔ resolveTestOffset
 ✔ fakeImes
 ✔ isAfterAnnotationBoundary
 ve.ce.Document
 ✔ Converter tests
 ✔ getNodeAndOffset
 ✔ attachedRoot
 ve.ce.Document (MW)
 ✔ Converter tests
 ve.ce.ClipboardHandler
 ✔ getClipboardHash
 ✔ onCopy
08 10 2025 11:37:21.136:DEBUG [middleware:source-files]: Requesting /null
08 10 2025 11:37:21.137:DEBUG [middleware:source-files]: Fetching /null
08 10 2025 11:37:21.137:DEBUG [proxy]: proxying request - /null to 127.0.0.1:9413
 ✔ beforePaste/afterPaste
 ve.ce.ClipboardHandler (MW)
 ✔ beforePaste/afterPaste
 ve.ce.DragDropHandler
 ✔ onDocumentDragStart/onDocumentDrop
 ve.ce.Surface
 ✔ handleObservedChanges (content changes)
 ✔ handleDataTransfer/handleDataTransferItems
 ✔ getSelectionState
 ✔ findBlockSlug
 ✔ selectFirstSelectableContentOffset/selectLastSelectableContentOffset
 ✔ getViewportRange
 ✔ afterMutations
 ve.ce.RangeState
 ✔ Basic tests
 ve.ce.TextState
 ✔ getChangeTransaction
 ✔ getChunks
 ve.ce.NodeFactory
 ✔ splitNodeOnEnter/getDescription
 ✔ initialization
 ve.ce.AnnotationFactory
 ✔ canAnnotationBeActive/getDescription
 ✔ initialization
 ve.ce.Node
 ✔ getModel
 ✔ getParent
 ✔ attach
 ✔ detach
 ve.ce.BranchNode
 ✔ splitOnEnter
 ✔ canHaveChildren
 ✔ canHaveChildrenNotContent
 ✔ updateTagName
 ✔ getDomPosition
 ✔ onSplice
 ve.ce.ContentBranchNode
 ✔ getRenderedContents
 ve.ce.ContentBranchNode (MW)
 ✔ getRenderedContents [Annotation spanning text and inline nodes]
 ve.ce.LeafNode
 ✔ splitOnEnter
 ✔ canHaveChildren
 ✔ canHaveChildrenNotContent
 ve.ce.Selection
 ✔ Rects
 ✔ getDirectionality
 ✔ equals
 ve.ce.LinearArrowKeyDownHandler
 ✔ special key down: linear arrow keys
 ve.ce.LinearDeleteKeyDownHandler
 ✔ special key down: linear backspace/delete
 ve.ce.LinearEnterKeyDownHandler
 ✔ special key down: linear enter
 ve.ce.LinearEscapeKeyDownHandler
 ✔ special key down: linear escape
 ve.ce.TableArrowKeyDownHandler
 ✔ special key down: table arrow keys (complex movements)
 ✔ special key down: table arrow keys (simple movements)
 ve.ce.TableDeleteKeyDownHandler
 ✔ special key down: table backspace/delete
 ve.ce.TableEnterKeyDownHandler
 ✔ special key down: table enter
 ve.ce.TableF2KeyDownHandler
 ✔ special key down: table f2
 ve.ce.ResizableNode
 ✔ updateSizeLabel
 ✔ resize events
 ✔ notResizable
 ve.ce.TextNode
 ✔ getAnnotatedHtml
 ve.ce.TableNode
 ✔ getNearestCellNode
 ✔ getFirstSectionNode
 ✔ onTableMouseDown/onTableMouseMove/onTableMouseUp/onTableDblClick
 ✔ onTableMouseDown
 ve.init.Target
 ✔ createModelFromDom/parseDocument (source mode)
 ve.init.ConflictableStorage
 ✔ Basic methods
 ✔ Conflict handling
 ve.ui.FindAndReplaceDialog
 ✔ find fragments
 ✔ replace all
 ve.ui.Trigger
 ✔ constructor
 ve.ui.Sequence
 ✔ findAndExecuteSequences
 ve.ui.DiffElement
 ✔ Diffing
 ✔ compareAttributes/describeChanges
 ve.ui.PreviewElement
 ✔ Basic tests
 ve.ui.DiffElement (MW)
 ✔ Diffing [0]
 ✔ Diffing [1]
 ve.ui.AnnotationAction
 ✔ toggle
 ✔ set and clear
 ✔ clearAll
 ve.ui.BlockquoteAction
 ✔ wrap/unwrap/toggle
 ve.ui.ContentAction
 ✔ insert/remove/select/selectAll
 ve.ui.FormatAction
 ✔ convert
 ve.ui.FormatAction (MW)
 ✔ convert (MW-specific types) [0]
 ✔ convert (MW-specific types) [1]
 ✔ convert (MW-specific types) [2]
 ✔ convert (MW-specific types) [3]
 ve.ui.IndentationAction
 ✔ increase/decrease
 ve.ui.LinkAction
 ✔ autolink
 ve.ui.MWLinkAction
 ✔ MW autolink
 ve.ui.ListAction
 ✔ (un)wrap
 ✔ toggle
 ve.ui.TableAction
 ✔ create / insert / mergeCells / delete / changeCellStyle / moveRelative
 ve.ui.WindowAction
 ✔ Basic open/close
 ve.ui.DataTransferHandlerFactory
 ✔ getHandlerNameForItem
 ve.ui.DSVFileTransferHandler
 ✔ getInsertableData
 ve.ui.UrlStringTransferHandler
 ✔ paste
 ve.ui.MWWikitextStringTransferHandler
 ✔ convert [0]
 ✔ convert [1]
 ✔ convert [2]
 ✔ convert [3]
 ✔ convert [4]
 ✔ convert [5]
 ✔ convert [6]
 ✔ convert [7]
 ve.ui.UrlStringTransferHandler (MW)
 ✔ paste [0]
 ve.ui.MWTransclusionDialog
 ✔ onReplacePart (skipped)
WARN: 'wikipage.content hook should not be fired on unattached content'
 ve.init.mw.DesktopArticleTarget
 ✔ init
WARN: 'PopupWidget#toggle: Before calling this method, the popup must be attached to the DOM.'
 ve.ui.FragmentInspector
 ✔ Different selections and inputs
 ve.ui.FragmentInspector (MW)
 ✔ Wikitext link inspector
 ve.ui.MWTwoPaneTransclusionDialogLayout
 ✔ can add and remove multiple pages
 ✔ can add a page at a specific index
 ve.ui.MWAddParameterPage
 ✔ Input event handlers
 ✔ getValidationErrors: 
 ✔ getValidationErrors: a
 ✔ getValidationErrors: a=b
 ✔ getValidationErrors: x|a=b
 ✔ getValidationErrors: used
 ✔ getValidationErrors: unused
 ✔ getValidationErrors: usedAlias
 ✔ getValidationErrors: unusedAlias
 ✔ getValidationErrors: usedAliasNoLabel
 ✔ getValidationErrors: usedDeprecated
 ✔ getValidationErrors: unusedDeprecated
 ✔ createValueInput: undefined, 
 ✔ createValueInput: content, 
 ✔ createValueInput: line, 
 ✔ createValueInput: line, 

 ✔ createValueInput: number, 
 ✔ createValueInput: boolean, 
 ✔ createValueInput: boolean, 0
 ✔ createValueInput: boolean, 1
 ✔ createValueInput: boolean, 2
 ✔ createValueInput: string, 
 ✔ createValueInput: date, 
 ✔ createValueInput: unbalanced-wikitext, 
 ✔ createValueInput: unknown, 
 ✔ createValueInput: url, 
 ✔ createValueInput: url, http://example.com
 ✔ createValueInput: url, BadUrl
 ✔ createValueInput: wiki-page-name, 
 ✔ createValueInput: wiki-page-name, GoodTitle
 ✔ createValueInput: wiki-page-name, [[BadTitle]]
 ✔ createValueInput: wiki-user-name, 
 ✔ createValueInput: wiki-user-name, GoodTitle
 ✔ createValueInput: wiki-user-name, [[BadTitle]]
 ✔ createValueInput: wiki-file-name, 
 ✔ createValueInput: wiki-file-name, GoodTitle
 ✔ createValueInput: wiki-file-name, [[BadTitle]]
 ✔ createValueInput: wiki-template-name, 
 ✔ createValueInput: wiki-template-name, GoodTitle
 ✔ createValueInput: wiki-template-name, [[BadTitle]]
 ✔ suggestedvalues: undefined
 ✔ suggestedvalues: content
 ✔ suggestedvalues: line
 ✔ suggestedvalues: number
 ✔ suggestedvalues: boolean
 ✔ suggestedvalues: string
 ✔ suggestedvalues: date
 ✔ suggestedvalues: unbalanced-wikitext
 ✔ suggestedvalues: unknown
 ✔ suggestedvalues: url
 ✔ suggestedvalues: wiki-page-name
 ✔ suggestedvalues: wiki-user-name
 ✔ suggestedvalues: wiki-file-name
 ✔ suggestedvalues: wiki-template-name
 ✔ containsSomeValue: empty
 ✔ containsSomeValue: not empty
 ✔ containsSomeValue: empty is meaningful because it is different from the default
 ✔ containsSomeValue: value is different from the default
 ✔ containsSomeValue: the default is probably not meaningful, but we can not be sure
 ✔ containsSomeValue: whitespace is probably not meaningful, but we do not want to make this decision here
 ✔ containsSomeValue: same for the default
 ve.ui.MWParameterCheckboxInputWidget
 ✔ Constructor passes config to parent
 ✔ setValue( "1" )
 ✔ setValue( "0" )
 ✔ setValue( empty string )
 ✔ setValue( unexpected string )
 ✔ setValue( unexpected type )
 ✔ setSelected( true )
 ✔ setSelected( false )
 ve.ui.MWTemplateTitleInputWidget
 ✔ default prefixsearch
 ✔ CirrusSearch: all API parameters
 ✔ CirrusSearch: showRedirectTargets disabled
 ✔ CirrusSearch: prefixsearch behavior [0]
 ✔ CirrusSearch: prefixsearch behavior [1]
 ✔ CirrusSearch: prefixsearch behavior [2]
 ✔ CirrusSearch: prefixsearch behavior [3]
 ✔ CirrusSearch: prefixsearch behavior [4]
 ✔ CirrusSearch: prefixsearch behavior [5]
 ✔ CirrusSearch: prefixsearch behavior [6]
 ✔ CirrusSearch: prefixsearch behavior [7]
 ✔ CirrusSearch: prefixsearch behavior [8]
 ✔ CirrusSearch: prefixsearch behavior [9]
 ✔ CirrusSearch: prefixsearch behavior [10]
 ✔ CirrusSearch: prefixsearch behavior [11]
 ✔ CirrusSearch: prefixsearch behavior [12]
 ✔ CirrusSearch: prefixsearch behavior [13]
 ✔ CirrusSearch: prefixsearch behavior [14]
 ✔ CirrusSearch: prefixsearch behavior [15]
 ✔ CirrusSearch: prefixsearch behavior [16]
 ✔ CirrusSearch: prefixsearch behavior [17]
 ✔ CirrusSearch: prefixsearch behavior [18]
 ✔ CirrusSearch: prefixsearch behavior [19]
 ✔ CirrusSearch with prefixsearch fallback
 ✔ CirrusSearch: redirect is forwarded to the TitleOptionWidget
 ✔ CirrusSearch: redirect appears in the description
 ve.ui.MWTransclusionOutlineButtonWidget
 ✔ Constructor
 ✔ onKeyDown
 ve.ui.MWTransclusionOutlineParameterSelectWidget
 ✔ static item constructor
 ✔ interaction with items
 ✔ interaction with required parameter
 ve.ui.MWTransclusionOutlineParameterWidget
 ✔ interprets param with no attributes
 ✔ interprets required param
 ✔ interprets selected param
 ve.ui.MWTransclusionOutlinePartWidget
 ✔ Constructor
 ve.ui.MWTransclusionOutlinePlaceholderWidget
 ✔ Constructor
 ve.ui.MWTransclusionOutlineTemplateWidget
 ✔ Constructor
 ✔ findCanonicalPosition()
 ✔ filterParameters() when it cannot find anything
 ✔ filterParameters() considers everything from the spec
 ve.ui.MWTransclusionOutlineWidget
 ✔ Constructor
 ✔ Supports all ve.dm.MWTransclusionPartModel subclasses
 ✔ Basic functionality
 ✔ Adding and moving parts to specific positions
 ✔ setSelectionByPageName: null
 ✔ setSelectionByPageName: 
 ✔ setSelectionByPageName: part_0
 ✔ setSelectionByPageName: part_0/
 ✔ setSelectionByPageName: part_0/foo
 ✔ setSelectionByPageName: part_1/foo
 ✔ setSelectionByPageName: part_0/foo/bar
 ve.dm.Converter (Cite)
 ✔ getModelFromDom
08 10 2025 11:37:40.592:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.593:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.595:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.600:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.600:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.601:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.622:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.623:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.623:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.624:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.624:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.625:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.636:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.637:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.637:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.640:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.640:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.641:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.669:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.669:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.670:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
08 10 2025 11:37:40.672:DEBUG [middleware:source-files]: Requesting /api.php
08 10 2025 11:37:40.673:DEBUG [middleware:source-files]: Fetching /api.php
08 10 2025 11:37:40.673:DEBUG [proxy]: proxying request - /api.php to 127.0.0.1:9413
 ✔ getDomFromModel
 ✔ StoreTestCases
 ve.dm.MWDocumentReferences (Cite)
 ✔ first simple test
 ✔ extends test
 ve.dm.MWGroupReferences (Cite)
 ✔ isEmpty
 ✔ getAllRefsInReflistOrder
 ✔ getTopLevelKeysInReflistOrder
 ✔ getRefNode
 ✔ getInternalModelNode
 ✔ getRefUsages
 ✔ getTotalUsageCount
 ✔ sub-references
 ve.dm.InternalList (Cite)
 ✔ addNode/removeNode
 ✔ getItemInsertion
 ✔ getUniqueListKey
 ve.dm.MWReferenceModel (Cite)
 ✔ find an unknown ref
 ✔ find a known ref
 ✔ insert new ref
 ✔ insert ref reuse
 ve.dm.MWReferenceNode (Cite)
 ✔ makeListKey
 ✔ isBodyContentSet
 ✔ shouldGetBodyContent on a normal main reference
 ✔ generateName on a normal main reference
 ✔ generateName on a sub-reference
 ✔ getSubRefs
 ✔ hasSubRefs
 ✔ remapInternalListIndexes
 ✔ remapInternalListKeys
 ✔ getGroup
 ✔ cloneElement
 ✔ getHashObject
 ✔ describeChange
 ✔ copySyntheticRefIntoReferencesList
 ve.dm.MWReferencesListNode (Cite)
 ✔ isEditable
 ✔ matchFunction
 ✔ describeChange
 ✔ getHashObject
 ve.dm.Transaction (Cite)
 ✔ newFromDocumentInsertion with references
 ve.ce.ClipboardHandler (Cite)
 ✔ beforePaste/afterPaste
 ve.ui.DiffElement (Cite)
 ✔ Diffing
 ve.ui.MWCitationDialogTool (Cite)
 ✔ isCompatibleWith
 ve.ui.MWReferenceContextItem (Cite)
 ✔ getReferenceNode
 ve.ui.MWReferenceEditPanel (Cite)
 ✔ setting and getting a reference
 ✔ re-used references
 ✔ sub-references
 ve.ui.MWReferenceGroupInputWidget (Cite)
 ✔ Constructor
 ✔ populateMenu
 ve.ui.MWReferenceResultWidget (Cite)
 ✔ Initialization
 ve.ui.MWReferenceSearchWidget (Cite)
 ✔ buildIndex
 ✔ buildSearchIndex when empty
 ✔ buildSearchIndex
 ✔ isIndexEmpty
 ✔ buildSearchResults
 ve.ui.MWReferencesListDialog (Cite)
 ✔ isModified
 ve.ui.MWUseExistingReferenceCommand (Cite)
 ✔ Constructor
 ✔ isExecutable
 ve.ui.MWWikitextStringTransferHandler (Cite)
 ✔ convert
 ext.cite.referencePreviews#createReferenceGateway
 ✔ Reference preview gateway returns the correct data
 ✔ Reference preview gateway accepts alternative text node class name
 ✔ Reference preview gateway accepts duplicated types
 ✔ Reference preview gateway ignores conflicting types
 ✔ Reference preview gateway returns source element id
 ✔ Reference preview gateway rejects non-existing references
 ✔ Reference preview gateway rejects all-whitespace references
 ✔ Reference preview gateway is abortable
 ext.cite.referencePreviews#isReferencePreviewsEnabled
 ✔ relevant combinations of anonymous flags
 ✔ it should display reference previews when conditions are fulfilled
 ✔ it should not be enabled when the global is disabling it
 ext.cite.referencePreviews#renderer
 ✔ createReferencePreview(model)
 ✔ createReferencePreview default title
 ✔ createReferencePreview updates fade-out effect on scroll
 ✔ createReferencePreview collapsible/sortable handling
 ext.cite.highlighting (Cite)
 ✔ highlights backlink in the reference list for the clicked reference
 ✔ hides clickable up-arrow when jumping back from multiple used references 
 ✔ uses the last clicked target for the clickable up arrow on multiple used references
08 10 2025 11:37:41.842:DEBUG [Firefox 128.0 (Linux 0.0.0)]: EXECUTING -> CONNECTED
08 10 2025 11:37:41.845:DEBUG [launcher]: CAPTURED -> BEING_KILLED
08 10 2025 11:37:41.846:DEBUG [launcher]: BEING_KILLED -> BEING_FORCE_KILLED
08 10 2025 11:37:41.847:DEBUG [Firefox 128.0 (Linux 0.0.0)]: CONNECTED -> DISCONNECTED
Finished in 41.002 secs / 40.224 secs @ 11:37:41 GMT+0000 (Coordinated Universal Time)
SUMMARY:
✔ 2091 tests completed
ℹ 20 tests skipped
08 10 2025 11:37:41.849:DEBUG [karma-server]: Run complete, exiting.
08 10 2025 11:37:41.850:DEBUG [launcher]: Disconnecting all browsers
08 10 2025 11:37:41.851:DEBUG [launcher]: BEING_FORCE_KILLED -> BEING_FORCE_KILLED
08 10 2025 11:37:41.851:DEBUG [proxy]: Destroying proxy agents
08 10 2025 11:37:41.884:DEBUG [launcher]: Process FirefoxHeadless exited with code null and signal SIGTERM
08 10 2025 11:37:41.885:DEBUG [temp-dir]: Cleaning temp dir /tmp/karma-55409319
08 10 2025 11:37:42.041:DEBUG [launcher]: Finished all browsers
08 10 2025 11:37:42.042:DEBUG [launcher]: BEING_FORCE_KILLED -> FINISHED
08 10 2025 11:37:42.042:DEBUG [launcher]: FINISHED -> FINISHED
Done.
INFO:quibble.commands:<<< Finish: Run QUnit tests, in 53.170 s
INFO:quibble.commands:>>> Start: PHPUnit extensions suite (with database) parallel run (Composer)
> MediaWiki\Composer\ComposerLaunchParallel::launchTestsDatabase
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_0' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_0_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_2' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_2_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_1' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_1_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_3' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_3_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_4' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_4_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_6' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_6_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_5' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_5_database.result.cache'' ...
Running command ''composer' 'run' '--timeout=0' 'phpunit:entrypoint' '--' '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_7' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_7_database.result.cache'' ...
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_1' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_1_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 917 ( 6%)
............................................................... 126 / 917 ( 13%)
............................................................... 189 / 917 ( 20%)
............................................................... 252 / 917 ( 27%)
............................................................... 315 / 917 ( 34%)
............................................................... 378 / 917 ( 41%)
............................................................... 441 / 917 ( 48%)
............................................................... 504 / 917 ( 54%)
............................................................... 567 / 917 ( 61%)
............................................................... 630 / 917 ( 68%)
............................................................... 693 / 917 ( 75%)
............................................................... 756 / 917 ( 82%)
............................................................... 819 / 917 ( 89%)
............................................................... 882 / 917 ( 96%)
................................... 917 / 917 (100%)
Time: 00:41.175, Memory: 267.00 MB
OK (917 tests, 3055 assertions)
You should really speed up these slow tests (>100ms)...
1. 697ms to run MediaWiki\\CheckUser\\Tests\\Integration\\IPContributions\\SpecialIPContributionsTest::testExecuteTarget with data set "Empty target"
2. 683ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Services\\CheckUserTemporaryAccountsByIPLookupTest::testExecutegetTempAccountsFromIPAddress with data set "Base case - Single IP, single account"
3. 671ms to run MediaWiki\\CheckUser\\Tests\\Integration\\GlobalContributions\\SpecialGlobalContributionsTest::testExecuteTarget with data set "Empty target"
4. 565ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Maintenance\\PopulateCheckUserTableTest::testPopulation with data set "recentchanges row count 4"
5. 511ms to run MediaWiki\\CheckUser\\Tests\\Integration\\CheckUser\\Pagers\\CheckUserGetIPsPagerTest::testFormatRow with data set "Test ipEditCount"
6. 510ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Investigate\\SpecialInvestigateTest::testViewSpecialPageWhenMissingRequiredRight
7. 497ms to run MediaWiki\\CheckUser\\Tests\\Integration\\GlobalContributions\\CheckUserGlobalContributionsLookupTest::testGetGlobalContributionCount with data set "IP used by 2 temp accounts"
8. 445ms to run CirrusSearch\\Tests\\Api\\QueryBuildDocumentTest::test_content_extraction
9. 417ms to run MediaWiki\\CheckUser\\Tests\\Integration\\HookHandler\\RecentChangeSaveHandlerTest::testPruneIPDataData with data set "No entries to prune"
10. 414ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Services\\CheckUserUserInfoCardServiceTest::testExecute
...and there are 105 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_4' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_4_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 438 ( 14%)
............................................................... 126 / 438 ( 28%)
..............................................................S 189 / 438 ( 43%)
............................................................... 252 / 438 ( 57%)
............................................................... 315 / 438 ( 71%)
............................................................... 378 / 438 ( 86%)
............................................................ 438 / 438 (100%)
Time: 00:44.265, Memory: 229.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 438, Assertions: 1479, Skipped: 1.
You should really speed up these slow tests (>100ms)...
1. 1280ms to run GrowthExperiments\\Tests\\Integration\\LinkRecommendationStoreTest::testGrowthexperimentsLinkRecommendationsCrud
2. 713ms to run GrowthExperiments\\Tests\\Integration\\ComputedUserImpactLookupTest::testGetUserImpact
3. 634ms to run GrowthExperiments\\Tests\\Integration\\UserDatabaseHelperTest::testHasMainspaceEditsWithEdits with data set "NS_MAIN edits, over limit"
4. 627ms to run GrowthExperiments\\Tests\\Integration\\ComputedUserImpactLookupTest::testGetUserImpactExpensive
5. 575ms to run GlobalPreferences\\Tests\\Integration\\ApiOptionsGlobalIntegrationTest::testApiOptions
6. 571ms to run GrowthExperiments\\Tests\\Integration\\ApiQueryGrowthTasksTest::testExecute
7. 522ms to run GrowthExperiments\\Tests\\Integration\\NewcomerTasksPageUpdatedSubscriberTest::testNewcomerTaskRevertIsTracked with data set "Template based task tag"
8. 515ms to run GrowthExperiments\\Tests\\Integration\\ComputedUserImpactLookupTest::testGetUserImpact_offset
9. 499ms to run GrowthExperiments\\Tests\\Integration\\NewcomerTasksPageUpdatedSubscriberTest::testNewcomerTaskRevertIsTracked with data set "Add Section Image tag"
10. 470ms to run GrowthExperiments\\Tests\\Integration\\NewcomerTasksPageUpdatedSubscriberTest::testNewcomerTaskRevertIsTracked with data set "Add Image tag"
...and there are 145 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_2' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_2_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 641 ( 9%)
............................................................... 126 / 641 ( 19%)
........................S...................................... 189 / 641 ( 29%)
S................................SS............................ 252 / 641 ( 39%)
............................................................... 315 / 641 ( 49%)
............................................................... 378 / 641 ( 58%)
............................................................... 441 / 641 ( 68%)
...........S.S.......................S......................... 504 / 641 ( 78%)
............................................................... 567 / 641 ( 88%)
............................................................... 630 / 641 ( 98%)
........... 641 / 641 (100%)
Time: 00:44.599, Memory: 335.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 641, Assertions: 2040, Skipped: 7.
You should really speed up these slow tests (>100ms)...
1. 985ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ApiDiscussionToolsPageInfoTest::testGetThreadItemsHtml with data set #0
2. 812ms to run MediaWiki\\Extension\\Notifications\\Test\\ThankYouEditTest::testTenthEdit with data set #0
3. 738ms to run MediaWiki\\Extension\\FlaggedRevs\\Tests\\Integration\\ApiQueryOldreviewedpagesTest::testShouldRejectUserWhenRequestingWatchedPages with data set "IP user"
4. 697ms to run MediaWiki\\Extension\\Notifications\\Test\\DiscussionParserTest::testGenerateEventsForRevision with data set #2
5. 673ms to run MediaWiki\\Extension\\Notifications\\Test\\DiscussionParserTest::testGenerateEventsForRevision with data set #0
6. 638ms to run MediaWiki\\Extension\\Notifications\\Test\\DiscussionParserTest::testGenerateEventsForRevision with data set #3
7. 594ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ThreadItemStoreTest::testInsertThreadItems with data set #7
8. 579ms to run CirrusSearch\\BuildDocument\\DefaultPagePropertiesIntegrationTest::testCreateTimestamp
9. 561ms to run MediaWiki\\Extension\\Notifications\\Test\\DiscussionParserTest::testGenerateEventsForRevision with data set #4
10. 544ms to run MediaWiki\\Extension\\DiscussionTools\\Tests\\ApiDiscussionToolsPageInfoTest::testGetThreadItemsHtml with data set #4
...and there are 132 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_0' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_0_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 966 ( 6%)
............................................................... 126 / 966 ( 13%)
............................................................... 189 / 966 ( 19%)
............................................................... 252 / 966 ( 26%)
............................................................... 315 / 966 ( 32%)
...............................F............................... 378 / 966 ( 39%)
....EE......................................................... 441 / 966 ( 45%)
............................................................... 504 / 966 ( 52%)
............................................................... 567 / 966 ( 58%)
............................................................... 630 / 966 ( 65%)
............................................................... 693 / 966 ( 71%)
............................................................... 756 / 966 ( 78%)
............................................................... 819 / 966 ( 84%)
............................................................... 882 / 966 ( 91%)
............................................................... 945 / 966 ( 97%)
..................... 966 / 966 (100%)
Time: 00:50.928, Memory: 272.00 MB
There were 2 errors:
1) MediaWiki\Extension\AchievementBadges\Tests\Integration\Special\SpecialShareAchievementTest::testExecute
Use of wfExpandUrl was deprecated in MediaWiki 1.39. [Called from MediaWiki\Extension\AchievementBadges\Special\SpecialShareAchievement::getUrlForShare in /workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php at line 229]
/workspace/src/includes/debug/MWDebug.php:372
/workspace/src/includes/debug/MWDebug.php:343
/workspace/src/includes/debug/MWDebug.php:224
/workspace/src/includes/GlobalFunctions.php:773
/workspace/src/includes/GlobalFunctions.php:515
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:229
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:187
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:118
/workspace/src/tests/phpunit/includes/specials/SpecialPageExecutor.php:131
/workspace/src/tests/phpunit/includes/specials/SpecialPageExecutor.php:60
/workspace/src/tests/phpunit/includes/specials/SpecialPageTestBase.php:82
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/Special/SpecialShareAchievementTest.php:55
=== Logs generated by test case
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache using store LCStoreNull []
[localisation] [debug] LocalisationCache using store LCStoreNull []
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] SessionManager using store Wikimedia\ObjectCache\HashBagOStuff []
[wfDebug] [debug] MediaWiki\Parser\ParserFactory: using default preprocessor {"private":false}
[objectcache] [debug] MainObjectStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:ea7faa2ceb292532db486becae8bf5c475b5f735): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:gadgets-definition:21:4): miss, new value computed []
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"ShareAchievementTester"}
[objectcache] [debug] MicroStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] CentralAuthSessionProvider::provideSessionInfo: Not enabled, falling back to core sessions []
[session] [debug] SessionBackend "{session}" is unsaved, marking dirty in constructor {"session":"0gehm9rmfs3gh79rc5o7htb14i4r28vl"}
[session] [debug] SessionBackend "{session}" data dirty due to dirty(): {callers} {"session":"0gehm9rmfs3gh79rc5o7htb14i4r28vl","callers":"MediaWiki\\Session\\SessionManager->getSessionForRequest\/MediaWiki\\Session\\SessionManager->getInitialSession\/MediaWiki\\Session\\Session->getToken\/MediaWiki\\Session\\Session->set\/MediaWiki\\Session\\SessionBackend->dirty"}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId} {"updateId":76810}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId}, processing time: {walltime} {"updateId":76810,"walltime":0.0005099773406982422}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId} {"updateId":75957}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId}, processing time: {walltime} {"updateId":75957,"walltime":0.0004398822784423828}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\CdnCacheUpdate #{updateId} {"updateId":59915}
[squid] [info] MediaWiki\Deferred\CdnCacheUpdate::purge: http://127.0.0.1:9413/wiki/User:ShareAchievementTester http://127.0.0.1:9413/index.php?title=User:ShareAchievementTester&action=history {"private":false}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\CdnCacheUpdate #{updateId}, processing time: {walltime} {"updateId":59915,"walltime":0.00013685226440429688}
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"ShareAchievementTester"}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId} {"updateId":76538}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId}, processing time: {walltime} {"updateId":76538,"walltime":0.0009729862213134766}
[MessageCache] [debug] MessageCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[MessageCache] [debug] disabling MessageCache: config []
[MessageParser] [debug] MediaWiki\Language\MessageParser::acquireParser: Creating a new parser with index 0 []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for qqx from source []
===
2) MediaWiki\Extension\AchievementBadges\Tests\Integration\Special\SpecialShareAchievementTest::testMetaTags
Use of wfExpandUrl was deprecated in MediaWiki 1.39. [Called from MediaWiki\Extension\AchievementBadges\Special\SpecialShareAchievement::getUrlForShare in /workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php at line 229]
/workspace/src/includes/debug/MWDebug.php:372
/workspace/src/includes/debug/MWDebug.php:343
/workspace/src/includes/debug/MWDebug.php:224
/workspace/src/includes/GlobalFunctions.php:773
/workspace/src/includes/GlobalFunctions.php:515
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:229
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:187
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:118
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/Special/SpecialShareAchievementTest.php:67
=== Logs generated by test case
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache using store LCStoreNull []
[localisation] [debug] LocalisationCache using store LCStoreNull []
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] SessionManager using store Wikimedia\ObjectCache\HashBagOStuff []
[wfDebug] [debug] MediaWiki\Parser\ParserFactory: using default preprocessor {"private":false}
[objectcache] [debug] MainObjectStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:ea7faa2ceb292532db486becae8bf5c475b5f735): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:gadgets-definition:21:4): miss, new value computed []
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"ShareAchievementTester"}
[objectcache] [debug] MicroStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] CentralAuthSessionProvider::provideSessionInfo: Not enabled, falling back to core sessions []
[session] [debug] SessionBackend "{session}" is unsaved, marking dirty in constructor {"session":"sur6qgoibfrrfiaj7uqjsa5uv5tr1gfq"}
[session] [debug] SessionBackend "{session}" data dirty due to dirty(): {callers} {"session":"sur6qgoibfrrfiaj7uqjsa5uv5tr1gfq","callers":"MediaWiki\\Session\\SessionManager->getSessionForRequest\/MediaWiki\\Session\\SessionManager->getInitialSession\/MediaWiki\\Session\\Session->getToken\/MediaWiki\\Session\\Session->set\/MediaWiki\\Session\\SessionBackend->dirty"}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId} {"updateId":37634}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId}, processing time: {walltime} {"updateId":37634,"walltime":0.0004849433898925781}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId} {"updateId":39406}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId}, processing time: {walltime} {"updateId":39406,"walltime":0.0004260540008544922}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\CdnCacheUpdate #{updateId} {"updateId":76674}
[squid] [info] MediaWiki\Deferred\CdnCacheUpdate::purge: http://127.0.0.1:9413/wiki/User:ShareAchievementTester http://127.0.0.1:9413/index.php?title=User:ShareAchievementTester&action=history {"private":false}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\CdnCacheUpdate #{updateId}, processing time: {walltime} {"updateId":76674,"walltime":0.00011897087097167969}
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"ShareAchievementTester"}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId} {"updateId":41809}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId}, processing time: {walltime} {"updateId":41809,"walltime":0.0009520053863525391}
[MessageCache] [debug] MessageCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[MessageCache] [debug] disabling MessageCache: config []
[wfDebug] [debug] MediaWiki\SpecialPage\SpecialPage::getContext called and $mContext is null. Using RequestContext::getMain() {"private":false}
[MessageParser] [debug] MediaWiki\Language\MessageParser::acquireParser: Creating a new parser with index 0 []
===
--
There was 1 failure:
1) MediaWiki\Extension\AchievementBadges\Tests\Integration\AchieveTest::testAchieveEditPages
edit-page-0 should be achieved (edit count: 1): edit-page-0 not found in
Failed asserting that an array contains 'edit-page-0'.
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/AchieveTest.php:40
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/AchieveTest.php:85
=== Logs generated by test case
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache using store LCStoreNull []
[session] [debug] SessionManager using store Wikimedia\ObjectCache\HashBagOStuff []
[wfDebug] [debug] MediaWiki\Parser\ParserFactory: using default preprocessor {"private":false}
[objectcache] [debug] MainObjectStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:ea7faa2ceb292532db486becae8bf5c475b5f735): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:gadgets-definition:21:4): miss, new value computed []
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"EditPageDummy"}
[objectcache] [debug] MicroStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] CentralAuthSessionProvider::provideSessionInfo: Not enabled, falling back to core sessions []
[session] [debug] SessionBackend "{session}" is unsaved, marking dirty in constructor {"session":"knnd8qdlm4nhq0oc32hnc9qlq18gl2av"}
[session] [debug] SessionBackend "{session}" data dirty due to dirty(): {callers} {"session":"knnd8qdlm4nhq0oc32hnc9qlq18gl2av","callers":"MediaWiki\\Session\\SessionManager->getSessionForRequest\/MediaWiki\\Session\\SessionManager->getInitialSession\/MediaWiki\\Session\\Session->getToken\/MediaWiki\\Session\\Session->set\/MediaWiki\\Session\\SessionBackend->dirty"}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId} {"updateId":63550}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\Notifications\Hooks->onUserSaveSettings #{updateId}, processing time: {walltime} {"updateId":63550,"walltime":0.0004918575286865234}
[localisation] [debug] LocalisationCache using store LCStoreNull []
[objectcache] [debug] MainWANObjectCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[session] [debug] SessionManager using store Wikimedia\ObjectCache\HashBagOStuff []
[wfDebug] [debug] MediaWiki\Parser\ParserFactory: using default preprocessor {"private":false}
[ContentHandler] [info] Registered handler for wikitext: MediaWiki\Content\WikitextContentHandler []
[objectcache] [debug] MainObjectStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[ParserCache] [debug] Creating ParserCache instance for pcache []
[objectcache] [debug] MicroStash using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[CentralAuth] [debug] Loading state for global user {user} from DB {"user":"EditPageDummy"}
[CentralAuth] [debug] Loading attached wiki list for global user {user} from DB {"user":"EditPageDummy"}
[CentralAuth] [debug] Loading groups for global user {user} {"user":"EditPageDummy"}
[objectcache] [debug] fetchOrRegenerate(global:centralauth-user:93820c85bd26d1cb66fd3d507cd59482): miss, new value computed []
[CentralAuth] [debug] Loading CentralAuthUser for user {user} from cache object {"user":"EditPageDummy"}
[CommunityConfiguration] [debug] MediaWiki\Extension\CommunityConfiguration\Access\MediaWikiConfigReader skipped {provider}, because it is not a MediaWikiConfigProvider. {"provider":"BlockedDomain"}
[CommunityConfiguration] [debug] MediaWiki\Extension\CommunityConfiguration\Access\MediaWikiConfigReader skipped {provider}, because it is not a MediaWikiConfigProvider. {"provider":"GrowthSuggestedEdits"}
[CommunityConfiguration] [debug] MediaWiki\Extension\CommunityConfiguration\Access\MediaWikiConfigReader skipped {provider}, because it is not a MediaWikiConfigProvider. {"provider":"GrowthMentorList"}
[CommunityConfiguration] [debug] MediaWiki\Extension\CommunityConfiguration\Access\MediaWikiConfigReader skipped {provider}, because it is not a MediaWikiConfigProvider. {"provider":"CommunityUpdates"}
[localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:4905f0eaaf96bf17281c3bc936c75c864e25a3f5): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:MediaWiki\Extension\CommunityConfiguration\Store\WikiPageStore:1:8:GrowthExperimentsMentorship.json): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:ea7faa2ceb292532db486becae8bf5c475b5f735): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:gadgets-definition:21:4): miss, new value computed []
[UserOptionsManager] [debug] Loading options from database {"user_id":1,"user_name":"EditPageDummy"}
[MessageCache] [debug] MessageCache using store {class} {"class":"Wikimedia\\ObjectCache\\HashBagOStuff"}
[MessageCache] [debug] disabling MessageCache: config []
[objectcache] [warning] Rejected set() for {cachekey} due to pending writes. {"cachekey":"global:NameTableSqlStore:content_models:wikidb-unittest_","lag":0,"age":0.46661806106567383,"walltime":0.0002760887145996094}
[objectcache] [debug] fetchOrRegenerate(global:NameTableSqlStore:content_models:wikidb-unittest_): miss, new value computed []
[objectcache] [warning] Rejected set() for {cachekey} due to pending writes. {"cachekey":"global:NameTableSqlStore:slot_roles:wikidb-unittest_","lag":0,"age":0.46745896339416504,"walltime":0.0002830028533935547}
[objectcache] [debug] fetchOrRegenerate(global:NameTableSqlStore:slot_roles:wikidb-unittest_): miss, new value computed []
[EventStreamConfig] [debug] Selecting stream configs for target streams: {streams} {"streams":"mediawiki.revision-create"}
[EventStreamConfig] [warning] Stream 'mediawiki.revision-create' does not match any `stream` in stream config []
[EventBus] [debug] Using non-producing EventBus instance for stream mediawiki.revision-create. This stream is either undeclared, or is explicitly disabled. []
[SaveParse] [debug] MediaWiki\Revision\RenderedRevision::outputVariesOnRevisionMetaData: reusing prepared output for '{title}' {"title":"[0:Edit_Test]"}
[SaveParse] [debug] MediaWiki\Revision\RenderedRevision::outputVariesOnRevisionMetaData: reusing prepared output for '{title}' {"title":"[0:Edit_Test]"}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Storage\PageUpdater::getAtomicSectionUpdate #{updateId} {"updateId":41687}
[ParserCache] [warning] Inconsistent revision ID {"name":"pcache","reason":"page-edit","revid1":1,"revid2":null}
[ParserCache] [debug] Saved in parser cache {"name":"pcache","key":"wikidb-unittest_:pcache:1:|#|:idhash:canonical!en","cache_time":"20251008113811","rev_id":1}
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page-content-model:1): miss, new value computed []
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[EventStreamConfig] [debug] Selecting stream configs for target streams: {streams} {"streams":"mediawiki.page-create"}
[EventStreamConfig] [warning] Stream 'mediawiki.page-create' does not match any `stream` in stream config []
[EventBus] [debug] Using non-producing EventBus instance for stream mediawiki.page-create. This stream is either undeclared, or is explicitly disabled. []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Storage\PageUpdater::getAtomicSectionUpdate #{updateId}, processing time: {walltime} {"updateId":41687,"walltime":0.003990888595581055}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\RefreshSecondaryDataUpdate #{updateId} {"updateId":49595}
[BacklinkCache] [debug] MediaWiki\Cache\BacklinkCache::queryLinks: got results from DB []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:linktargetstore-id:0%3AEdit_Test): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:linktargetstore-id:0%3AEdit_Test): miss, new value computed []
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[Linter] [debug] {method}: Parsing {page} {"method":"MediaWiki\\Linter\\LintUpdate::doUpdate","page":"Edit_Test","touched":"20251008113811"}
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[ParserCache] [debug] Creating ParserCache instance for parsoid-pcache []
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[ParserCache] [debug] ParserOutput metadata cache miss {"name":"parsoid-pcache"}
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[objectcache] [debug] getWithSetCallback(wikidb-unittest_:page-content-model:1): process cache hit []
[ParserCache] [debug] ParserOutput metadata cache miss {"name":"parsoid-pcache"}
[objectcache] [debug] fetchOrRegenerate(global:SqlBlobStore-blob:wikidb-unittest_:tt%3A1): miss, new value computed []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for ban from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for crh from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for iu from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for ku from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for mni from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for shi from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for sr from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for tg from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for tly from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for uz from source []
[localisation] [debug] LocalisationCache::loadCoreData: got localisation for zgh from source []
[Linter] [debug] {method}: Recording {numErrors} errors for {page} {"method":"MediaWiki\\Linter\\Hooks::onParserLogLinterData","numErrors":0,"page":"Edit Test"}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\RefreshSecondaryDataUpdate #{updateId}, processing time: {walltime} {"updateId":49595,"walltime":0.028570890426635742}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\DerivedPageDataUpdater->doUpdates #{updateId} {"updateId":58961}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\DerivedPageDataUpdater->doUpdates #{updateId}, processing time: {walltime} {"updateId":58961,"walltime":0.00010514259338378906}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\DerivedPageDataUpdater->doUpdates #{updateId} {"updateId":59014}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\DerivedPageDataUpdater->doUpdates #{updateId}, processing time: {walltime} {"updateId":59014,"walltime":0.0007319450378417969}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Page\WikiPage::onArticleCreate #{updateId} {"updateId":57101}
[BacklinkCache] [debug] MediaWiki\Cache\BacklinkCache::queryLinks: got results from DB []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Page\WikiPage::onArticleCreate #{updateId}, processing time: {walltime} {"updateId":57101,"walltime":0.0007328987121582031}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\EventBusHooks->sendRevisionCreateEvent #{updateId} {"updateId":56575}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\EventBusHooks->sendRevisionCreateEvent #{updateId}, processing time: {walltime} {"updateId":56575,"walltime":6.699562072753906e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_WikimediaEvents\WikimediaEventsHooks->onPageSaveComplete #{updateId} {"updateId":71261}
[Timing] [error] Wikimedia\Timing\Timing::measure: The mark 'requestShutdown' does not exist []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_WikimediaEvents\WikimediaEventsHooks->onPageSaveComplete #{updateId}, processing time: {walltime} {"updateId":71261,"walltime":6.413459777832031e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_WikimediaEvents\IPReputationHooks->onPageSaveComplete #{updateId} {"updateId":64267}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_WikimediaEvents\IPReputationHooks->onPageSaveComplete #{updateId}, processing time: {walltime} {"updateId":64267,"walltime":0.0001621246337890625}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\AutoCommitUpdate_MediaWiki\Deferred\LinksUpdate\LinksUpdate::doUpdate #{updateId} {"updateId":72241}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\AutoCommitUpdate_MediaWiki\Deferred\LinksUpdate\LinksUpdate::doUpdate #{updateId}, processing time: {walltime} {"updateId":72241,"walltime":0.0005629062652587891}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\SiteStatsUpdate #{updateId} {"updateId":44692}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\SiteStatsUpdate #{updateId}, processing time: {walltime} {"updateId":44692,"walltime":0.00047898292541503906}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\EventBusHooks->sendRevisionCreateEvent #{updateId} {"updateId":60301}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\EventBusHooks->sendRevisionCreateEvent #{updateId}, processing time: {walltime} {"updateId":60301,"walltime":5.984306335449219e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":58465}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[LoginNotify] [debug] Recording user {user} as known {"function":"LoginNotify\\LoginNotify::recordKnown","user":"EditPageDummy"}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":58465,"walltime":0.006155967712402344}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\CheckUser\Services\CheckUserInsert->recordActionInCentralTablesOnDeferredUpdate #{updateId} {"updateId":30953}
[CheckUser] [error] Unable to find central ID for local user {username} when recording action in cuci_user table. {"username":"EditPageDummy","exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\CheckUser\Services\CheckUserInsert->recordActionInCentralTablesOnDeferredUpdate #{updateId}, processing time: {walltime} {"updateId":30953,"walltime":0.0017771720886230469}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":72339}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":72339,"walltime":0.0007920265197753906}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":72300}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":72300,"walltime":5.2928924560546875e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":72290}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":72290,"walltime":5.793571472167969e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":72258}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":72258,"walltime":0.0035948753356933594}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId} {"updateId":72147}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\AtomicSectionUpdate_MediaWiki\Extension\Notifications\Mapper\NotificationMapper::insert #{updateId}, processing time: {walltime} {"updateId":72147,"walltime":0.0010488033294677734}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":48377}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":48377,"walltime":6.890296936035156e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":57445}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":57445,"walltime":0.0001590251922607422}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":45322}
[EventStreamConfig] [debug] Selecting stream configs for target streams: {streams} {"streams":"mediawiki.page_change.v1"}
[EventStreamConfig] [warning] Stream 'mediawiki.page_change.v1' does not match any `stream` in stream config []
[EventBus] [debug] Using non-producing EventBus instance for stream mediawiki.page_change.v1. This stream is either undeclared, or is explicitly disabled. []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":45322,"walltime":0.0017039775848388672}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\MediaWikiEventSubscribers\PageChangeEventIngress->sendEvents #{updateId} {"updateId":29698}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Extension\EventBus\MediaWikiEventSubscribers\PageChangeEventIngress->sendEvents #{updateId}, processing time: {walltime} {"updateId":29698,"walltime":6.103515625e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":66652}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":66652,"walltime":4.696846008300781e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":64778}
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:GrowthExperiments:MentorStore:GrowthExperiments\Mentorship\Store\MentorStore:Mentee:1:Mentor:primary): miss, new value computed []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":64778,"walltime":0.0006909370422363281}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":42842}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":42842,"walltime":6.389617919921875e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":57657}
[BlockManager] [debug] Block cache miss with key BlockCacheKey{request=none,user=#64812,replica} []
[objectcache] [debug] fetchOrRegenerate(global:NameTableSqlStore:change_tag_def:wikidb-unittest_): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:page:8:d6f83cd2e1fc0c64807c54ef0e68bdf6150559bc): miss, new value computed []
[objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:MediaWiki\Extension\CommunityConfiguration\Store\WikiPageStore:1:8:GrowthExperimentsSuggestedEdits.json): miss, new value computed []
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[GlobalTitleFail] [info] MediaWiki\Context\RequestContext::getTitle called with no title set. {"exception":{}}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":57657,"walltime":0.009958028793334961}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":58968}
[BlockManager] [debug] Block cache hit with key BlockCacheKey{request=none,user=#64812,replica} []
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":58968,"walltime":0.0001881122589111328}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":41970}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":41970,"walltime":6.4849853515625e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":40671}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":40671,"walltime":3.695487976074219e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId} {"updateId":55543}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\DomainEvent\EventDispatchEngine::push #{updateId}, processing time: {walltime} {"updateId":55543,"walltime":3.814697265625e-5}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\PageUpdater->saveRevision #{updateId} {"updateId":44892}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\MWCallableUpdate_MediaWiki\Storage\PageUpdater->saveRevision #{updateId}, processing time: {walltime} {"updateId":44892,"walltime":0.00010204315185546875}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\CdnCacheUpdate #{updateId} {"updateId":45819}
[squid] [info] MediaWiki\Deferred\CdnCacheUpdate::purge: http://127.0.0.1:9413/wiki/Edit_Test http://127.0.0.1:9413/index.php?title=Edit_Test&action=history http://127.0.0.1:9413/wiki/Talk:Edit_Test http://127.0.0.1:9413/index.php?title=Talk:Edit_Test&action=history {"private":false}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\CdnCacheUpdate #{updateId}, processing time: {walltime} {"updateId":45819,"walltime":0.00010704994201660156}
[DeferredUpdates] [debug] DeferredUpdates::run: started MediaWiki\Deferred\UserEditCountUpdate #{updateId} {"updateId":72240}
[DeferredUpdates] [debug] DeferredUpdates::run: ended MediaWiki\Deferred\UserEditCountUpdate #{updateId}, processing time: {walltime} {"updateId":72240,"walltime":0.0005328655242919922}
===
ERRORS!
Tests: 966, Assertions: 4032, Errors: 2, Failures: 1.
You should really speed up these slow tests (>100ms)...
1. 1030ms to run MediaWiki\\CentralAuth\\Tests\\Phpunit\\Integration\\Maintenance\\SendConfirmAndMigrateEmailTest::testShouldSendEmail with data set "user without confirmed email"
2. 1029ms to run MediaWiki\\CentralAuth\\Tests\\Phpunit\\Integration\\Maintenance\\SendConfirmAndMigrateEmailTest::testShouldSendEmail with data set "user with confirmed email"
3. 1024ms to run MediaWiki\\Extension\\AbuseFilter\\Tests\\Integration\\Special\\SpecialAbuseLogTest::testGetEntryVisibilityForUser with data set "Visible entry and rev, cannot see hidden, cannot see suppressed"
4. 774ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Api\\Rest\\Handler\\BatchTemporaryAccountHandlerTest::testExecute with data set "The correct logger is called when auto-reveal is on"
5. 495ms to run MediaWiki\\CheckUser\\Tests\\Integration\\Api\\ApiQueryCheckUserTest::testInvalidTimeCond with data set #0
6. 485ms to run MediaWiki\\Extension\\CentralAuth\\Tests\\Phpunit\\Integration\\Special\\SpecialCentralAuthTest::testViewForLocallyBlockedGlobalAccount
7. 470ms to run MediaWiki\\Extension\\AbuseFilter\\Tests\\Integration\\AbuseFilterLogDetailsLookupTest::testGetIPForAbuseFilterLogForFatalStatus with data set "Filter ID does not exist"
8. 431ms to run AbuseFilterConsequencesTest::testFilterConsequences with data set "Basic test for "edit" action"
9. 385ms to run MediaWiki\\Extension\\AbuseFilter\\Tests\\Integration\\Api\\AbuseLogPrivateDetailsTest::testRequestForInexistentLogEntry
10. 358ms to run MediaWiki\\Extension\\AbuseFilter\\Tests\\Integration\\Api\\QueryAbuseLogTest::testConstruct
...and there are 153 more above your threshold hidden from view
Script phpunit handling the phpunit event returned with error code 2
Script @phpunit was called via phpunit:entrypoint
Worker exited with status 2
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_3' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_3_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 896 ( 7%)
...................................SS.......................... 126 / 896 ( 14%)
..........................................SSSSSSSSSSSSSSSSSSS.. 189 / 896 ( 21%)
........SSSSSSSSSS............................................. 252 / 896 ( 28%)
............................................................... 315 / 896 ( 35%)
......SSSS...................................SSSSSSSSSS........ 378 / 896 ( 42%)
............................................................... 441 / 896 ( 49%)
............................................................... 504 / 896 ( 56%)
............................................................... 567 / 896 ( 63%)
............................................................... 630 / 896 ( 70%)
............................................................... 693 / 896 ( 77%)
............................................................... 756 / 896 ( 84%)
............................................................... 819 / 896 ( 91%)
............................................................... 882 / 896 ( 98%)
.............. 896 / 896 (100%)
Time: 00:53.472, Memory: 247.00 MB
OK, but incomplete, skipped, or risky tests!
Tests: 896, Assertions: 2087, Skipped: 45.
You should really speed up these slow tests (>100ms)...
1. 899ms to run MediaWiki\\Extension\\FlaggedRevs\\Tests\\Integration\\FlaggedRevsStatsTest::testShouldComputeStatisticsWhenTempUsersDisabled
2. 503ms to run FlaggedRevsBackendTest::testParseStableRevisionPooled
3. 476ms to run MediaWiki\\Extension\\GlobalBlocking\\Test\\Integration\\Specials\\SpecialGlobalBlockListTest::testViewPageBeforeSubmission
4. 472ms to run Flow\\Tests\\Api\\ApiFlowReplyTest::testTopLevelReply
5. 466ms to run Flow\\Tests\\Api\\ApiFlowEditTopicSummaryTest::testEditTopicSummary
6. 434ms to run MediaWiki\\Extension\\FlaggedRevs\\Test\\FlaggedRevsHooksTest::testShouldNotUpdateRevertCountForAnonymousOrTemporaryUserOnRollback with data set "temporary user"
7. 423ms to run Flow\\Tests\\Collection\\PostCollectionTest::testGetPrevRevision
8. 421ms to run MediaWiki\\Extension\\FlaggedRevs\\Tests\\Integration\\RevisionReviewFormTest::testShouldRejectRevision with data set "anonymous user"
9. 420ms to run Flow\\Tests\\Collection\\PostCollectionTest::testGetCollection
10. 413ms to run MediaWiki\\Extension\\FlaggedRevs\\Tests\\Integration\\RevisionReviewFormTest::testShouldRejectRevision with data set "temporary user"
...and there are 157 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_5' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_5_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................... 63 / 711 ( 8%)
............................................................... 126 / 711 ( 17%)
............................................................... 189 / 711 ( 26%)
............................................................... 252 / 711 ( 35%)
............................................................... 315 / 711 ( 44%)
............................................................... 378 / 711 ( 53%)
............................................................... 441 / 711 ( 62%)
............................................................... 504 / 711 ( 70%)
............................................................... 567 / 711 ( 79%)
............................................................... 630 / 711 ( 88%)
............................................................... 693 / 711 ( 97%)
.................. 711 / 711 (100%)
Time: 00:53.737, Memory: 448.54 MB
OK (711 tests, 3214 assertions)
You should really speed up these slow tests (>100ms)...
1. 1361ms to run MediaWiki\\Linter\\Test\\RecordLintJobTest::testMigrateNamespace
2. 1317ms to run MediaWiki\\Linter\\Test\\RecordLintJobTest::testMigrateTagAndTemplate
3. 1289ms to run MediaWiki\\Linter\\Test\\SpecialLintErrorsTest::testLinterSearchVariations
4. 1231ms to run ApiUploadVideoTest::testUploadVideoFiles with data set #1
5. 994ms to run MediaWiki\\IPInfo\\Test\\Integration\\Rest\\Handler\\ArchivedRevisionHandlerTest::testShouldDenyAccessForAnonymousUserIfBetaFeatureDisabled
6. 808ms to run ApiUploadVideoTest::testUploadVideoFiles with data set #0
7. 694ms to run MediaWiki\\Linter\\Test\\SpecialLintErrorsTest::testContentModelChange
8. 677ms to run WikimediaEvents\\Tests\\Integration\\TemporaryAccounts\\TemporaryAccountsInstrumentationTest::testShouldNotTrackNonRevertEdits with data set "temporary user"
9. 652ms to run MediaWiki\\IPInfo\\Test\\Integration\\Rest\\Handler\\RevisionHandlerTest::testShouldDenyAccessForAnonymousUserIfBetaFeatureDisabled
10. 621ms to run ApiCoreThankIntegrationTest::testValidRequestWithSource
...and there are 134 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_7' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_7_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
..............................S.............................. 61 / 1608 ( 3%)
.SSSSSSSSSSSSSSSSS..S..SSS..SS...SSSSSS...SS........SSSSSSSSS 122 / 1608 ( 7%)
SS......S.....S.....S.......SSS..SSSSSSSS........SS.......... 183 / 1608 ( 11%)
............................................................. 244 / 1608 ( 15%)
............................................................. 305 / 1608 ( 18%)
............................................................. 366 / 1608 ( 22%)
............................................................. 427 / 1608 ( 26%)
............................................................. 488 / 1608 ( 30%)
............................................................. 549 / 1608 ( 34%)
............................................................. 610 / 1608 ( 37%)
............................................................. 671 / 1608 ( 41%)
........................................SS................... 732 / 1608 ( 45%)
............................................................. 793 / 1608 ( 49%)
............................................................. 854 / 1608 ( 53%)
............................................................. 915 / 1608 ( 56%)
............................................................. 976 / 1608 ( 60%)
................................SSSS......SSSSSS............. 1037 / 1608 ( 64%)
..................................................S.......... 1098 / 1608 ( 68%)
..............................................SS......SSSSSS. 1159 / 1608 ( 72%)
............................................................. 1220 / 1608 ( 75%)
............................................................. 1281 / 1608 ( 79%)
.........................................................SSSS 1342 / 1608 ( 83%)
SSSSSSSSSSSSSSSSSSSSS...............................SSSSS.... 1403 / 1608 ( 87%)
............................................................. 1464 / 1608 ( 91%)
..........................................................SS. 1525 / 1608 ( 94%)
............................................................. 1586 / 1608 ( 98%)
S.SS.............S..S. 1608 / 1608 (100%)
Time: 02:03.431, Memory: 559.01 MB
OK, but incomplete, skipped, or risky tests!
Tests: 1608, Assertions: 1491, Skipped: 117.
You should really speed up these slow tests (>100ms)...
1. 1129ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: References: 7b. Multiple references tags some with errors should be correctly handled"
2. 819ms to run ParserIntegrationTest::testParse with data set "subReferencingTests.txt: Subreference doesn't affect main reference numbering"
3. 776ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: List-defined references with default and custom group"
4. 760ms to run ParserIntegrationTest::testParse with data set "parserTests.txt: tabs plus tidy (T32930, T59826)"
5. 730ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: Grouped references with follow rendered in mixed order"
6. 726ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: Check Cite handing of different types of whitespace in reference names"
7. 718ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: Grouped references with automatic group references generating errors"
8. 716ms to run ParserIntegrationTest::testParse with data set "parserTests.txt: Custom attributes"
9. 666ms to run ParserIntegrationTest::testParse with data set "citeParserTests.txt: Report bad attributes in reference tags"
10. 648ms to run ParserIntegrationTest::testParse with data set "luaParserTests.txt: Scribunto: redirect to hello world"
...and there are 197 more above your threshold hidden from view
Worker exited with status 0
> phpunit '--configuration' '/workspace/src/phpunit-database.xml' '--testsuite' 'split_group_6' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone' '--group' 'Database' '--cache-result-file=/workspace/log/phpunit_group_6_database.result.cache'
Using PHP 8.1.33
Running with MediaWiki settings because there might be integration tests
PHPUnit 9.6.21 by Sebastian Bergmann and contributors.
............................................................. 61 / 5386 ( 1%)
............................................................. 122 / 5386 ( 2%)
............................................................. 183 / 5386 ( 3%)
............................................................. 244 / 5386 ( 4%)
............................................................. 305 / 5386 ( 5%)
............................................................. 366 / 5386 ( 6%)
............................................................. 427 / 5386 ( 7%)
............................................................. 488 / 5386 ( 9%)
............................................................. 549 / 5386 ( 10%)
............................................................. 610 / 5386 ( 11%)
............................................................. 671 / 5386 ( 12%)
............................................................. 732 / 5386 ( 13%)
............................................................. 793 / 5386 ( 14%)
............................................................. 854 / 5386 ( 15%)
............................................................. 915 / 5386 ( 16%)
............................................................. 976 / 5386 ( 18%)
............................................................. 1037 / 5386 ( 19%)
.......................................STotal size of styles modules is 23.2kB ( 198.8 kB uncompressed).
If you are adding code on page load, please reduce styles that you are loading on page load.
Read https://www.mediawiki.org/wiki/Performance_budgeting for more context on this number.
Total size of scripts modules is 160.8kB ( 617.2 kB uncompressed).
If you are adding code on page load, please reduce scripts that you are loading on page load.
Read https://www.mediawiki.org/wiki/Performance_budgeting for more context on this number.
..................... 1098 / 5386 ( 20%)
............................................................. 1159 / 5386 ( 21%)
............................................................. 1220 / 5386 ( 22%)
............................................................. 1281 / 5386 ( 23%)
............................................................. 1342 / 5386 ( 24%)
............................................................. 1403 / 5386 ( 26%)
............................................................. 1464 / 5386 ( 27%)
............................................................. 1525 / 5386 ( 28%)
............................................................. 1586 / 5386 ( 29%)
............................................................. 1647 / 5386 ( 30%)
............................................................. 1708 / 5386 ( 31%)
............................................................. 1769 / 5386 ( 32%)
............................................................. 1830 / 5386 ( 33%)
............................................................. 1891 / 5386 ( 35%)
............................................................. 1952 / 5386 ( 36%)
............................................................. 2013 / 5386 ( 37%)
............................................................. 2074 / 5386 ( 38%)
............................................................. 2135 / 5386 ( 39%)
............................................................. 2196 / 5386 ( 40%)
............................................................. 2257 / 5386 ( 41%)
............................................................. 2318 / 5386 ( 43%)
............................................................. 2379 / 5386 ( 44%)
............................................................. 2440 / 5386 ( 45%)
............................................................. 2501 / 5386 ( 46%)
............................................................. 2562 / 5386 ( 47%)
............................................................. 2623 / 5386 ( 48%)
............................................................. 2684 / 5386 ( 49%)
............................................................. 2745 / 5386 ( 50%)
............................................................. 2806 / 5386 ( 52%)
............................................................. 2867 / 5386 ( 53%)
............................................................. 2928 / 5386 ( 54%)
............................................................. 2989 / 5386 ( 55%)
............................................................. 3050 / 5386 ( 56%)
............................................................. 3111 / 5386 ( 57%)
............................................................. 3172 / 5386 ( 58%)
............................................................. 3233 / 5386 ( 60%)
............................................................. 3294 / 5386 ( 61%)
............................................................. 3355 / 5386 ( 62%)
............................................................. 3416 / 5386 ( 63%)
............................................................. 3477 / 5386 ( 64%)
............................................................. 3538 / 5386 ( 65%)
............................................................. 3599 / 5386 ( 66%)
............................................................. 3660 / 5386 ( 67%)
............................................................. 3721 / 5386 ( 69%)
............................................................. 3782 / 5386 ( 70%)
............................................................. 3843 / 5386 ( 71%)
............................................................. 3904 / 5386 ( 72%)
............................................................. 3965 / 5386 ( 73%)
............................................................. 4026 / 5386 ( 74%)
............................................................. 4087 / 5386 ( 75%)
............................................................. 4148 / 5386 ( 77%)
............................................................. 4209 / 5386 ( 78%)
............................................................. 4270 / 5386 ( 79%)
............................................................. 4331 / 5386 ( 80%)
............................................................. 4392 / 5386 ( 81%)
............................................................. 4453 / 5386 ( 82%)
............................................................. 4514 / 5386 ( 83%)
............................................................. 4575 / 5386 ( 84%)
............................................................. 4636 / 5386 ( 86%)
............................................................. 4697 / 5386 ( 87%)
............................................................. 4758 / 5386 ( 88%)
............................................................. 4819 / 5386 ( 89%)
............................................................. 4880 / 5386 ( 90%)
............................................................. 4941 / 5386 ( 91%)
............................................................. 5002 / 5386 ( 92%)
............................................................. 5063 / 5386 ( 94%)
............................................................. 5124 / 5386 ( 95%)
............................................................. 5185 / 5386 ( 96%)
............................................................. 5246 / 5386 ( 97%)
............................................................. 5307 / 5386 ( 98%)
............................................................. 5368 / 5386 ( 99%)
.................. 5386 / 5386 (100%)
Time: 04:27.210, Memory: 453.09 MB
OK, but incomplete, skipped, or risky tests!
Tests: 5386, Assertions: 27084, Skipped: 1.
You should really speed up these slow tests (>100ms)...
1. 15841ms to run ResourcesTest::testResourceFiles
2. 3654ms to run ResourcesTest::testRespond with data set "ext.pygments.view json"
3. 2876ms to run SpecialPageFatalTest::testSpecialPageDoesNotFatal with data set "Version"
4. 1999ms to run PerformanceBudgetTest::testTotalModulesSize
5. 1427ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui vector-2022"
6. 1419ms to run ResourcesTest::testRespond with data set "ext.growthExperiments.Homepage.styles minerva"
7. 1410ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui minerva"
8. 1346ms to run ResourcesTest::testRespond with data set "mediawiki.language.testdata json"
9. 1328ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui vector"
10. 1327ms to run ResourcesTest::testRespond with data set "mediawiki.language.testdata apioutput"
...and there are 635 more above your threshold hidden from view
Worker exited with status 0
Some split_groups failed - returning failure status
Summarizing parallel error logs for database group...
Report from `split_group0`:
There were 2 errors:
1) MediaWiki\Extension\AchievementBadges\Tests\Integration\Special\SpecialShareAchievementTest::testExecute
Use of wfExpandUrl was deprecated in MediaWiki 1.39. [Called from MediaWiki\Extension\AchievementBadges\Special\SpecialShareAchievement::getUrlForShare in /workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php at line 229]
/workspace/src/includes/debug/MWDebug.php:372
/workspace/src/includes/debug/MWDebug.php:343
/workspace/src/includes/debug/MWDebug.php:224
/workspace/src/includes/GlobalFunctions.php:773
/workspace/src/includes/GlobalFunctions.php:515
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:229
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:187
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:118
/workspace/src/tests/phpunit/includes/specials/SpecialPageExecutor.php:131
/workspace/src/tests/phpunit/includes/specials/SpecialPageExecutor.php:60
/workspace/src/tests/phpunit/includes/specials/SpecialPageTestBase.php:82
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/Special/SpecialShareAchievementTest.php:55
2) MediaWiki\Extension\AchievementBadges\Tests\Integration\Special\SpecialShareAchievementTest::testMetaTags
Use of wfExpandUrl was deprecated in MediaWiki 1.39. [Called from MediaWiki\Extension\AchievementBadges\Special\SpecialShareAchievement::getUrlForShare in /workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php at line 229]
/workspace/src/includes/debug/MWDebug.php:372
/workspace/src/includes/debug/MWDebug.php:343
/workspace/src/includes/debug/MWDebug.php:224
/workspace/src/includes/GlobalFunctions.php:773
/workspace/src/includes/GlobalFunctions.php:515
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:229
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:187
/workspace/src/extensions/AchievementBadges/includes/Special/SpecialShareAchievement.php:118
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/Special/SpecialShareAchievementTest.php:67
--
There was 1 failure:
1) MediaWiki\Extension\AchievementBadges\Tests\Integration\AchieveTest::testAchieveEditPages
edit-page-0 should be achieved (edit count: 1): edit-page-0 not found in
Failed asserting that an array contains 'edit-page-0'.
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/AchieveTest.php:40
/workspace/src/extensions/AchievementBadges/tests/phpunit/integration/AchieveTest.php:85
You should really speed up these slow tests (>100ms)...
1. 15841ms to run ResourcesTest::testResourceFiles
2. 3654ms to run ResourcesTest::testRespond with data set "ext.pygments.view json"
3. 2876ms to run SpecialPageFatalTest::testSpecialPageDoesNotFatal with data set "Version"
4. 1999ms to run PerformanceBudgetTest::testTotalModulesSize
5. 1427ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui vector-2022"
6. 1419ms to run ResourcesTest::testRespond with data set "ext.growthExperiments.Homepage.styles minerva"
7. 1410ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui minerva"
8. 1361ms to run MediaWiki\\Linter\\Test\\RecordLintJobTest::testMigrateNamespace
9. 1346ms to run ResourcesTest::testRespond with data set "mediawiki.language.testdata json"
10. 1328ms to run ResourcesTest::testRespond with data set "mediawiki.rcfilters.filters.ui vector"
INFO:quibble.commands:<<< Finish: PHPUnit extensions suite (with database) parallel run (Composer), in 270.523 s
DEBUG:quibble.cmd:No quibble.yaml in /workspace/src/extensions/AchievementBadges
INFO:backend.ChromeWebDriver:Terminating ChromeWebDriver
INFO:backend.Xvfb:Terminating Xvfb
INFO:backend.MySQL:Terminating MySQL
Traceback (most recent call last):
File "/usr/local/bin/quibble", line 7, in <module>
sys.exit(main())
File "/usr/local/lib/python3.9/dist-packages/quibble/cmd.py", line 997, in main
cmd.execute(
File "/usr/local/lib/python3.9/dist-packages/quibble/cmd.py", line 647, in execute
raise called_process_error
File "/usr/local/lib/python3.9/dist-packages/quibble/cmd.py", line 633, in execute
quibble.commands.execute_command(command)
File "/usr/local/lib/python3.9/dist-packages/quibble/commands.py", line 33, in execute_command
command.execute()
File "/usr/local/lib/python3.9/dist-packages/quibble/commands.py", line 1035, in execute
run(phpunit_command, cwd=self.mw_install_path, env=phpunit_env)
File "/usr/local/lib/python3.9/dist-packages/quibble/commands.py", line 76, in run
raise subprocess.CalledProcessError(
subprocess.CalledProcessError: Command '['composer', 'run', '--timeout=0', 'phpunit:parallel:database', '--']' returned non-zero exit status 1.
Build step 'Execute shell' marked build as failure
[PostBuildScript] - [INFO] Executing post build scripts.
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins8971196012207046504.sh
+ find log/ -name 'mw-debug-*.log' -exec gzip '{}' +
Archiving artifacts
[PostBuildScript] - [INFO] Executing post build scripts.
[PostBuildScript] - [INFO] Build does not have any of the results [SUCCESS]. Did not execute build step #0.
[PostBuildScript] - [INFO] Executing post build scripts.
[PostBuildScript] - [INFO] Build does not have any of the results [SUCCESS]. Did not execute build step #0.
[PostBuildScript] - [INFO] Executing post build scripts.
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins17403361141232426644.sh
+ echo 'Clearing /srv/jenkins/workspace/quibble-vendor-mysql-php81/cache'
Clearing /srv/jenkins/workspace/quibble-vendor-mysql-php81/cache
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins7965681310007814296.sh
+ set +x
+ exec docker run --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81/cache:/cache --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/releng/castor:0.4.0 clear
++ set +x
[PostBuildScript] - [INFO] Executing post build scripts.
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins7384429156736936491.sh
+ set -euxo pipefail
+ docker ps -q --filter label=jenkins.job=quibble-vendor-mysql-php81 --filter label=jenkins.build=42139
+ xargs --no-run-if-empty docker stop
[PostBuildScript] - [INFO] Executing post build scripts.
[quibble-vendor-mysql-php81] $ /bin/bash /tmp/jenkins5210530182162954899.sh
+ set +x
+ exec docker run --entrypoint=/usr/bin/find --user=root --volume /srv/jenkins/workspace/quibble-vendor-mysql-php81:/workspace --security-opt seccomp=unconfined --init --rm --label jenkins.job=quibble-vendor-mysql-php81 --label jenkins.build=42139 --env-file /dev/fd/63 docker-registry.wikimedia.org/bookworm:latest /workspace -mindepth 1 -delete
++ set +x
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins4868810488193955606.sh
+ echo 'Listing potentially remaining files in workspace for T282893'
Listing potentially remaining files in workspace for T282893
+ ls -laF --color=always
total 8
drwxr-xr-x 2 jenkins-deploy wikidev 4096 Oct 8 11:42 ./
drwxrwxr-x 8 jenkins-deploy wikidev 4096 Oct 8 11:41 ../
[quibble-vendor-mysql-php81] $ /bin/bash -xe /tmp/jenkins3830521208621608189.sh
+ set -u
+ rmdir /srv/jenkins/workspace/quibble-vendor-mysql-php81
Finished: FAILURE