Page MenuHomePhabricator

PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed.
Closed, ResolvedPublic

Description

 There were 41 errors:
16:51:19 
16:51:19 1) Wikibase\Lexeme\Tests\Merge\LexemeMergerTest::testGivenMergingExceptionWhileMergingForms_exceptionBubblesUp
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:931
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:588
16:51:19 
16:51:19 2) Wikibase\Lexeme\Tests\Merge\LexemeMergerTest::testGivenOtherException_exceptionIsConvertedToModificationFailedException
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:931
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:616
16:51:19 
16:51:19 3) Wikibase\Lexeme\Tests\Merge\LexemeMergerTest::testGivenMergingExceptionWhileMergingSenses_exceptionBubblesUp
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:931
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/LexemeMergerTest.php:840
16:51:19 
16:51:19 4) Wikibase\Lexeme\Tests\Merge\MergeLexemesInteractorTest::testGivenMergeSucceeds_targetIsChangedCorrectly
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/composer/Merge/MergeLexemesInteractorTest.php:147
16:51:19 
16:51:19 5) Wikibase\Lexeme\Tests\MediaWiki\Store\FormRevisionLookupTest::testGivenFormId_getLatestRevisionIdCallsToParentServiceWithLexemeId
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/Store/FormRevisionLookupTest.php:100
16:51:19 
16:51:19 6) Wikibase\Lexeme\Tests\MediaWiki\Store\FormRevisionLookupTest::testGivenNotExistingFormId_getLatestRevisionIdReturnsNonexistentRevision
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/Store/FormRevisionLookupTest.php:119
16:51:19 
16:51:19 7) Wikibase\Lexeme\Tests\MediaWiki\Store\SenseRevisionLookupTest::testGivenSenseId_getLatestRevisionIdCallsToParentServiceWithLexemeId
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/Store/SenseRevisionLookupTest.php:99
16:51:19 
16:51:19 8) Wikibase\Lexeme\Tests\MediaWiki\Store\SenseRevisionLookupTest::testLexemeDoesNotContainTheSense_getLatestRevisionIdReturnsNonexistentEntity
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/Store/SenseRevisionLookupTest.php:117
16:51:19 
16:51:19 9) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsTheFormsHeadline
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:33
16:51:19 
16:51:19 10) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsFormsContainer
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:49
16:51:19 
16:51:19 11) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsFormRepresentationWithIdAndLanguage
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:61
16:51:19 
16:51:19 12) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsFormId
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:88
16:51:19 
16:51:19 13) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsFormGrammaticalFeatures
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:103
16:51:19 
16:51:19 14) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testHtmlContainsStatementSection
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:187
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:116
16:51:19 
16:51:19 15) Wikibase\Lexeme\Tests\MediaWiki\View\FormsViewTest::testGrammaticalFeaturesOrder
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/WikibaseLexeme/tests/phpunit/mediawiki/View/FormsViewTest.php:149
16:51:19 
16:51:19 16) Wikibase\Repo\Tests\ChangeOp\ChangeOpsTest::testApply_HasTwoChangeOps_DoesNotPassSummaryObject
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php:227
16:51:19 
16:51:19 17) Wikibase\Repo\Tests\ChangeOp\ChangeOpsTest::testApply_HasOneChangeOp_PassesSummaryObject
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php:241
16:51:19 
16:51:19 18) Wikibase\Repo\Tests\ChangeOp\ChangeOpsTest::testApply_HasTwoChangeOps_SetsGenericSummaryMessage
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php:255
16:51:19 
16:51:19 19) Wikibase\Repo\Tests\ChangeOp\ChangeOpsTest::testApply_HasZeroChangeOps_DoesNotUpdateSummaryAction
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpsTest.php:271
16:51:19 
16:51:19 20) Wikibase\Repo\Tests\Store\Sql\TypeDispatchingWikiPageEntityMetaDataAccessorTest::testValidConstruction
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:31
16:51:19 
16:51:19 21) Wikibase\Repo\Tests\Store\Sql\TypeDispatchingWikiPageEntityMetaDataAccessorTest::testLoadRevisionInformationDispatching
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:47
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:54
16:51:19 
16:51:19 22) Wikibase\Repo\Tests\Store\Sql\TypeDispatchingWikiPageEntityMetaDataAccessorTest::testLoadRevisionInformationByRevisionId
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:47
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:86
16:51:19 
16:51:19 23) Wikibase\Repo\Tests\Store\Sql\TypeDispatchingWikiPageEntityMetaDataAccessorTest::testLoadLatestRevisionIdsDispatching
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:47
16:51:19 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/Store/Sql/TypeDispatchingWikiPageEntityMetaDataAccessorTest.php:115
16:51:19 
16:51:19 24) Wikibase\Lib\Tests\Modules\SettingsValueProviderTest::testGetValueReturnsSettingWithGivenName
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/SettingsValueProviderTest.php:31
16:51:19 
16:51:19 25) Wikibase\Lib\Tests\SimpleCacheWithBagOStuffTest::testGet_GivenSignatureIsWrong_LoggsTheEvent
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/SimpleCacheWithBagOStuffTest.php:112
16:51:19 
16:51:19 26) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNoLabelInCache_getLabelPassesRequestToInnerLookup
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 27) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGetLabelWritesLabelToCache
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 28) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenEntryInCacheExists_getLabelUsesCachedValue
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 29) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNoLabelFound_nullEntryWrittenToCache
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 30) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNullEntryInCache_getLabelReturnsCachedNull
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 31) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenEmptyLanguageCodes_getLabelReturnsNull
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 32) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNoDescriptionInCache_getDescriptionPassesRequestToInnerLookup
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 33) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGetDescriptionWritesDescriptionToCache
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 34) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenEntryInCacheExists_getDescriptionUsesCachedValue
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 35) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNoDescriptionFound_nullEntryWrittenToCache
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 36) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenNullEntryInCache_getDescriptionReturnsCachedNull
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 37) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testGivenEmptyLanguageCodes_getDescriptionReturnsNull
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 38) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testNoRevisionFoundForTheEntity_ReturnsNull
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 39) Wikibase\Lib\Tests\Store\CachingFallbackLabelDescriptionLookupTest::testRevisionFoundIsARedirect_UsesLabelFromTargetEntity
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/CachingFallbackLabelDescriptionLookupTest.php:40
16:51:19 
16:51:19 40) Wikibase\Lib\Tests\Store\Sql\EntityIdLocalPartPageTableEntityQueryUnitTest::testSelectRowsSimple_noSlottedEntities
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/Sql/EntityIdLocalPartPageTableEntityQueryUnitTest.php:41
16:51:19 
16:51:19 41) Wikibase\Lib\Tests\Store\Sql\EntityIdLocalPartPageTableEntityQueryUnitTest::testSelectRowsCombination
16:51:19 PHPUnit\Framework\Exception: This test uses TestCase::prophesize(), but phpspec/prophecy is not installed. Please run "composer require --dev phpspec/prophecy".
16:51:19 
16:51:19 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Store/Sql/EntityIdLocalPartPageTableEntityQueryUnitTest.php:91
16:51:19 
16:51:19 ERRORS!
16:51:19 Tests: 26537, Assertions: 92815, Errors: 41, Skipped: 84.

