Page MenuHomePhabricator

Explicitly requiring a dependency on another extension will always cause tests to fail
Closed, InvalidPublic

Description

Having an extension explicitly require a dependency on another extension will always cause the main test build to fail (the specific test in context that makes it fail is mwext-testextension-hhvm-jessie), with a message that goes X requires Y to be installed.

Obviously that's the point, so having this message in Gerrit specifically will be annoying, because it'll cause any future patches to fail the test build even if it's totally fine.

An example of this is https://gerrit.wikimedia.org/r/#/c/390847/, which makes SpamDiffTool explicitly depend on SpamBlacklist. The patch itself is fine, but the main test build will still fail anyways. Would it be possible to have this message somehow ignored just on Gerrit?

00:36:23 Fatal error: Uncaught exception 'Exception' with message 'SpamDiffTool requires SpamBlacklist to be installed.' in /home/jenkins/workspace/mwext-testextension-hhvm-jessie/src/includes/registration/ExtensionRegistry.php:261
00:36:23 Stack trace:
00:36:23 #0 /home/jenkins/workspace/mwext-testextension-hhvm-jessie/src/includes/registration/ExtensionRegistry.php(148): ExtensionRegistry->readFromQueue()
00:36:23 #1 /home/jenkins/workspace/mwext-testextension-hhvm-jessie/src/includes/Setup.php(116): ExtensionRegistry->loadFromQueue()
00:36:23 #2 /home/jenkins/workspace/mwext-testextension-hhvm-jessie/src/maintenance/doMaintenance.php(82): include()
00:36:23 #3 /home/jenkins/workspace/mwext-testextension-hhvm-jessie/src/maintenance/update.php(229): include()
00:36:23 #4 {main}
00:36:23 Build step 'Execute shell' marked build as failure
00:36:24 Recording test results
00:36:24 ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
00:36:24 [PostBuildScript] - Execution post build scripts.
00:36:24 [PostBuildScript] Build is not success : do not execute script
00:36:24 Archiving artifacts
00:36:24 Finished: FAILURE