Page MenuHomePhabricator

Wikibase PHPUnit tests are broken
Closed, ResolvedPublic

Description

Seen e.g. in https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php72-docker/24311/console:

PHP Fatal error: Declaration of Wikibase\Client\Tests\DataAccess\Scribunto\Scribunto_LuaWikibaseLibraryTestCase::tearDown() must be compatible with Scribunto_LuaEngineTestBase::tearDown(): void in /workspace/src/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTestCase.php on line 224

That's because we're upgrading to PHPCS 28.0.0, which forces you to add :void typehints to setUp and tearDown (because they were added in PHPUnit 8). Scribunto was already upgraded, hence it now has the typehints. But Wikibase extends some of those Scribunto classes without using typehints, and hence it broke.

A quick way to unbreak the world would be to upgrade wikibase-codesniffer to use mediawiki-codesniffer 28.0.0, then run phpcbf.

Event Timeline

Merged, let me know when you make the patch in wikibase repos

Thanks! I can do it now, if you release a new version.

Can you make a pull request? It looks like a breaking change, a major version bump is needed

Can you make a pull request? It looks like a breaking change, a major version bump is needed

https://github.com/wmde/WikibaseCodeSniffer/pull/55 is for release notes etc. I cannot actually tag a new version by myself.

1.0.0 supposed to be released now. I don't know if packagist picked it up or not.

1.0.0 supposed to be released now. I don't know if packagist picked it up or not.

Let's hope so. I'm starting with Wikibase-related repos, and doing Wikibase itself last, for the same reason about signatures.

Change 542680 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseMediaInfo@master] Upgrade codesniffer to 1.0.0

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

Change 542679 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseQualityConstraints@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542681 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseLexemeCirrusSearch@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542682 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseLexeme@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542683 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseCirrusSearch@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542684 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Wikibase@master] Upgrade wikibase codesniffer to 1.0.0

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

1.0.0 supposed to be released now. I don't know if packagist picked it up or not.

Let's hope so. I'm starting with Wikibase-related repos, and doing Wikibase itself last, for the same reason about signatures.

Everything's on gerrit now, but instead, we should start with Wikibase itself. The tests are broken for related repos, too.

Change 542695 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/PropertySuggester@master] Upgrade phpcs to 28.0.0

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

Change 542699 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Wikibase@master] Unbreak wikibase tests

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

Change 542699 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Unbreak wikibase tests

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

Change 542695 merged by jenkins-bot:
[mediawiki/extensions/PropertySuggester@master] Upgrade phpcs to 28.0.0

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

Change 542682 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542684 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542679 merged by jenkins-bot:
[mediawiki/extensions/WikibaseQualityConstraints@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542680 merged by jenkins-bot:
[mediawiki/extensions/WikibaseMediaInfo@master] Upgrade codesniffer to 1.0.0

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

Change 542683 merged by jenkins-bot:
[mediawiki/extensions/WikibaseCirrusSearch@master] Upgrade wikibase codesniffer to 1.0.0

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

Change 542681 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexemeCirrusSearch@master] Upgrade wikibase codesniffer to 1.0.0

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