Page MenuHomePhabricator

Make it possible to run Cite tests without VisualEditor or WikiEditor
Closed, ResolvedPublic

Description

When running QUnit tests or MediaWiki/core ResourcesTest for the Cite extension I get failures:

QUnit
Error: Unknown module: ext.visualEditor.base
1) ResourcesTest::testValidDependencies
Dependencies that do not exist
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     'ext.cite.visualEditor' => Array (
+        0 => 'ext.visualEditor.base'
+        1 => 'ext.visualEditor.mediawiki'
+        2 => 'ext.visualEditor.mwcore'
+        3 => 'ext.visualEditor.mwtransclusion'
     )
     'ext.cite.wikiEditor' => Array (
+        0 => 'ext.wikiEditor'
     )
     'test.Cite' => Array (
+        0 => 'test.VisualEditor'
     )
 )

My aim would be, for CI, to avoid adding VisualEditor and WikiEditor when an extension depends solely on Cite.

See also T404790 T403315

This was fixed by making the resource loader module registration optional: https://gerrit.wikimedia.org/r/1198989 The build then fails further when running the Cypress integration tests:

Running:  ve-cite/reuseRefs.cy.js
1) Re-using refs in Visual Editor
      AssertionError: Timed out retrying after 20000ms: Expected to find element: `.ve-init-mw-desktopArticleTarget-toolbar-open`, but never found it.

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/CiteREL1_43+24 -1
mediawiki/extensions/Citemaster+31 -0
mediawiki/extensions/CiteREL1_45+24 -1
mediawiki/extensions/CiteREL1_44+24 -1
mediawiki/extensions/CiteREL1_43+27 -23
mediawiki/extensions/CiteREL1_43+36 -8
mediawiki/extensions/CiteREL1_43+130 -122
integration/configmaster+3 -3
mediawiki/extensions/CiteREL1_44+131 -123
mediawiki/extensions/CiteREL1_43+55 -40
mediawiki/extensions/CiteREL1_43+29 -0
mediawiki/extensions/CiteREL1_44+29 -0
mediawiki/extensions/CiteREL1_45+29 -0
mediawiki/extensions/CiteREL1_45+138 -131
mediawiki/extensions/CiteREL1_44+52 -39
mediawiki/extensions/CiteREL1_44+15 -4
mediawiki/extensions/CiteREL1_44+30 -23
mediawiki/extensions/CiteREL1_44+36 -8
mediawiki/extensions/Citemaster+29 -0
mediawiki/extensions/Citemaster+56 -38
mediawiki/extensions/Citemaster+223 -188
mediawiki/extensions/Citemaster+9 -6
mediawiki/extensions/Citemaster+139 -132
mediawiki/extensions/Citemaster+11 -4
mediawiki/extensions/Citemaster+36 -8
mediawiki/extensions/Citemaster+34 -27
Show related patches Customize query in gerrit

Event Timeline

Change #1193400 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] Extend addOptionalDependencies to extend any property

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

Change #1193402 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] Only run VisualEditor QUnit tests when it is loaded

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

Change #1193421 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] Inject ExtensionRegistry in ReferencePreviewsHooks

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

Change #1193422 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] Only enable WikiEditor integration when it is loaded

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

Change #1193400 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Extend addOptionalDependencies to extend any property

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

Change #1193402 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Only run VisualEditor QUnit tests when it is loaded

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

Change #1193421 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Inject ExtensionRegistry in ReferencePreviewsHooks

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

Change #1193422 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Only enable WikiEditor integration when it is loaded

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

That is solved for master, I am not sure whether I will backport the 4 patches to the other branches. I am keeping the task open for now.

Change #1198989 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] Only enable VisualEditor integration when it is loaded

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

Change #1198989 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Only enable VisualEditor integration when it is loaded

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

Change #1211661 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Move unrelated hook handlers out of ReferencePreviews class

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

Change #1212090 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Inject ExtensionRegistry as service into CiteHooks

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

Change #1212090 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Inject ExtensionRegistry as service into CiteHooks

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

Change #1213500 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] [cypress] skip tests when VisualEditor is not loaded

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

Change #1213500 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] [cypress] skip tests when VisualEditor is not loaded

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