Event Timeline

Not sure what is going on here. This seems to be somehow some composer issue?

Looking at an earlier run from today:

10:36:41   - Locking phpdocumentor/type-resolver (1.6.1)
10:36:41   - Locking phpspec/prophecy (v1.15.0)
10:36:41   - Locking phpunit/php-code-coverage (7.0.15)
10:36:41   - Locking phpunit/php-file-iterator (2.0.5)
10:36:41   - Locking phpunit/php-text-template (1.2.1)
10:36:41   - Locking phpunit/php-timer (2.1.3)
10:36:41   - Locking phpunit/php-token-stream (3.1.3)
10:36:41   - Locking phpunit/phpunit (8.5.28)

Whereas one of the logs linked above has:

16:46:45   - Locking phpdocumentor/type-resolver (1.6.1)
16:46:45   - Locking phpunit/php-code-coverage (7.0.15)
16:46:45   - Locking phpunit/php-file-iterator (2.0.5)
16:46:45   - Locking phpunit/php-text-template (1.2.1)
16:46:45   - Locking phpunit/php-timer (2.1.3)
16:46:45   - Locking phpunit/php-token-stream (3.1.3)
16:46:45   - Locking phpunit/phpunit (8.5.29)

phpspec/prophecy is gone and PHPUnit has increased its patch version. Why is that? o.O

Yep that's it. PHPUnit dropped the dependency on phpspec/prophecy in 8.5.29:

