Seen on https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/812492
https://integration.wikimedia.org/ci/job/quibble-vendor-mysql-php72-noselenium-docker/162721/console
02:08:31 There was 1 error: 02:08:31 02:08:31 1) ParserIntegrationTest::testParse with data set "citeParserTests.txt: Simple <ref>, no <references/>" ('legacy') 02:08:31 Error: Call to a member function getTemplateIds() on null in /workspace/src/extensions/FlaggedRevs/backend/FlaggedRevs.php:751 02:08:31 Stack trace: 02:08:31 #0 /workspace/src/extensions/FlaggedRevs/backend/FlaggedRevsHooks.php(507): FlaggedRevs::autoReviewEdit(Object(FlaggableWikiPage), Object(User), Object(MediaWiki\Revision\RevisionStoreRecord), Array) 02:08:31 #1 /workspace/src/includes/HookContainer/HookContainer.php(338): FlaggedRevsHooks::maybeMakeEditReviewed(Object(WikiPage), Object(MediaWiki\Revision\RevisionStoreRecord), false, Object(User), Array) 02:08:31 #2 /workspace/src/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook('RevisionFromEdi...', Array, Array, Array) 02:08:31 #3 /workspace/src/includes/HookContainer/HookRunner.php(3209): MediaWiki\HookContainer\HookContainer->run('RevisionFromEdi...', Array) 02:08:31 #4 /workspace/src/includes/Storage/PageUpdater.php(1538): MediaWiki\HookContainer\HookRunner->onRevisionFromEditComplete(Object(WikiPage), Object(MediaWiki\Revision\RevisionStoreRecord), false, Object(User), Array) 02:08:31 #5 /workspace/src/includes/Storage/PageUpdater.php(942): MediaWiki\Storage\PageUpdater->doCreate(Object(CommentStoreComment)) 02:08:31 #6 /workspace/src/includes/page/WikiPage.php(1905): MediaWiki\Storage\PageUpdater->saveRevision(Object(CommentStoreComment), 137) 02:08:31 #7 /workspace/src/tests/parser/ParserTestRunner.php(2541): WikiPage->doUserEditContent(Object(WikitextContent), Object(User), Object(CommentStoreComment), 137) 02:08:31 #8 /workspace/src/tests/parser/ParserTestRunner.php(2440): ParserTestRunner->addArticle('Template:nested...', '<ref><ref name=...', '/workspace/src/...', 2249) 02:08:31 #9 /workspace/src/tests/phpunit/suites/ParserTestFileSuite.php(59): ParserTestRunner->addArticles(Array) 02:08:31 #10 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php(34): ParserTestFileSuite->setUp() 02:08:31 #11 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(619): ParserTestFileSuite->run(Object(PHPUnit\Framework\TestResult)) 02:08:31 #12 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php(69): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) 02:08:31 #13 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(619): ParserTestTopLevelSuite->run(Object(PHPUnit\Framework\TestResult)) 02:08:31 #14 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(619): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) 02:08:31 #15 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(659): PHPUnit\Framework\TestSuite->run(Object(PHPUnit\Framework\TestResult)) 02:08:31 #16 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(235): PHPUnit\TextUI\TestRunner->doRun(Object(PHPUnit\Framework\TestSuite), Array, Array, true) 02:08:31 #17 /workspace/src/tests/phpunit/phpunit.php(101): PHPUnit\TextUI\Command->run(Array, true) 02:08:31 #18 /workspace/src/tests/phpunit/phpunit.php(153): PHPUnitMaintClass->execute() 02:08:31 #19 {main} 02:08:31 -- 02:08:31 02:08:31 There were 6 failures: 02:08:31 02:08:31 1) ParserIntegrationTest::testParse with data set "legacyMediaParserTests.txt: Bad images - basic functionality" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 -'<p><a href="/wiki/File:Bad.jpg" title="File:Bad.jpg">File:Bad.jpg</a>\n 02:08:31 +'<p><a href="/wiki/File:Bad.jpg" class="image"><img alt="Bad.jpg" src="http://example.com/images/0/09/Bad.jpg" decoding="async" width="320" height="240" /></a>\n 02:08:31 </p>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running Bad images - basic functionality {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 === 02:08:31 02:08:31 2) ParserIntegrationTest::testParse with data set "legacyMediaParserTests.txt: Bad images - T18039: text after bad image disappears" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 '<p>Foo bar\n 02:08:31 -<a href="/wiki/File:Bad.jpg" title="File:Bad.jpg">File:Bad.jpg</a>\n 02:08:31 +<a href="/wiki/File:Bad.jpg" class="image"><img alt="Bad.jpg" src="http://example.com/images/0/09/Bad.jpg" decoding="async" width="320" height="240" /></a>\n 02:08:31 Bar foo\n 02:08:31 </p>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running Bad images - T18039: text after bad image disappears {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 === 02:08:31 02:08:31 3) ParserIntegrationTest::testParse with data set "legacyMediaParserTests.txt: Bad images - in gallery" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 '<ul class="gallery mw-gallery-traditional">\n 02:08:31 <li class="gallerybox" style="width: 155px"><div style="width: 155px">\n 02:08:31 - <div class="thumb" style="height: 150px;"><a href="/wiki/File:Bad.jpg" title="File:Bad.jpg">Bad.jpg</a></div>\n 02:08:31 + <div class="thumb" style="width: 150px;"><div style="margin:30px auto;"><a href="/wiki/File:Bad.jpg" class="image"><img alt="Bad.jpg" src="http://example.com/images/thumb/0/09/Bad.jpg/120px-Bad.jpg" decoding="async" width="120" height="90" srcset="http://example.com/images/thumb/0/09/Bad.jpg/180px-Bad.jpg 1.5x, http://example.com/images/thumb/0/09/Bad.jpg/240px-Bad.jpg 2x" /></a></div></div>\n 02:08:31 <div class="gallerytext">\n 02:08:31 </div>\n 02:08:31 </div></li>\n 02:08:31 </ul>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running Bad images - in gallery {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] ImageGalleryBase::factory called without context. Using RequestContext::getMain() {"private":false} 02:08:31 [wfDebug] [debug] ImageGallery::add Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/120px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/180px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/240px-Bad.jpg {"private":false} 02:08:31 === 02:08:31 02:08:31 4) ParserIntegrationTest::testParse with data set "mediaParserTests.txt: Bad images - basic functionality" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 -'<p><a href="/wiki/File:Bad.jpg" title="File:Bad.jpg">File:Bad.jpg</a>\n 02:08:31 +'<p><span class="mw-default-size" typeof="mw:File"><a href="/wiki/File:Bad.jpg" class="mw-file-description"><img alt="Bad.jpg" src="http://example.com/images/0/09/Bad.jpg" decoding="async" width="320" height="240" /></a></span>\n 02:08:31 </p>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running # FIXME: Legacy output doesn't match ParsoidBad images - basic functionality {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 === 02:08:31 02:08:31 5) ParserIntegrationTest::testParse with data set "mediaParserTests.txt: Bad images - T18039: text after bad image disappears" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 '<p>Foo bar\n 02:08:31 -<a href="/wiki/File:Bad.jpg" title="File:Bad.jpg">File:Bad.jpg</a>\n 02:08:31 +<span class="mw-default-size" typeof="mw:File"><a href="/wiki/File:Bad.jpg" class="mw-file-description"><img alt="Bad.jpg" src="http://example.com/images/0/09/Bad.jpg" decoding="async" width="320" height="240" /></a></span>\n 02:08:31 Bar foo\n 02:08:31 </p>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running # FIXME: Legacy output doesn't match ParsoidBad images - T18039: text after bad image disappears {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/320px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] MockImageHandler::doFakeTransform: returning unscaled image {"private":false} 02:08:31 === 02:08:31 02:08:31 6) ParserIntegrationTest::testParse with data set "mediaParserTests.txt: Bad images - in gallery" ('legacy') 02:08:31 Failed asserting that two strings are equal. 02:08:31 --- Expected 02:08:31 +++ Actual 02:08:31 @@ @@ 02:08:31 '<ul class="gallery mw-gallery-traditional">\n 02:08:31 <li class="gallerybox" style="width: 155px">\n 02:08:31 - <div class="thumb" style="height: 150px;"><span typeof="mw:Error mw:File"><a href="/index.php?title=Special:Upload&wpDestFile=Bad.jpg" class="new" title="File:Bad.jpg"><span class="mw-broken-media" data-width="120" data-height="120">File:Bad.jpg</span></a></span></div>\n 02:08:31 + <div class="thumb" style="width: 150px; height: 150px;"><span typeof="mw:File"><a href="/wiki/File:Bad.jpg" class="mw-file-description"><img alt="Bad.jpg" src="http://example.com/images/thumb/0/09/Bad.jpg/120px-Bad.jpg" decoding="async" width="120" height="90" srcset="http://example.com/images/thumb/0/09/Bad.jpg/180px-Bad.jpg 1.5x, http://example.com/images/thumb/0/09/Bad.jpg/240px-Bad.jpg 2x" /></a></span></div>\n 02:08:31 <div class="gallerytext">\n 02:08:31 </div>\n 02:08:31 </li>\n 02:08:31 </ul>' 02:08:31 02:08:31 /workspace/src/tests/phpunit/suites/ParserIntegrationTest.php:68 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 /workspace/src/tests/phpunit/suites/SuiteEventsTrait.php:69 02:08:31 === Logs generated by test case 02:08:31 [wfDebug] [debug] ParserTestRunner::runLegacyTest: running Bad images - in gallery {"private":false} 02:08:31 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false} 02:08:31 [wfDebug] [debug] ImageGalleryBase::factory called without context. Using RequestContext::getMain() {"private":false} 02:08:31 [wfDebug] [debug] ImageGallery::add Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/120px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/180px-Bad.jpg {"private":false} 02:08:31 [wfDebug] [debug] File::transform: Doing stat for mwstore://local-backend/local-thumb/0/09/Bad.jpg/240px-Bad.jpg {"private":false}