Change #1211661 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Move unrelated hook handlers out of ReferencePreviews class

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

Change #1214037 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] [cypress] skip tests when VisualEditor is not loaded

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

Change #1214038 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] [cypress] skip tests when VisualEditor is not loaded

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

Change #1214039 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_45] [cypress] skip tests when VisualEditor is not loaded

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

Change #1214040 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_45] Only enable VisualEditor integration when it is loaded

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

Change #1214043 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] Only enable VisualEditor integration when it is loaded

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

Change #1214054 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] Only enable WikiEditor integration when it is loaded

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

Change #1214058 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] Extend addOptionalDependencies to extend any property

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

Change #1214059 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] Only run VisualEditor QUnit tests when it is loaded

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

Change #1214062 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] Inject ExtensionRegistry in ReferencePreviewsHooks

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

Change #1214062 abandoned by Hashar:

[mediawiki/extensions/Cite@REL1_44] Inject ExtensionRegistry in ReferencePreviewsHooks

Reason:

That should be done in `CiteHooks`

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

Change #1214068 had a related patch set uploaded (by Hashar; author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@REL1_44] Inject ExtensionRegistry as service into CiteHooks

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

Change #1214456 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] Zuul: [mediawiki/extensions/Popups] disable recursion

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

Change #1214058 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] Extend addOptionalDependencies to extend any property

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

Change #1214059 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] Only run VisualEditor QUnit tests when it is loaded

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

Change #1214068 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] Inject ExtensionRegistry as service into CiteHooks

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

Change #1214054 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] Only enable WikiEditor integration when it is loaded

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

Change #1214040 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_45] Only enable VisualEditor integration when it is loaded

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

Change #1214039 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_45] [cypress] skip tests when VisualEditor is not loaded

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

Change #1214038 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] [cypress] skip tests when VisualEditor is not loaded

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

Change #1214037 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] [cypress] skip tests when VisualEditor is not loaded

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

Change #1220011 had a related patch set uploaded (by Umherirrender; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] Only enable WikiEditor integration when it is loaded

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

Change #1220011 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] Only enable WikiEditor integration when it is loaded

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

Change #1214043 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_44] Only enable VisualEditor integration when it is loaded

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

All patches have been backported. Cite tests no more depends on VisualEditor or WikiEditor in order to pass.

Change #1214456 merged by jenkins-bot:

[integration/config@master] Zuul: disable recursion after Cite got fixed

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

Change #1228447 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] Only enable VisualEditor integration when it is loaded

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

Change #1228482 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] Extend addOptionalDependencies to extend any property

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

Change #1228483 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] Only run VisualEditor QUnit tests when it is loaded

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

Change #1228447 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] Only enable VisualEditor integration when it is loaded

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

Change #1228482 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] Extend addOptionalDependencies to extend any property

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

Change #1228483 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] Only run VisualEditor QUnit tests when it is loaded

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

I got REL1_43 fixed as well :-]

Change #1233713 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_43] tests: VE module is loaded when VisualEditor is loaded

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

Change #1233732 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_44] tests: test loading VE integration separately

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

Change #1233733 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@REL1_45] tests: test loading VE integration separately

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

Change #1233734 had a related patch set uploaded (by Hashar; author: Hashar):

[mediawiki/extensions/Cite@master] tests: test loading VE integration separately

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

Change #1233732 abandoned by Hashar:

[mediawiki/extensions/Cite@REL1_44] tests: test loading VE integration separately

Reason:

This is not needed on REL1_44 since the test mocks `ExtensionRegistry->isLoaded()`

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

Change #1233733 abandoned by Hashar:

[mediawiki/extensions/Cite@REL1_45] tests: test loading VE integration separately

Reason:

This is not needed on REL1_45 since the test mocks `ExtensionRegistry->isLoaded()`

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

Change #1233734 abandoned by Hashar:

[mediawiki/extensions/Cite@master] tests: test loading VE integration separately

Reason:

This is not needed on master since the test mocks `ExtensionRegistry->isLoaded()`

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

Change #1233713 merged by jenkins-bot:

[mediawiki/extensions/Cite@REL1_43] tests: test loading VE integration separately

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