Page MenuHomePhabricator

Upgrade PHPUnit from 4/6 to 8
Closed, ResolvedPublic

Description

Once we drop support for HHVM and < PHP 7.2, we can drop support for PHPUnit 6, and deprecate our forwards/backwards-compat layer for PHPUnit 4.

This is blocked on: T192166: Drop HHVM support from MediaWiki

Progress estimate: https://codesearch.wmflabs.org/search/?q=PHPUnit_%7Cthis-%3EgetMock%5C(%7C%40expectExcep%7C-%3EsetExpectedException%7CPHPUnit4And6&i=nope&files=&repos=

Details

ProjectBranchLines +/-Subject
mediawiki/coremaster+12 -8
mediawiki/coremaster+8 -148
mediawiki/extensions/Scribuntomaster+1 -18
mediawiki/coremaster+23 -92
mediawiki/extensions/Echomaster+3 -15
mediawiki/extensions/Wikibasemaster+24 -10
mediawiki/coremaster+3 -1
mediawiki/extensions/WikibaseLexememaster+7 -7
mediawiki/extensions/WikibaseMediaInfomaster+1 -1
mediawiki/extensions/Flowmaster+2 -2
mediawiki/extensions/CirrusSearchmaster+15 -12
mediawiki/extensions/WikibaseCirrusSearchmaster+1 -1
mediawiki/extensions/Wikibasemaster+53 -39
mediawiki/extensions/Wikibasemaster+12 -12
mediawiki/extensions/WikibaseCirrusSearchmaster+27 -27
mediawiki/extensions/Wikibasemaster+38 -46
mediawiki/extensions/WikibaseMediaInfomaster+5 -5
mediawiki/extensions/CirrusSearchmaster+20 -16
mediawiki/extensions/AbuseFiltermaster+1 -1
mediawiki/extensions/GeoDatamaster+2 -2
mediawiki/extensions/EventLoggingmaster+6 -2
mediawiki/extensions/FileImportermaster+14 -14
mediawiki/extensions/Wikibasemaster+73 -73
mediawiki/extensions/Citemaster+1 -1
mediawiki/extensions/Flowmaster+1 -1
mediawiki/extensions/Babelmaster+6 -6
mediawiki/extensions/MobileFrontendmaster+10 -10
mediawiki/extensions/Wikibasemaster+2 -2
mediawiki/extensions/GeoDatamaster+4 -4
mediawiki/coremaster+3 -1
mediawiki/extensions/PropertySuggestermaster+1 -1
mediawiki/extensions/WikibaseLexememaster+9 -9
mediawiki/extensions/Wikibasemaster+1 -1
mediawiki/extensions/Wikidata.orgmaster+1 -1
mediawiki/extensions/Scribuntomaster+18 -1
mediawiki/coremaster+0 -7
mediawiki/extensions/SemanticSiftermaster+1 -1
integration/configmaster+22 -22
integration/configmaster+54 -0
integration/quibblemaster+25 -3
integration/quibblemaster+3 -3
mediawiki/tools/codesniffermaster+94 -18
mediawiki/extensions/Wikibasemaster+141 -141
mediawiki/coremaster+19 -20
mediawiki/coremaster+30 -27
mediawiki/coremaster+31 -14
mediawiki/coremaster+284 -256
mediawiki/coremaster+37 -51
mediawiki/coremaster+96 -96
mediawiki/extensions/Wikibasemaster+108 -108
mediawiki/extensions/CentralNoticewmf/1.35.0-wmf.10+16 -15
mediawiki/extensions/CentralNoticewmf_deploy+16 -15
mediawiki/extensions/CentralNoticemaster+16 -15
mediawiki/coremaster+96 -42
mediawiki/extensions/Wikibasemaster+2 -2
mediawiki/extensions/ActiveAbstractmaster+1 -1
mediawiki/extensions/Echomaster+15 -3
mediawiki/coremaster+31 -26
mediawiki/coremaster+1 -3
mediawiki/extensions/FileImportermaster+2 -0
mediawiki/extensions/WikibaseMediaInfomaster+6 -0
mediawiki/extensions/CirrusSearchmaster+3 -4
mediawiki/coremaster+61 -1
mediawiki/tools/codesniffermaster+458 -0
mediawiki/coremaster+22 -21
mediawiki/coremaster+24 -20
mediawiki/coremaster+0 -2
mediawiki/coremaster+45 -44
mediawiki/extensions/Translatemaster+2 -2
mediawiki/extensions/CirrusSearchmaster+5 -3
mediawiki/extensions/JsonConfigmaster+1 -1
mediawiki/tools/codesniffermaster+167 -14
mediawiki/coremaster+288 -289
mediawiki/extensions/DonationInterfacemaster+95 -95
mediawiki/extensions/Wikibasemaster+28 -6
mediawiki/extensions/PasswordlessLoginmaster+9 -7
mediawiki/extensions/PagedTiffHandlermaster+2 -2
mediawiki/extensions/WikibaseLexemeCirrusSearchmaster+1 -1
mediawiki/extensions/TranslateSvgmaster+2 -1
mediawiki/extensions/OAuthmaster+3 -3
mediawiki/extensions/QuickSearchLookupmaster+2 -2
mediawiki/extensions/NumerAlphamaster+1 -9
mediawiki/extensions/WhosOnlinemaster+0 -8
mediawiki/extensions/WikibaseCirrusSearchmaster+1 -1
mediawiki/extensions/GlobalCssJsmaster+1 -1
mediawiki/extensions/SimpleSAMLphpmaster+20 -6
mediawiki/extensions/LDAPGroupsmaster+7 -5
mediawiki/extensions/Wikisourcemaster+1 -1
mediawiki/extensions/LDAPGroupsmaster+8 -5
mediawiki/extensions/Wikisourcemaster+1 -1
mediawiki/coremaster+4 -4
mediawiki/skins/MinervaNeuemaster+6 -18
mediawiki/extensions/ArticleCreationWorkflowmaster+21 -18
mediawiki/extensions/WikidataPageBannermaster+3 -3
mediawiki/extensions/MobileFrontendmaster+5 -6
mediawiki/extensions/MassMessagemaster+1 -1
mediawiki/extensions/EventLoggingmaster+3 -1
mediawiki/extensions/Lintermaster+1 -1
mediawiki/extensions/ConfirmEditmaster+3 -2
mediawiki/extensions/Thanksmaster+2 -1
mediawiki/extensions/ActiveAbstractmaster+8 -8
mediawiki/extensions/FileImportermaster+1 -1
mediawiki/extensions/Flowmaster+5 -5
mediawiki/extensions/UserMergemaster+8 -8
mediawiki/extensions/Thanksmaster+5 -5
mediawiki/extensions/PropertySuggestermaster+5 -5
mediawiki/extensions/ConfirmEditmaster+5 -5
mediawiki/extensions/ArticlePlaceholdermaster+13 -14
mediawiki/coremaster+8 -9
mediawiki/extensions/OAuthmaster+17 -22
mediawiki/extensions/MobileFrontendmaster+11 -11
mediawiki/extensions/CirrusSearchmaster+2 -2
mediawiki/extensions/ParserFunctionsmaster+2 -1
mediawiki/extensions/WikimediaBadgesmaster+3 -3
mediawiki/extensions/PropertySuggestermaster+1 -1
mediawiki/extensions/ArticlePlaceholdermaster+1 -1
mediawiki/tools/codesniffermaster+317 -1
mediawiki/tools/phanmaster+369 -1
mediawiki/extensions/MassMessagemaster+3 -7
mediawiki/extensions/BounceHandlermaster+6 -6
mediawiki/extensions/EventLoggingmaster+1 -1
mediawiki/extensions/DonationInterfacemaster+1 -1
mediawiki/extensions/ContentTranslationmaster+1 -1
mediawiki/extensions/AbuseFiltermaster+6 -4
mediawiki/extensions/ExternalGuidancemaster+1 -1
mediawiki/extensions/EntitySchemamaster+22 -39
mediawiki/extensions/ArticlePlaceholdermaster+2 -2
mediawiki/extensions/Newslettermaster+3 -2
mediawiki/extensions/WikibaseLexemeCirrusSearchmaster+7 -16
mediawiki/extensions/WikibaseLexemeCirrusSearchmaster+2 -1
mediawiki/extensions/Wikibasemaster+116 -97
mediawiki/extensions/WikibaseQualityConstraintsmaster+34 -63
mediawiki/extensions/WikibaseQualityConstraintsmaster+4 -4
mediawiki/extensions/WikibaseMediaInfomaster+4 -4
mediawiki/extensions/WikibaseLexememaster+27 -21
mediawiki/extensions/PropertySuggestermaster+4 -4
mediawiki/extensions/WikimediaEventsmaster+3 -4
mediawiki/extensions/Echomaster+9 -5
mediawiki/extensions/EventLoggingmaster+3 -2
mediawiki/extensions/ReadingListsmaster+2 -3
mediawiki/extensions/MobileFrontendmaster+2 -1
mediawiki/extensions/CentralAuthmaster+3 -2
mediawiki/extensions/ActiveAbstractmaster+9 -5
mediawiki/extensions/WikibaseLexememaster+47 -163
mediawiki/extensions/WikibaseCirrusSearchmaster+2 -12
mediawiki/extensions/WikibaseMediaInfomaster+27 -53
mediawiki/coremaster+81 -61
mediawiki/coremaster+242 -171
mediawiki/extensions/Popupsmaster+41 -26
mediawiki/coremaster+0 -0
mediawiki/extensions/PageViewInfomaster+10 -6
mediawiki/extensions/CommonsMetadatamaster+38 -25
mediawiki/extensions/Cognatemaster+16 -18
mediawiki/extensions/DonationInterfacemaster+12 -5
mediawiki/extensions/Scribuntomaster+19 -13
mediawiki/coremaster+240 -183
mediawiki/coremaster+55 -55
mediawiki/extensions/Wikibasemaster+0 -567
mediawiki/coremaster+50 -62
mediawiki/coremaster+54 -67
mediawiki/coremaster+38 -57
mediawiki/coremaster+0 -49
mediawiki/coremaster+6 -19
mediawiki/extensions/CirrusSearchmaster+5 -7
mediawiki/extensions/FileImportermaster+52 -67
mediawiki/extensions/GeoDatamaster+1 -1
mediawiki/extensions/Kartographermaster+1 -3
Show related patches Customize query in gerrit

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 562960 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] jjb: Switch over to images using Quibble version 0.0.40

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

Change 562959 merged by jenkins-bot:
[integration/config@master] dockerfiles: Create images for Quibble version 0.0.40

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

Mentioned in SAL (#wikimedia-releng) [2020-01-08T20:56:33Z] <James_F> Docker: Publishing Quibble 0.0.40 images on contint1001 T192167 T220586 T236222 T236680

Change 562960 merged by jenkins-bot:
[integration/config@master] jjb: Switch over to images using Quibble version 0.0.40

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

Change 555545 merged by jenkins-bot:
[mediawiki/core@master] phpunit: Drop "debug-tests" command, no-op, now unused in Quibble

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

Change 544224 merged by MaxSem:
[mediawiki/extensions/SemanticSifter@master] Drop PHPUnit4 compat

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

Change 565263 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Scribunto@master] Preparation for PHPUnit 8 migration

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

Change 565329 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Wikidata.org@master] Make tests pass on PHPUnit 8

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

Change 565263 merged by jenkins-bot:
[mediawiki/extensions/Scribunto@master] Make tests pass on PHPUnit 8

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

Change 565329 merged by jenkins-bot:
[mediawiki/extensions/Wikidata.org@master] Make tests pass on PHPUnit 8

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

Change 565377 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/WikibaseLexeme@master] Make tests pass on PHPUnit 8

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

Change 551885 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Preparation for PHPUnit 8 migration

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

Change 565377 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Make tests pass on PHPUnit 8

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

Change 565580 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/PropertySuggester@master] Make tests pass on PHPUnit 8

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

Change 565599 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/core@master] PasswordFactoryTest: assertArraySubset() is dprecated

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

Change 565580 merged by jenkins-bot:
[mediawiki/extensions/PropertySuggester@master] Make tests pass on PHPUnit 8

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

Change 565599 merged by jenkins-bot:
[mediawiki/core@master] PasswordFactoryTest: assertArraySubset() is deprecated

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

Change 565735 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/GeoData@master] assertEqualds() with delta is deprecated

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

Change 565735 merged by jenkins-bot:
[mediawiki/extensions/GeoData@master] assertEqualds() with delta is deprecated

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

Change 565740 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Wikibase@master] Use the right namespace for LanguageFactory

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

Change 565740 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Use the right namespace for LanguageFactory

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

Change 565782 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/MobileFrontend@master] Make tests pass with PHPUnit 8

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

Change 565785 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Flow@master] Fix PHPUnit 8 warnings

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

Change 565786 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Cite@master] Fix PHPUnit 8 warning

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

Change 565782 merged by jenkins-bot:
[mediawiki/extensions/MobileFrontend@master] Make tests pass with PHPUnit 8

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

Change 565831 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Babel@master] Fix PHPUnit 8 warnings

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

Change 565831 merged by jenkins-bot:
[mediawiki/extensions/Babel@master] Fix PHPUnit 8 warnings

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

Change 565980 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Wikibase@master] Fix some PHPUnit 8 warnings

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

Change 565785 merged by jenkins-bot:
[mediawiki/extensions/Flow@master] Fix PHPUnit 8 warnings

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

Change 565786 merged by jenkins-bot:
[mediawiki/extensions/Cite@master] Fix PHPUnit 8 warning

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

Change 565980 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Fix some PHPUnit 8 warnings

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

Change 566026 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Wikibase@master] Fix some more PHPUnit 8 warnings

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

Change 566030 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/FileImporter@master] Fix PHPUnit 8 warnings

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

Change 566033 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/EventLogging@master] Fix PHPUnit 8 warnings

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

Change 566055 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/CirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566057 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/AbuseFilter@master] Fix PHPUnit 8 warning

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

Change 566059 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/GeoData@master] Fix another PHPUnit 8 warning

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

Change 566061 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/WikibaseMediaInfo@master] Fix PHPUnit 8 warnings

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

Change 566030 merged by jenkins-bot:
[mediawiki/extensions/FileImporter@master] Fix PHPUnit 8 warnings

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

Change 566033 merged by jenkins-bot:
[mediawiki/extensions/EventLogging@master] Fix PHPUnit 8 warnings

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

Change 566057 merged by jenkins-bot:
[mediawiki/extensions/AbuseFilter@master] Fix PHPUnit 8 warning

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

Change 566059 merged by jenkins-bot:
[mediawiki/extensions/GeoData@master] Fix another PHPUnit 8 warning

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

Change 566055 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566061 merged by jenkins-bot:
[mediawiki/extensions/WikibaseMediaInfo@master] Fix PHPUnit 8 warnings

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

Change 566026 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Fix some more PHPUnit 8 warnings

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

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

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

Change 566088 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/WikibaseCirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566094 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Wikibase@master] Hopefully fix the remaining PHPUnit 8 warnings

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

