Noticed as part of https://gerrit.wikimedia.org/r/c/mediawiki/core/+/439794. The module prefix needs to be globally unique.
While running MediaWiki core tests with Wikibase, I eventually got a failure:
1) PrefixUniquenessTest::testPrefixes Module prefix 'wbeu' is shared between Wikibase\Client\Api\ApiListEntityUsage and Wikibase\Client\Api\ApiPropsEntityUsage tests/phpunit/includes/api/PrefixUniquenessTest.php:24 tests/phpunit/MediaWikiTestCase.php:469 maintenance/doMaintenance.php:94
PrefixUniquenessTest::testPrefixes is described as:
Checks that all API query modules, core and extensions, have unique prefixes.
It is part of mediawiki/core, since the test is not a structure test, it is never run for extension, only for mediawiki/core patches. Which explains why it has never been noticed yet.
Related code:
client/includes/Api/ApiListEntityUsage.php:34: parent::__construct( $query, $moduleName, 'wbeu' ); client/includes/Api/ApiPropsEntityUsage.php:32: parent::__construct( $query, $moduleName, 'wbeu' );
Module references:
Class: | ApiPropsEntityUsage | ApiListEntityUsage |
---|---|---|
Doc | https://www.wikidata.org/w/api.php?action=help&recursivesubmodules=1#query+wbentityusage | https://www.wikidata.org/w/api.php?action=help&recursivesubmodules=1#query+wblistentityusage |
Call | prop=wbentityusage | list=wblistentityusage |
Initial commit | c2364b8ac2ec62b74dc076129f12f0a3515b94e3 | 382ac75c7b8cecf7ab518e5119e5cd2f1187dbc3 |
Feature task | T143118 | T143147 |