Page MenuHomePhabricator

Fix all Wikimedia production code and MW extensions PHPUnit tests data providers real providers (and use static methods)
Closed, ResolvedPublic

Description

CodeSearch survey: https://codesearch.wmcloud.org/deployed/?q=public+function+provide*&files=tests%2F&excludeFiles=&repos=

In the spirit of T332865: PHPUnit data providers should be simple static functions that return plain data, we've mostly migrated our code to use pure data providers, but there are still some extensions (per code search) above that still don't follow this pattern.

It would be nice to migrate all of them to the new pattern. Not sure if it would be helpful to tag all extensions on the codesearch list.


Code search for code used at Wikimedia:

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/Wikibasemaster+13 -13
mediawiki/extensions/Wikibasemaster+95 -103
mediawiki/extensions/IPReputationmaster+1 -1
mediawiki/extensions/GrowthExperimentsmaster+3 -3
mediawiki/extensions/Mathmaster+2 -2
mediawiki/extensions/OATHAuthmaster+3 -3
mediawiki/extensions/CommunityRequestsmaster+46 -33
mediawiki/extensions/ConfirmEditmaster+1 -1
mediawiki/extensions/CirrusSearchmaster+6 -6
mediawiki/extensions/EmailAuthmaster+2 -2
mediawiki/extensions/CampaignEventsmaster+2 -2
mediawiki/extensions/Kartographermaster+2 -2
mediawiki/extensions/Chartmaster+1 -1
mediawiki/extensions/UploadWizardmaster+1 -1
mediawiki/extensions/WikimediaCustomizationsmaster+3 -3
mediawiki/extensions/Flowmaster+1 -1
mediawiki/extensions/ParserMigrationmaster+1 -5
mediawiki/extensions/CheckUsermaster+7 -7
mediawiki/extensions/Citemaster+1 -1
mediawiki/extensions/Scoremaster+1 -1
mediawiki/extensions/TestKitchenmaster+1 -1
mediawiki/extensions/CodeMirrormaster+2 -2
mediawiki/extensions/Thanksmaster+1 -1
mediawiki/extensions/SecurePollmaster+3 -3
mediawiki/extensions/WikiLambdamaster+1 -1
operations/mediawiki-configmaster+10 -12
mediawiki/extensions/CommunityRequestsmaster+10 -10
mediawiki/extensions/OATHAuthmaster+4 -4
mediawiki/extensions/OAuthmaster+2 -7
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change #1208326 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/extensions/OAuth@master] tests: Make ClaimStoreTest data providers static methods

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

Change #1208327 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/extensions/OATHAuth@master] tests: Make KeySessionStorageTraitTest data providers static methods

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

Change #1208328 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[operations/mediawiki-config@master] tests: Make data providers static methods

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

Change #1208326 merged by jenkins-bot:

[mediawiki/extensions/OAuth@master] tests: Make ClaimStoreTest data providers static methods

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

Change #1208327 merged by jenkins-bot:

[mediawiki/extensions/OATHAuth@master] tests: Make data providers methods static

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

A_smart_kitten subscribed.

Not sure if it would be helpful to tag all extensions on the codesearch list.

IMO you could do if you want. What I personally do sometimes though, especially for tasks that apply to a large number of extensions, is tag MediaWiki-extensions-General (in lieu of figuring out & tagging all the individual extensions that a task applies to). I don't know if there are any guidelines about when to do that vs. tagging individual extensions, though - I'd guess that it's probably more of an art than a science :)

Change #1210178 had a related patch set uploaded (by Samwilson; author: Samwilson):

[mediawiki/extensions/CommunityRequests@master] tests: Make some data providers methods static

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

Change #1210178 merged by jenkins-bot:

[mediawiki/extensions/CommunityRequests@master] tests: Make some data providers methods static

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

Change #1208328 merged by jenkins-bot:

[operations/mediawiki-config@master] tests: Make data providers static methods

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

