Last modified: 2014-10-08 21:32:52 UTC
Empty change: https://gerrit.wikimedia.org/r/#/c/165448/ Systematic cryptic failure: https://integration.wikimedia.org/ci/job/mwext-ImageMetrics-qunit/6/consoleFull Can't reproduce locally, those tests work just fine. I think that jenkins qunit actually always failed for that extension, ever since it was turned on: https://gerrit.wikimedia.org/r/#/c/164427/
With all the qunit tests of that extension manually commented out, it still fails the same way.
Change 165455 had a related patch set uploaded by Hashar: Disable voting for mwext-ImageMetrics-qunit https://gerrit.wikimedia.org/r/165455
Change 165455 merged by jenkins-bot: Disable voting for mwext-ImageMetrics-qunit https://gerrit.wikimedia.org/r/165455
Change 165456 had a related patch set uploaded by Hashar: ImageMetrics depends on EventLogging https://gerrit.wikimedia.org/r/165456
Change 165457 had a related patch set uploaded by Hashar: Revert "Disable voting for mwext-ImageMetrics-qunit" https://gerrit.wikimedia.org/r/165457
Change 165456 merged by jenkins-bot: ImageMetrics depends on EventLogging https://gerrit.wikimedia.org/r/165456
Change 165457 merged by jenkins-bot: Revert "Disable voting for mwext-ImageMetrics-qunit" https://gerrit.wikimedia.org/r/165457
Turns out the qunit test for ImageMetrics hit some EventLogging web service. Since EventLogging was not installed as a dependency that caused the nasty error. The PHPUnit test suite properly mock EventLogging (though it now has the extension cloned as well). The qunit part might need to mock the EventLogging service as well but I am not sure whether we have any code for that already. Might not be worth the effort. Current status: * Test is voting and passing now * EventLogging is fetched as a dependency for both PHPUnit and Qunit jobs.
We mock qunit manually in the tests but the way Special:JavaScriptTest works is that it loads the live code and then loads the test code, and the live code has an onload handler doing actual logging. We could add a condition to check the page name and ignore Special:JavaScriptTest, I guess.
Or we can just be lazy and ignore that. The tests work, there should be no practical disadvantage of the current setup.