Closed Bug 1500019 Opened 7 years ago Closed 7 years ago

Intermittent devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js | Last rule name is font-weight - Got border-collapse, expected font-weight

Categories

(DevTools :: Inspector: Rules, defect, P5)

defect

Tracking

(firefox64 fixed, firefox65 fixed)

RESOLVED FIXED
Firefox 65
Tracking Status
firefox64 --- fixed
firefox65 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: pbro)

References

Details

(Keywords: intermittent-failure, Whiteboard: [retriggered][stockwell disable-recommended])

Attachments

(1 file)

Filed by: aciure [at] mozilla.com https://treeherder.mozilla.org/logviewer.html#?job_id=206301198&repo=mozilla-inbound https://queue.taskcluster.net/v1/task/NzHSTXAMRoaCoWimRmGGTg/runs/0/artifacts/public/logs/live_backing.log 07:14:50 INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js | Last rule value is bold - 07:14:50 INFO - Buffered messages finished 07:14:50 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js | Last rule name is font-weight - Got border-collapse, expected font-weight 07:14:50 INFO - Stack trace: 07:14:50 INFO - chrome://mochikit/content/browser-test.js:test_is:1295 07:14:50 INFO - chrome://mochitests/content/browser/devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js:checkPropertyOnAllRules:41 07:14:50 INFO - chrome://mochitests/content/browser/devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js:null:24 07:14:50 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1093 07:14:50 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1084 07:14:50 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:986 07:14:50 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 07:14:50 INFO - Not taking screenshot here: see the one that was previously logged 07:14:50 INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js | Last rule value is bold - Got collapse, expected bold 07:14:50 INFO - Stack trace: 07:14:50 INFO - chrome://mochikit/content/browser-test.js:test_is:1295 07:14:50 INFO - chrome://mochitests/content/browser/devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js:checkPropertyOnAllRules:42 07:14:50 INFO - chrome://mochitests/content/browser/devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js:null:24 07:14:50 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1093 07:14:50 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1084 07:14:50 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:986 07:14:50 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795 07:14:50 INFO - Leaving test bound 07:14:50 INFO - GECKO(5424) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT" 07:14:50 INFO - GECKO(5424) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT" 07:14:51 INFO - Removing tab. 07:14:51 INFO - Waiting for event: 'TabClose' on [object XULElement]. 07:14:51 INFO - Got event: 'TabClose' on [object XULElement]. 07:14:51 INFO - Tab removed and finished closing 07:14:51 INFO - GECKO(5424) | MEMORY STAT | vsize 1786MB | vsizeMaxContiguous 132583453MB | residentFast 321MB | heapAllocated 136MB 07:14:51 INFO - TEST-OK | devtools/client/inspector/rules/test/browser_rules_add-property-and-reselect.js | took 1897ms
Here's what I managed to figure out so far: - in setPropertyOnAllRules, the test iterates over all rules currently displayed - somewhere in there, the layout-view initializes, and that somehow causes the array of rules to be reset - so the for loop exits early before having iterated over all rules - therefore when we go to checkPropertyOnAllRules that fails because not all rules have been edited as expected. So we need to find out why loading the Layout view resets the number of rules in _elementStyle. Also, a fix for this test could be to explicitly wait for the Layout view to be fully loaded before starting.
I think I understand what is going on: the fact that the Layout panel is visible by default means that we now have the ReflowTracker started by default. And that causes the rule-view to refresh entirely after the first element-style rule has been updated. So the list of rules is reset. So we need to make sure the first rule (element-style) is updated first, separately, and wait for the event that signals that the rule-view has been refreshed. And then proceed to update the other rules.
Assignee: nobody → pbrosset
Status: NEW → ASSIGNED
Try push with my patch and with many retriggers seems to show this is successfully fixed: https://treeherder.mozilla.org/#/jobs?repo=try&revision=2158166b9339be571bcfbf17db3a8ed4588cd669&group_state=expanded
Pushed by pbrosset@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/506fe32bb763 Wait for the inline-style rule to be updated before proceeding; r=gl
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
Flags: needinfo?(gl)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: