Closed Bug 1011652 Opened 11 years ago Closed 11 years ago

mochitest-devtools fails when shared and tilt folders are run together

Categories

(DevTools :: Framework, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 32

People

(Reporter: bgrins, Assigned: bgrins)

References

Details

Attachments

(1 file, 3 obsolete files)

Still trying to narrow down the cause, but I get a failure: 9:16.85 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/tilt/test/browser_tilt_02_notifications-seq.js | uncaught exception - TypeError: this.telemetryInfo is undefined at chrome://mochitests/content/browser/browser/devtools/shared/test/browser_telemetry_button_paintflashing.js:21 This is blocking itchpad from landing, as the new folder changes the chunking to run these tests together on windows and osx: https://tbpl.mozilla.org/?tree=Try&rev=c96e4a3fa349.
Attached patch less-tests.patch (obsolete) — Splinter Review
quick patch to speed up the failure by removing tests in between shared/ and tilt/
Narrowed this down the smallest range of tests that still causes the failure: --start-at=browser/devtools/shared/test/browser_telemetry_toolboxtabs_webconsole.js --end-at=browser/devtools/tilt/test/browser_tilt_02_notifications-seq.js
Summary: mochitest-devtools fails with --start-at=browser/devtools/shared/test/browser_css_color.js --end-at=browser/devtools/tilt/test/browser_tilt_zoom.js → mochitest-devtools fails with --start-at=browser/devtools/shared/test/browser_telemetry_toolboxtabs_webconsole.js --end-at=browser/devtools/tilt/test/browser_tilt_02_notifications-seq.js
What's weird is that the tilt test fails, but the error comes from shared/test/browser_telemetry_toolboxtabs_webconsole: 0:20.31 TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/devtools/tilt/test/browser_tilt_02_notifications-seq.js | uncaught exception - TypeError: this.telemetryInfo is undefined at chrome://mochitests/content/browser/browser/devtools/shared/test/browser_telemetry_toolboxtabs_webconsole.js:21
Attached patch telemetry-mochitest.patch (obsolete) — Splinter Review
Push with current chunking and this patch applied: https://tbpl.mozilla.org/?tree=Try&rev=103697536bfc Push with stubbed out itchpad folder (causes new chunking) and this patch applied: https://tbpl.mozilla.org/?tree=Try&rev=197096e304e3
Assignee: nobody → bgrinstead
Status: NEW → ASSIGNED
And finally, a push that includes the full itchpad patch: https://tbpl.mozilla.org/?tree=Try&rev=080a7ff5aecb
Comment on attachment 8424099 [details] [diff] [review] telemetry-mochitest.patch Review of attachment 8424099 [details] [diff] [review]: ----------------------------------------------------------------- Can you take a look at this? For some reason, trying to access this.telemetryInfo causes errors, but only when run in the same suite as Tilt. Catching the case where this.telemetryInfo is nonexistent and just returning fixes the error and doesn't cause any failures in the tests themselves.
Attachment #8424099 - Flags: review?(fayearthur)
My second push from Comment 4 has an error, best to see these two: This patch only on the current m-c: https://tbpl.mozilla.org/?tree=Try&rev=103697536bfc A push with this patch plus the new itchpad folder also: https://tbpl.mozilla.org/?tree=Try&rev=080a7ff5aecb
The only relation this bug has to itchpad is that landing a new folder starting with 'i' bumps the shared and tilt tests together (presumably) on windows and osx. If the new folder was called 'zpad' then this woudl not be a problem.
This patch fixes the failures, and doesn't cause any tests to be skipped. It is a workaround for a bug with the test suite that I'm not understanding, but Bug 992911 will likely fix the problem for good.
Attachment #8424099 - Flags: review?(fayearthur) → review+
OK, so I spent some more time looking at this just to make sure I understood what was going on. Since the test harness doesn't have access to the instances of the Telemetry objects, it modifies the prototype of the object to change the log function: http://dxr.mozilla.org/mozilla-central/source/browser/devtools/shared/test/browser_telemetry_sidebar.js#17. The problem is that tilt builds a new Telemetry instance on toolbox open (see [call stack]). This builds a new object with the modified prototype, so that when tries to log telemetry during the tilt test, we see the error. I can't think of an easy way around this since the tests doesn't which telemetry instances are logging - during the test you *do* want everything that got logged even if it didn't come from an instance you expect. I suspect this issue will be permanently resolved by Bug 992911, so I think this patch is an OK workaround in the interim. I'll update the patch with a comment indicating that it can be removed once 992911 lands. [call stack]: _vtools/tilt/tilt.js 98 Tilt _vtools/tilt/tilt.js 63 TiltManager.getTiltForBrowser _lt/tilt-commands.js 50 exports.items<.state.onChange _eveloperToolbar.jsm 151 CommandUtils.createButtons/< _eveloperToolbar.jsm 93 CommandUtils.createButtons _ramework/toolbox.js 542 Toolbox.prototype._buildButtons _ramework/toolbox.js 248 Toolbox.prototype.open/</domReady
Summary: mochitest-devtools fails with --start-at=browser/devtools/shared/test/browser_telemetry_toolboxtabs_webconsole.js --end-at=browser/devtools/tilt/test/browser_tilt_02_notifications-seq.js → mochitest-devtools fails when shared and tilt folders are run together
Attached patch telemetry-mochitest.patch (obsolete) — Splinter Review
Added comments with more info
Attachment #8424079 - Attachment is obsolete: true
Attachment #8424099 - Attachment is obsolete: true
Attachment #8424804 - Flags: review+
Missed one comment
Attachment #8424804 - Attachment is obsolete: true
Attachment #8424805 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 32
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: