Page MenuHomePhabricator

Multiple test failures for MediaWiki\Minerva\SkinMinervaTest::testHasPageTabs
Closed, ResolvedPublic

Description

22:00:32 There were 4 failures:
22:00:32 
22:00:32 1) MediaWiki\Minerva\SkinMinervaTest::testHasPageTabs with data set #1 (array(false), 0, 'Main Page', 'view', false)
22:00:32 Failed asserting that true matches expected false.
22:00:32 
22:00:32 /workspace/src/skins/MinervaNeue/tests/phpunit/skins/SkinMinervaTest.php:207
22:00:32 
22:00:32 2) MediaWiki\Minerva\SkinMinervaTest::testHasPageTabs with data set #2 (array(false), 1, 'Main Page', 'view', false)
22:00:32 Failed asserting that true matches expected false.
22:00:32 
22:00:32 /workspace/src/skins/MinervaNeue/tests/phpunit/skins/SkinMinervaTest.php:207
22:00:32 
22:00:32 3) MediaWiki\Minerva\SkinMinervaTest::testGetTabsDataNoPageTabs
22:00:32 Failed asserting that two arrays are equal.
22:00:32 --- Expected
22:00:32 +++ Actual
22:00:32 @@ @@
22:00:32  Array (
22:00:32 +    'items' => Array (...)
22:00:32 +    'id' => Array (...)
22:00:32  )
22:00:32 
22:00:32 /workspace/src/skins/MinervaNeue/tests/phpunit/skins/SkinMinervaTest.php:263
22:00:32 
22:00:32 4) MediaWiki\Minerva\SkinMinervaTest::testMainPageTalkButton
22:00:32 Failed asserting that an array has the key 'talk'.
22:00:32 
22:00:32 /workspace/src/skins/MinervaNeue/tests/phpunit/skins/SkinMinervaTest.php:781

These are breaking CI on multiple repos:

Details

Related Changes in Gerrit:
Show related patches Customize query in gerrit

Event Timeline

kostajh triaged this task as Unbreak Now! priority.

Minerva has some special cases for viewing the main page, and it seems those cases no longer trigger in tests – Title::isMainPage() returns false when it should return true.

That method has an internal cache, maybe the wrong value is being cached in some other test?

I can't reproduce the failure locally.

Change #1150702 had a related patch set uploaded (by Jdrewniak; author: Jdrewniak):

[mediawiki/skins/MinervaNeue@master] Temporarily skip failing unit tests

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

Minerva has some special cases for viewing the main page, and it seems those cases no longer trigger in tests – Title::isMainPage() returns false when it should return true.

That method has an internal cache, maybe the wrong value is being cached in some other test?

I can't reproduce the failure locally.

That seems correct. I pasted the failing split group config into my local PHPUnit setup and ran it, which reproduced the issue. I confirmed that $cachedMainPage was holding an unexpected value, with (mainpage) as the DB key. That gets there from \Wikibase\Repo\Tests\Specials\SpecialItemsWithoutSitelinksTest::testExecute -> OutputPageParserOutput -> MobileFrontend.

I'll make a patch to clear it.

Change #1150710 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/core@master] title: Reset cached Title objects between tests

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

Change #1150702 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Temporarily skip failing unit tests

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

Change #1150713 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/Echo@master] DiscussionParserTest: Fix false negative due to reused Title instance

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

Change #1150713 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] DiscussionParserTest: Fix false negative due to reused Title instance

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

matmarex claimed this task.

The deployment is unblocked. I'll merge @mszabo's patch and unskip the tests after the branch cut.

Change #1150780 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/core@master] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1150710 merged by jenkins-bot:

[mediawiki/core@master] title: Reset cached Title objects between tests

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

Change #1150780 merged by jenkins-bot:

[mediawiki/core@master] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151162 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/Wikibase@master] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151163 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/skins/MinervaNeue@master] Revert "Temporarily skip failing unit tests"

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

Change #1151168 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/core@REL1_44] title: Reset cached Title objects between tests

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

Change #1151169 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Echo@REL1_44] DiscussionParserTest: Fix false negative due to reused Title instance

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

Change #1151162 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151172 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Echo@REL1_43] DiscussionParserTest: Fix false negative due to reused Title instance

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

Change #1151169 merged by jenkins-bot:

[mediawiki/extensions/Echo@REL1_44] DiscussionParserTest: Fix false negative due to reused Title instance

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

Change #1151172 merged by jenkins-bot:

[mediawiki/extensions/Echo@REL1_43] DiscussionParserTest: Fix false negative due to reused Title instance

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

Change #1151191 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/core@REL1_43] title: Reset cached Title objects between tests

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

Change #1151192 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/core@REL1_44] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151193 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/core@REL1_43] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151194 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Wikibase@REL1_44] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151195 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Wikibase@REL1_43] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151168 merged by jenkins-bot:

[mediawiki/core@REL1_44] title: Reset cached Title objects between tests

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

Change #1151192 merged by jenkins-bot:

[mediawiki/core@REL1_44] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151191 merged by jenkins-bot:

[mediawiki/core@REL1_43] title: Reset cached Title objects between tests

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

Change #1151193 merged by jenkins-bot:

[mediawiki/core@REL1_43] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151163 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Revert "Temporarily skip failing unit tests"

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

It seems like the reset title cache patch may have broken scribunto tests, at least on the REL1_43 branch.

Change #1151810 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/extensions/Scribunto@master] Add UriLibraryTest to the Database group

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

Change #1151810 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@master] Add UriLibraryTest to the Database group

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

Change #1151815 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Scribunto@REL1_43] Add UriLibraryTest to the Database group

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

Change #1151816 had a related patch set uploaded (by Reedy; author: Máté Szabó):

[mediawiki/extensions/Scribunto@REL1_44] Add UriLibraryTest to the Database group

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

Change #1151816 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@REL1_44] Add UriLibraryTest to the Database group

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

Change #1151815 merged by jenkins-bot:

[mediawiki/extensions/Scribunto@REL1_43] Add UriLibraryTest to the Database group

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

Change #1151194 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@REL1_44] phpunit: Remove superfluous Title::clearCaches() calls

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

Change #1151195 abandoned by Reedy:

[mediawiki/extensions/Wikibase@REL1_43] phpunit: Remove superfluous Title::clearCaches() calls

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