Page MenuHomePhabricator

PageTriage tests failing due to assertArraySubset dependency
Closed, ResolvedPublic

Description

PhpUnit was recently bumped to 9.5, which removes assertArraySubset. This is blocking merges on PageTriage, which relied on ArraySubset directly as a Constraint.

Related log output from https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php74-noselenium-docker/59563/console:

09:52:20 1) ApiPageTriageListTest::testCreateDraftPage
09:52:20 Error: Class 'PHPUnit\Framework\Constraint\ArraySubset' not found

Will need to remove all references to ArraySubset whenever possible for tests to work again. I have a patch ready but will need someone to review and merge.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change 840495 had a related patch set uploaded (by Chlod Alejandro; author: Chlod Alejandro):

[mediawiki/extensions/PageTriage@master] Remove usage of ArraySubset in tests

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

Change 840495 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] Remove usage of ArraySubset in tests

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

FTR, we handled the assertArraySubset while updating to PHPUnit 8 (not a typo, I really mean eight) a while ago, see T244095. A replacement was created in MW core, assertArraySubmapSame. However, we didn't think about direct usages of the ArraySubset constraint...