Page MenuHomePhabricator

Improve test coverage for special pages in MediaWiki core
Open, Needs TriagePublic

Description

Summary

Test coverage for the Specials folder in MediaWiki core is currently at 33% as of the 23rd of July 2026. We should improve this coverage

Acceptance criteria

Details

Related Changes in Gerrit:
SubjectAuthorRepoBranchLines +/-
Dreamy Jazzmediawiki/coremaster+13 -21
Dreamy Jazzmediawiki/coremaster+111 -1
Dreamy Jazzmediawiki/coremaster+82 -1
SomeRandomDevelopermediawiki/coremaster+57 -24
Dreamy Jazzmediawiki/coremaster+825 -12
SomeRandomDevelopermediawiki/coremaster+53 -1
Dreamy Jazzmediawiki/coremaster+104 -1
Dreamy Jazzmediawiki/coremaster+89 -0
Dreamy Jazzmediawiki/coremaster+131 -2
Dreamy Jazzmediawiki/coremaster+174 -2
Dreamy Jazzmediawiki/coremaster+60 -1
Dreamy Jazzmediawiki/coremaster+2 -10
Dreamy Jazzmediawiki/coremaster+35 -0
Dreamy Jazzmediawiki/coremaster+35 -0
Dreamy Jazzmediawiki/coremaster+69 -3
Dreamy Jazzmediawiki/coremaster+60 -1
Dreamy Jazzmediawiki/coremaster+128 -2
Dreamy Jazzmediawiki/coremaster+78 -1
Dreamy Jazzmediawiki/coremaster+36 -2
Novem Linguaemediawiki/coremaster+44 -0
Dreamy Jazzmediawiki/coremaster+285 -0
Dreamy Jazzmediawiki/coremaster+326 -4
Dreamy Jazzmediawiki/coremaster+144 -0
Dreamy Jazzmediawiki/coremaster+23 -0
Dreamy Jazzmediawiki/coremaster+263 -0
Dreamy Jazzmediawiki/coremaster+68 -0
Dreamy Jazzmediawiki/coremaster+44 -41
Show related patches Customize query in gerrit

Event Timeline

Change #1314752 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Create tests for SpecialPurge

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

Change #1314785 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Add SpecialPageTestBase::assertSelectorExists

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

Change #1314880 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/core@master] tests: add tests for HtmlAssertionHelperTrait

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

Change #1314785 merged by jenkins-bot:

[mediawiki/core@master] Add HtmlAssertionHelperTrait

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

Change #1315756 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Get RedirectSpecialPage to 100% test coverage

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

Change #1315772 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Create tests for special pages that extend SpecialRedirectToSpecial

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

Change #1315822 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialMylog

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

Change #1315829 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Create tests for SpecialMypage

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

Change #1315829 abandoned by Dreamy Jazz:

[mediawiki/core@master] Test SpecialMypage

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

Change #1314752 merged by jenkins-bot:

[mediawiki/core@master] Create tests for SpecialRedirectWithAction special pages

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

Change #1315756 merged by jenkins-bot:

[mediawiki/core@master] Increase test coverage for RedirectSpecialPage

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

Change #1315772 merged by jenkins-bot:

[mediawiki/core@master] Create tests for special pages that extend SpecialRedirectToSpecial

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

Change #1315928 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Exclude class aliases from coverage in Specials folder

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

Change #1315822 merged by jenkins-bot:

[mediawiki/core@master] Test special pages in the Redirects folder

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

Change #1314880 merged by jenkins-bot:

[mediawiki/core@master] tests: add tests for HtmlAssertionHelperTrait

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

Change #1315928 merged by jenkins-bot:

[mediawiki/core@master] Exclude class aliases from coverage in Specials folder

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

Change #1315944 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Exclude merely declarative code in SpecialPage folder

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

Change #1315944 merged by jenkins-bot:

[mediawiki/core@master] Exclude merely declarative code in SpecialPage folder

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

Change #1315958 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialEmailInvalidate

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

Change #1315970 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialApiSandbox

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

Change #1316093 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialAutoblockList

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

Change #1316120 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialCategories

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

Change #1316150 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialListUsers

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

Change #1316174 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialLockdb

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

Change #1316774 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialUnlockdb

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

Change #1316775 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] [WIP] Test SpecialMergeHistory

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

Change #1316784 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialRandomRedirect

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

Change #1315958 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialEmailInvalidate

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

Change #1315970 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialApiSandbox

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

Change #1316785 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialRandomRootPage

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

Change #1316174 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialLockdb

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

Change #1316120 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialCategories

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

Change #1316792 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialRunJobs

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

Change #1316784 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialRandomRedirect

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

Change #1316785 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialRandomRootPage

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

Change #1316943 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Create tests for SpecialComparePages

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

Change #1316955 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Drop SpecialVersion::getGitHeadSha1

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

Change #1317458 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] [WIP] Test SpecialVersion

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

Change #1316955 merged by jenkins-bot:

[mediawiki/core@master] Drop SpecialVersion::getGitHeadSha1

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

Change #1316150 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialListUsers

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

Change #1316774 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialUnlockdb

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

Change #1316775 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialMergeHistory

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

Change #1316792 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialRunJobs

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

Change #1316943 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialComparePages

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

Change #1318169 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] Test SpecialApiHelp

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

Change #1318170 had a related patch set uploaded (by Dreamy Jazz; author: Dreamy Jazz):

[mediawiki/core@master] SpecialApiHelp: Rework while loop

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

Change #1318795 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/core@master] tests: add assertSelectorMatchesOneElementInNode()

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

Change #1318795 merged by jenkins-bot:

[mediawiki/core@master] tests: add assertSelectorMatchesOneElementInNode()

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

Change #1317458 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialVersion

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

Change #1319555 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/core@master] tests: Avoid parsing the same HTML string multiple times

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

Change #1319555 merged by jenkins-bot:

[mediawiki/core@master] tests: Avoid parsing the same HTML strings multiple times

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

Change #1318169 merged by jenkins-bot:

[mediawiki/core@master] Test SpecialApiHelp

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

Coverage is now at 41.83%. As Wikimania is over, I'll probably leave this on the backburner for now but there are some more patches to look at if anyone has the time (thanks in advance and thanks for all the reviews so far)