Closed Bug 1173490 Opened 11 years ago Closed 11 years ago

Race conditions browser/devtools/markupview/test/browser_markupview_search_01.js

Categories

(DevTools :: Inspector, defect)

defect
Not set
normal

Tracking

(firefox41 fixed)

RESOLVED FIXED
Firefox 41
Tracking Status
firefox41 --- fixed

People

(Reporter: djvj, Assigned: pbro)

References

Details

Attachments

(1 file)

Working through the test ' browser/devtools/markupview/test/browser_markupview_search_01.js', it seems pretty clear that the test has some inbuilt race conditions. The test itself does a bunch of 'searchUsingSelectorSearch' invocations, waits for an 'inspector-updated' event, and then ensures that the correct element was selected. This fails due to races where some unrelated 'inspector-updated' fires (sometimes a 'delayed' one from an earlier set of actions), causing the wait to terminate early, and the check to fail. The tests can be made to succeed reliably by inserting delays in the appropriate places (in between invoking changes and checking for them). The test fail reliably on a linux 64-bit debug build of tip (tried on several different revisions over the course of 2 weeks): 45 INFO TEST-UNEXPECTED-FAIL | browser/devtools/markupview/test/browser_markupview_search_01.js | The <em> tag is now imported in the markup-view - Stack trace: chrome://mochitests/content/browser/browser/devtools/markupview/test/browser_markupview_search_01.js:null:33 self-hosted:InterpretGeneratorResume:716 self-hosted:next:624 Tester_execTest@chrome://mochikit/content/browser-test.js:741:9 Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:664:7 SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:746:59 46 INFO TEST-UNEXPECTED-FAIL | browser/devtools/markupview/test/browser_markupview_search_01.js | The <li> tag is the currently selected node - Got [Front for domnode/server1.conn0.domnode35], expected [Front for domnode/server1.conn0.domnode36] Stack trace: chrome://mochikit/content/browser-test.js:test_is:925 chrome://mochitests/content/browser/browser/devtools/markupview/test/browser_markupview_search_01.js:null:46 self-hosted:InterpretGeneratorResume:716 self-hosted:next:624 Tester_execTest@chrome://mochikit/content/browser-test.js:741:9 Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:664:7 SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:746:59 SUITE-END | took 19s This is blocking landing of patches in bug 1167409, because those patches cause these tests to orange on try, but that's incidental (they're just triggering pre-existing races). Could you look into fixing them?
Flags: needinfo?(pbrosset)
Currently applying the patches from bug 1167409 and debugging the test locally to see what even we could wait for to make sure the test doesn't fail.
Flags: needinfo?(pbrosset)
Ok, I got the test to fail pretty reliably locally with the patches from bug 1167409 applied, and I found a fix for it. Waiting for the new-node-front event before the inspector-updated event does the trick.
Assignee: nobody → pbrosset
Status: NEW → ASSIGNED
r=me this straightforward test only change. Pending try build: https://treeherder.mozilla.org/#/jobs?repo=try&revision=0b207819ad3b
Attachment #8621585 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 41
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: