Page MenuHomePhabricator

Make PHPUnit dataProvider on ExtensionJsonTestBase static
Closed, ResolvedPublic

Description

The @dataProvider annotation should be a static function, make

  • ExtensionJsonTestBase::provideHookHandlerNames
  • ExtensionJsonTestBase::provideContentModelIDs
  • ExtensionJsonTestBase::provideApiModuleNames
  • ExtensionJsonTestBase::provideApiQueryModuleListsAndNames
  • ExtensionJsonTestBase::provideSpecialPageNames
  • ExtensionJsonTestBase::provideAuthenticationProviders
  • ExtensionJsonTestBase::provideSessionProviders
  • ExtensionJsonTestBase::provideServicesLists

static and adjust the usages (More infos at T332865).

Needs some compatibility code as some other extensions sub class the abstract class.

Event Timeline

I briefly looked into this at some point. My rough idea was to remove the need for subclasses to override the data providers, and instead provide better ways to achieve the desired behaviour: all existing overrides are for provideHookHandlerNames to skip hooks from other extensions. There could be a separate static getter to provide those.

I briefly looked into this at some point. My rough idea was to remove the need for subclasses to override the data providers, and instead provide better ways to achieve the desired behaviour: all existing overrides are for provideHookHandlerNames to skip hooks from other extensions. There could be a separate static getter to provide those.

For the override exists T347639: Research a way for the ExtensionJsonTestBase tests to autodetect missing extension and skip the HookHandlers validation in this case
Maybe both tasks should or must fixed together

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

[mediawiki/core@master] tests: Make PHPUnit data provider static in ExtensionJsonTestBase

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

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

[mediawiki/extensions/AbuseFilter@master] tests: Make PHPUnit data provider static in ExtensionJsonTest

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

Change #1143892 merged by jenkins-bot:

[mediawiki/core@master] tests: Make PHPUnit data provider static in ExtensionJsonTestBase

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

Change #1143893 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] tests: Make PHPUnit data provider static in ExtensionJsonTest

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

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

[mediawiki/extensions/AutoModerator@master] tests: Make class property static in ExtensionJsonTest

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

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

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

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

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

[mediawiki/extensions/CentralAuth@master] tests: Make PHPUnit data provider static in ExtensionJsonTest

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

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

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

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

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

[mediawiki/extensions/CommunityConfiguration@master] tests: Make class property static in ExtensionJsonTest

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

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

[mediawiki/extensions/EntitySchema@master] tests: Make class property static in ExtensionJsonTest

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

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

[mediawiki/extensions/RealMe@master] tests: Make class property static in ExtensionJsonTest

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

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

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

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

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

[mediawiki/extensions/WikibaseQualityConstraints@master] tests: Make class property static in ExtensionJsonTest

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

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

[mediawiki/extensions/WikimediaCampaignEvents@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146052 merged by jenkins-bot:

[mediawiki/extensions/RealMe@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146049 merged by jenkins-bot:

[mediawiki/extensions/CommunityConfiguration@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146048 merged by jenkins-bot:

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

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

Change #1146045 merged by jenkins-bot:

[mediawiki/extensions/AutoModerator@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146047 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] tests: Make PHPUnit data provider static in ExtensionJsonTest

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

Change #1146050 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146054 merged by jenkins-bot:

[mediawiki/extensions/WikibaseQualityConstraints@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146055 merged by jenkins-bot:

[mediawiki/extensions/WikimediaCampaignEvents@master] tests: Make class property static in ExtensionJsonTest

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

Change #1146046 merged by jenkins-bot:

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

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

Change #1146053 merged by jenkins-bot:

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

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

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

[mediawiki/core@master] tests: Remove non-static fallback in ExtensionJsonTestBase

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

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

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

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

Change #1151305 merged by jenkins-bot:

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

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

Change #1151296 merged by jenkins-bot:

[mediawiki/core@master] tests: Remove non-static fallback in ExtensionJsonTestBase

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