https://github.com/sebastianbergmann/phpunit/blob/b510908362c9f385fcdeaf56c5f3ae7f8f31d5d1/ChangeLog-8.5.md#8529---2022-08-22

It is literally the only change in that patch release worth mentioning.

Guess this is what happens when one just installs the latest compatible version of one's dependencies without a lock-file in source control. 🤷

How do we fix this?

The fastest way might be to pin to phpunit 8.5.28 in core. An alternative would be for WikibaseLexeme and Wikibase to add phpspec/prophecy to require-dev in their composer.json files?

Change 825373 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/core@master] composer.json: Pin phpunit to 8.5.28

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

Change 825374 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/Wikibase@master] Require phpspec/prophecy

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

Looks good, I'd be fine with merging either one of those if they fix the problem.

The fastest way might be to pin to phpunit 8.5.28 in core. An alternative would be for WikibaseLexeme and Wikibase to add phpspec/prophecy to require-dev in their composer.json files?

It seems the require-dev of extensions is not taken into account when running tests in CI?

I'll guess we'll go with your patch for now and then come up with something more sustainable.

Change 825373 merged by jenkins-bot:

[mediawiki/core@master] composer.json: Pin phpunit to 8.5.28

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

The fastest way might be to pin to phpunit 8.5.28 in core. An alternative would be for WikibaseLexeme and Wikibase to add phpspec/prophecy to require-dev in their composer.json files?

It seems the require-dev of extensions is not taken into account when running tests in CI?

I'll guess we'll go with your patch for now and then come up with something more sustainable.

Indeed, I believe the way WMF Jenkins CI is set up require all "dev dependencies" that are needed to run tests on Jenkins CI jobs to be defined in require-dev of mediawiki itself.

WMDE-leszek lowered the priority of this task from Unbreak Now! to High.Aug 22 2022, 7:57 PM

Boldly reducing the priority given the bandaid fix has worked.

Change 825281 had a related patch set uploaded (by Urbanecm; author: Kosta Harlan):

[mediawiki/core@wmf/1.39.0-wmf.25] composer.json: Pin phpunit to 8.5.28

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

Change 825281 merged by jenkins-bot:

[mediawiki/core@wmf/1.39.0-wmf.25] composer.json: Pin phpunit to 8.5.28

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

Change 825687 had a related patch set uploaded (by Urbanecm; author: Kosta Harlan):

[mediawiki/core@REL1_38] composer.json: Pin phpunit to 8.5.28

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

Change 825374 abandoned by Michael Große:

[mediawiki/extensions/Wikibase@master] Require phpspec/prophecy

Reason:

require-dev dependencies are not available in WMF CI Jenkins, so this approach doesn't work.

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

Change 825688 had a related patch set uploaded (by Reedy; author: Kosta Harlan):

[mediawiki/core@REL1_37] composer.json: Pin phpunit to 8.5.28

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

Change 825689 had a related patch set uploaded (by Reedy; author: Kosta Harlan):

[mediawiki/core@REL1_35] composer.json: Pin phpunit to 8.5.28

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

Change 825688 merged by jenkins-bot:

[mediawiki/core@REL1_37] composer.json: Pin phpunit to 8.5.28

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

Change 825689 merged by jenkins-bot:

[mediawiki/core@REL1_35] composer.json: Pin phpunit to 8.5.28

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

Change 825687 merged by Jforrester:

[mediawiki/core@REL1_38] composer.json: Pin phpunit to 8.5.28

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

Change 833825 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/core@master] Revert "composer.json: Pin phpunit to 8.5.28"

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

It should be okay to unpin PHPUnit on master now; if we want to unpin it on the release branches, we’ll need to backport the prophecy removals first.

It should be okay to unpin PHPUnit on master now; if we want to unpin it on the release branches, we’ll need to backport the prophecy removals first.

IMHO, unpinning on master should be good enough. Though, I wonder if we maybe want to keep the minor version pinned? I have slight hopes that they won't break backwards compatibility in patch versions, but only minor ones.

What would be the benefit from also unpinning it on the release branches?

Change 833825 merged by jenkins-bot:

[mediawiki/core@master] Revert "composer.json: Pin phpunit to 8.5.28"

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

Lucas_Werkmeister_WMDE claimed this task.

I think we can close this task, PHPUnit is now unpinned again (^8.5) as it was before on master. (Whether it should be unpinned can be discussed elsewhere.)