Change 566088 merged by jenkins-bot:
[mediawiki/extensions/WikibaseCirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566094 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Hopefully fix the remaining PHPUnit 8 warnings

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

Current status:

Sadly, there are other warnings in non-DB suites. In the unit tests suite:

11:38:12 1) CirrusSearch\HooksTest::testPrepareTitlesForLinksUpdate
11:38:12 The optional $canonicalize parameter of assertEquals() is deprecated and will be removed in PHPUnit 9. Refactor your test to use assertEqualsCanonicalizing() instead.
11:38:12 2) CirrusSearch\SuggestScoringTest::testQualityScoreWithRandomValues
11:38:12 The optional $delta parameter of assertEquals() is deprecated and will be removed in PHPUnit 9. Refactor your test to use assertEqualsWithDelta() instead.

And then 144 more warnings in the integration-without-DB suite. Luckily, 128 of those will be fixed by r566078.

  • There are still some uses of deprecated stuff left across the codebase, we need to push mediawiki-codesniffer 29.0.0 to more extensions (why didn't Libraryupgrader do it?)

According to the LibUp interface, there are 44 repos on 28.0.0, and 8 repos on <=26.0.0 (these are probably stalled for PHP compatibility...). I've skimmed the log files for some of those, but cannot see anything weird. Apparently, LibUp tries to do the upgrade, fixes what's to be fixed, git commit, and then it bails out without any apparent reason. CC @Legoktm ?

Change 566078 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Overhaul TimeParser tests

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

Change 566325 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/CirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566326 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Flow@master] Fix PHPUnit 8 warnings

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

Change 566328 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseCirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566329 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseMediaInfo@master] Fix PHPUnit 8 warnings

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

Change 566327 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Wikibase@master] Fix PHPUnit 8 warnings

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

Change 566328 merged by jenkins-bot:
[mediawiki/extensions/WikibaseCirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566325 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Fix PHPUnit 8 warnings

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

Change 566326 merged by jenkins-bot:
[mediawiki/extensions/Flow@master] Fix PHPUnit 8 warnings

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

Change 566333 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/WikibaseLexeme@master] Fix PHPUnit 8 warnings

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

Change 566329 merged by jenkins-bot:
[mediawiki/extensions/WikibaseMediaInfo@master] Fix PHPUnit 8 warnings

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

Change 566333 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Fix PHPUnit 8 warnings

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

Change 555752 merged by jenkins-bot:
[mediawiki/core@master] Remove phpunit/php-invoker from require-dev

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

Current status:

Quick update:

  1. Now the migration commit is really passing without warnings;
  2. We're still waiting for LibUp to complete its work, and for wikibase-codesniffer, and
  3. I believe we should finalize the upgrade as soon as (2.) is done. Chances are, for some repos PHPUnit will emit deprecation warnings (although it shouldn't fail hard). We should probably send a heads-up to wikitech-l about that, before upgrading.

Change 566327 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Fix PHPUnit 8 warnings

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

I don't think it's necessary to wait for Wikibase's codesniffer fork; they'll catch up soon enough when it becomes pressing. Most repos are now on 29.x. Let's just do it?

Yeah, time to pull the trigger.

Ha, I was being cautious, but I certainly don't oppose. As I said above, PHPUnit 8 won't fail hard for non-compliant repos. I can write down a couple of lines for wikitech-l as soon as the upgrade is complete.

Yeah, time to pull the trigger.

I've just taken the safety off.

Change 552312 merged by jenkins-bot:
[mediawiki/core@master] Upgrade to PHPUnit 8

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

Change 555913 merged by jenkins-bot:
[mediawiki/extensions/Echo@master] Remove hack for PHPUnit's Stub interface

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

Change 566786 had a related patch set uploaded (by Daimona Eaytoy; owner: Daimona Eaytoy):
[mediawiki/extensions/Scribunto@master] Kill hack for the PHPUnit migration

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

Change 566786 merged by jenkins-bot:
[mediawiki/extensions/Scribunto@master] Kill hack for the PHPUnit migration

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