The service wiring tests we’re adding are supposed to be unit tests that can run without MediaWiki being installed, but that doesn’t fully work in practice:
```lines=10,counterexample,name=vendor/bin/phpunit extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/
PHPUnit 8.5.14 by Sebastian Bergmann and contributors.
................................................E........EE...... 65 / 81 ( 80%)
.E......E......E 81 / 81 (100%)
You should really speed up these slow tests (>50ms)...
1. 52ms to run Wikibase\Repo\Tests\Unit\ServiceWiring\RdfVocabularyTest:testConstruction
Time: 931 ms, Memory: 42.50 MB
There were 6 errors:
1) Wikibase\Repo\Tests\Unit\ServiceWiring\LanguageFallbackChainFactoryTest::testConstruction
Premature access to service container [Called from Wikibase\Lib\LanguageFallbackChainFactory::__construct in /var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php at line 71]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:236
/var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php:71
/var/www/html/wiki1/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php:495
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/LanguageFallbackChainFactoryTest.php:28
2) Wikibase\Repo\Tests\Unit\ServiceWiring\RdfVocabularyTest::testConstruction
Premature access to service 'HookContainer' [Called from MediaWiki\MediaWikiServices::getInstance in /var/www/html/wiki1/includes/MediaWikiServices.php at line 249]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:871
/var/www/html/wiki1/includes/MediaWikiServices.php:249
/var/www/html/wiki1/includes/Title.php:238
/var/www/html/wiki1/includes/Title.php:2269
/var/www/html/wiki1/includes/Title.php:2421
/var/www/html/wiki1/extensions/Wikibase/data-access/src/MediaWiki/EntitySourceDocumentUrlProvider.php:20
/var/www/html/wiki1/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php:568
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/RdfVocabularyTest.php:69
3) Wikibase\Repo\Tests\Unit\ServiceWiring\SettingsTest::testConstruction
MWException: Cannot access repo settings: Wikibase Repository component is not enabled!
/var/www/html/wiki1/extensions/Wikibase/lib/includes/WikibaseSettings.php:43
/var/www/html/wiki1/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php:584
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/SettingsTest.php:20
4) Wikibase\Repo\Tests\Unit\ServiceWiring\TermStoreWriterFactoryTest::testConstruction
Premature access to service 'ConfiguredReadOnlyMode' [Called from JobQueueGroup::singleton in /var/www/html/wiki1/includes/jobqueue/JobQueueGroup.php at line 79]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:711
/var/www/html/wiki1/includes/jobqueue/JobQueueGroup.php:79
/var/www/html/wiki1/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php:659
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/TermStoreWriterFactoryTest.php:49
5) Wikibase\Repo\Tests\Unit\ServiceWiring\ValueFormatterFactoryTest::testConstruction
Premature access to service 'LanguageFactory' [Called from Wikibase\Lib\LanguageFallbackChainFactory::__construct in /var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php at line 72]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:927
/var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php:72
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/ValueFormatterFactoryTest.php:24
6) Wikibase\Repo\Tests\Unit\ServiceWiring\WikibaseContentLanguagesTest::testConstruction
Premature access to service 'LanguageNameUtils' [Called from Language::fetchLanguageNames in /var/www/html/wiki1/languages/Language.php at line 909]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:943
/var/www/html/wiki1/languages/Language.php:909
/var/www/html/wiki1/extensions/Wikibase/lib/includes/MediaWikiContentLanguages.php:42
/var/www/html/wiki1/extensions/Wikibase/lib/includes/MediaWikiContentLanguages.php:25
/var/www/html/wiki1/extensions/Wikibase/lib/includes/UnionContentLanguages.php:54
/var/www/html/wiki1/extensions/Wikibase/lib/includes/UnionContentLanguages.php:37
/var/www/html/wiki1/extensions/Wikibase/repo/tests/phpunit/unit/ServiceWiring/WikibaseContentLanguagesTest.php:32
ERRORS!
Tests: 81, Assertions: 690, Errors: 6.
```
```lines=10,counterexample,name=vendor/bin/phpunit extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/
PHPUnit 8.5.14 by Sebastian Bergmann and contributors.
.........................E...EEE.E........ 42 / 42 (100%)
Time: 569 ms, Memory: 30.50 MB
There were 5 errors:
1) Wikibase\Client\Tests\Unit\ServiceWiring\LanguageFallbackChainFactoryTest::testConstruction
Premature access to service container [Called from Wikibase\Lib\LanguageFallbackChainFactory::__construct in /var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php at line 71]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:236
/var/www/html/wiki1/extensions/Wikibase/lib/includes/LanguageFallbackChainFactory.php:71
/var/www/html/wiki1/extensions/Wikibase/client/WikibaseClient.ServiceWiring.php:218
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/LanguageFallbackChainFactoryTest.php:28
2) Wikibase\Client\Tests\Unit\ServiceWiring\OtherProjectsSitesProviderTest::testConstruction
Premature access to service 'HookContainer' [Called from MediaWiki\MediaWikiServices::getInstance in /var/www/html/wiki1/includes/MediaWikiServices.php at line 249]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:871
/var/www/html/wiki1/includes/MediaWikiServices.php:249
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:149
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:104
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:76
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:275
/var/www/html/wiki1/extensions/Wikibase/client/WikibaseClient.ServiceWiring.php:246
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/OtherProjectsSitesProviderTest.php:30
3) Wikibase\Client\Tests\Unit\ServiceWiring\PropertyOrderProviderTest::testConstruction with data set #0 ('page-url')
Premature access to service 'StatsdDataFactory' [Called from ObjectCache::newFromParams in /var/www/html/wiki1/includes/objectcache/ObjectCache.php at line 149]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:1414
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:149
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:104
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:76
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:275
/var/www/html/wiki1/extensions/Wikibase/client/WikibaseClient.ServiceWiring.php:270
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/PropertyOrderProviderTest.php:46
4) Wikibase\Client\Tests\Unit\ServiceWiring\PropertyOrderProviderTest::testConstruction with data set #1 (null)
Premature access to service 'MainConfig' [Called from Wikimedia\Services\ServiceContainer::{closure} in /var/www/html/wiki1/includes/ServiceWiring.php at line 1392]
/var/www/html/wiki1/includes/debug/MWDebug.php:376
/var/www/html/wiki1/includes/debug/MWDebug.php:350
/var/www/html/wiki1/includes/GlobalFunctions.php:1068
/var/www/html/wiki1/includes/MediaWikiServices.php:258
/var/www/html/wiki1/includes/MediaWikiServices.php:1026
/var/www/html/wiki1/includes/ServiceWiring.php:1392
/var/www/html/wiki1/vendor/wikimedia/services/src/ServiceContainer.php:447
/var/www/html/wiki1/vendor/wikimedia/services/src/ServiceContainer.php:416
/var/www/html/wiki1/includes/MediaWikiServices.php:261
/var/www/html/wiki1/includes/MediaWikiServices.php:1414
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:149
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:104
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:76
/var/www/html/wiki1/includes/objectcache/ObjectCache.php:275
/var/www/html/wiki1/extensions/Wikibase/client/WikibaseClient.ServiceWiring.php:270
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/PropertyOrderProviderTest.php:46
5) Wikibase\Client\Tests\Unit\ServiceWiring\SettingsTest::testConstruction
MWException: Cannot access client settings: Wikibase Client component is not enabled!
/var/www/html/wiki1/extensions/Wikibase/lib/includes/WikibaseSettings.php:89
/var/www/html/wiki1/extensions/Wikibase/client/WikibaseClient.ServiceWiring.php:286
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiringTestCase.php:84
/var/www/html/wiki1/extensions/Wikibase/client/tests/phpunit/unit/includes/ServiceWiring/SettingsTest.php:20
ERRORS!
Tests: 42, Assertions: 343, Errors: 5.
```
I’m pretty sure at least some of them can be fixed. Not sure about all of them, though.