Mentioned in SAL (#wikimedia-operations) [2025-11-24T15:21:00Z] <lucaswerkmeister-wmde@deploy2002> Started scap sync-world: Backport for [[gerrit:1208328|tests: Make data providers static methods (T410731)]]

Mentioned in SAL (#wikimedia-operations) [2025-11-24T15:25:57Z] <lucaswerkmeister-wmde@deploy2002> lucaswerkmeister-wmde, d3r1ck01: Backport for [[gerrit:1208328|tests: Make data providers static methods (T410731)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-11-24T15:30:15Z] <lucaswerkmeister-wmde@deploy2002> Finished scap sync-world: Backport for [[gerrit:1208328|tests: Make data providers static methods (T410731)]] (duration: 09m 15s)

Change #1248542 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/WikiLambda@master] tests: Convert last provider over to static, as required by PHPUnit 10

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

Jdforrester-WMF renamed this task from Make production extensions PHPUnit tests data providers real providers (and use static methods) to Fix all Wikimedia production extensions PHPUnit tests data providers real providers (and use static methods).Mar 6 2026, 2:14 PM
Jdforrester-WMF updated the task description. (Show Details)

Change #1248542 merged by jenkins-bot:

[mediawiki/extensions/WikiLambda@master] tests: Convert last provider over to static, as required by PHPUnit 10

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

Jdforrester-WMF renamed this task from Fix all Wikimedia production extensions PHPUnit tests data providers real providers (and use static methods) to Fix all Wikimedia production code and MW extensions PHPUnit tests data providers real providers (and use static methods).Mar 6 2026, 2:26 PM
Jdforrester-WMF updated the task description. (Show Details)

Change #1257977 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/EmailAuth@master] tests: Make data provider static in SecondaryAuthenticationProviderTest

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

Change #1257978 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Flow@master] tests: Make PHPUnit data provider static in FlowPostMetaActionsTest

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

Change #1257979 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/IPReputation@master] tests: Make PHPUnit data provider static in IPoidDataLookupTest

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

Change #1257984 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/OATHAuth@master] tests: Make PHPUnit data provider static

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

Change #1257985 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/ParserMigration@master] tests: Make PHPUnit data provider static in OracleTest

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

Change #1257986 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Score@master] tests: Make PHPUnit data provider static in ScoreFormatterTest

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

Change #1257987 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/SecurePoll@master] tests: Make PHPUnit data provider static

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

Change #1257988 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/TestKitchen@master] tests: Make PHPUnit data provider static

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

Change #1257989 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Thanks@master] tests: Make PHPUnit data provider static in HooksTest

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

Change #1257990 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/WikimediaCustomizations@master] tests: Make PHPUnit data provider static for BadEmailDomainChecker

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

Change #1257991 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/UploadWizard@master] tests: Make PHPUnit data provider static in ConfigTest

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

Change #1257994 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Kartographer@master] tests: Make PHPUnit data provider static

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

Change #1257995 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/GrowthExperiments@master] tests: Make PHPUnit data provider static

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

Change #1257996 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/ConfirmEdit@master] tests: Make PHPUnit data provider static in SimpleCaptchaTest

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

Change #1257997 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CodeMirror@master] tests: Make PHPUnit data provider static

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

Change #1257998 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Cite@master] tests: Make PHPUnit data provider static in ValidatorTest

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

Change #1257999 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Chart@master] tests: Make PHPUnit data provider static

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

Change #1258000 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CampaignEvents@master] tests: Make PHPUnit data provider static

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

Change #1258001 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CirrusSearch@master] tests: Make PHPUnit data provider static

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

Change #1257987 merged by jenkins-bot:

[mediawiki/extensions/SecurePoll@master] tests: Make PHPUnit data provider static

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

Change #1258004 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Math@master] tests: Make PHPUnit data provider static

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

Change #1258005 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CheckUser@master] tests: Make PHPUnit data provider static

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

Change #1258007 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Wikibase@master] tests: Make PHPUnit data provider static

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

Change #1258040 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/CommunityRequests@master] tests: Make PHPUnit data provider static

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

Change #1257989 merged by jenkins-bot:

[mediawiki/extensions/Thanks@master] tests: Make PHPUnit data provider static in HooksTest

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

Change #1257997 merged by jenkins-bot:

[mediawiki/extensions/CodeMirror@master] tests: Make PHPUnit data provider static

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

Change #1258128 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Wikibase@master] tests: Make complex PHPUnit data provider static

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

Change #1257988 merged by jenkins-bot:

[mediawiki/extensions/TestKitchen@master] tests: Make PHPUnit data provider static

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

Change #1257986 merged by jenkins-bot:

[mediawiki/extensions/Score@master] tests: Make PHPUnit data provider static in ScoreFormatterTest

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

Change #1257998 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] tests: Make PHPUnit data provider static in ValidatorTest

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

Change #1258005 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] tests: Make PHPUnit data provider static

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

Change #1257978 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] tests: Make PHPUnit data provider static in FlowPostMetaActionsTest

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

Change #1257985 merged by jenkins-bot:

[mediawiki/extensions/ParserMigration@master] tests: Make PHPUnit data provider static in OracleTest

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

Change #1257990 merged by jenkins-bot:

[mediawiki/extensions/WikimediaCustomizations@master] tests: Make PHPUnit data provider static for BadEmailDomainChecker

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

Change #1257991 merged by jenkins-bot:

[mediawiki/extensions/UploadWizard@master] tests: Make PHPUnit data provider static in ConfigTest

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

Change #1257999 merged by jenkins-bot:

[mediawiki/extensions/Chart@master] tests: Make PHPUnit data provider static

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

Change #1257994 merged by jenkins-bot:

[mediawiki/extensions/Kartographer@master] tests: Make PHPUnit data provider static

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

Change #1258000 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] tests: Make PHPUnit data provider static

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

Change #1257977 merged by jenkins-bot:

[mediawiki/extensions/EmailAuth@master] tests: Make data provider static in SecondaryAuthenticationProviderTest

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

Change #1257996 merged by jenkins-bot:

[mediawiki/extensions/ConfirmEdit@master] tests: Make PHPUnit data provider static in SimpleCaptchaTest

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

Change #1258001 merged by jenkins-bot:

[mediawiki/extensions/CirrusSearch@master] tests: Make PHPUnit data provider static

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

Change #1258040 merged by jenkins-bot:

[mediawiki/extensions/CommunityRequests@master] tests: Make PHPUnit data provider static

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

Change #1257984 merged by jenkins-bot:

[mediawiki/extensions/OATHAuth@master] tests: Make PHPUnit data provider static

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

Change #1257995 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] tests: Make PHPUnit data provider static

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

Change #1258004 merged by jenkins-bot:

[mediawiki/extensions/Math@master] tests: Make PHPUnit data provider static

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

Change #1257979 merged by jenkins-bot:

[mediawiki/extensions/IPReputation@master] tests: Make PHPUnit data provider static in IPoidDataLookupTest

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

Change #1258128 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] tests: Make complex PHPUnit data provider static

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

Change #1258007 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] tests: Make simple PHPUnit data provider static

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