Closed Bug 1600176 Opened 5 years ago Closed 5 years ago

ubuntu1804 - testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter - Got button,41,34, expected button,31,34

Categories

(Testing :: Mochitest, defect, P5)

Version 3
defect

Tracking

(firefox74 fixed)

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

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

References

Details

Attachments

(1 file, 2 obsolete files)

Filed by: egao [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=278675861&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/F7MzfuOOTzWSKwqE8XIzDw/runs/0/artifacts/public/logs/live_backing.log


suite: mochitest-browser-chrome
chunk: 1

context:
task 2019-11-28T21:21:46.984Z] 21:21:46 INFO - TEST-START | testing/mochitest/tests/browser/browser_BrowserTestUtils.js
[task 2019-11-28T21:21:47.530Z] 21:21:47 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-11-28T21:21:47.531Z] 21:21:47 INFO - Buffered messages logged at 21:21:46
[task 2019-11-28T21:21:47.531Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | I'm a test in head file -
[task 2019-11-28T21:21:47.532Z] 21:21:47 INFO - Entering test bound
[task 2019-11-28T21:21:47.532Z] 21:21:47 INFO - Buffered messages logged at 21:21:47
[task 2019-11-28T21:21:47.533Z] 21:21:47 INFO - Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html,<body onclick='document.getElementById("out").textContent = event.target.localName + "," + event.clientX + "," + event.clientY;' style='margin: 0'><button id='one' style='margin: 0; margin-left: 16px; margin-top: 14px; width: 30px; height: 40px;'>Test</button><div onmousedown='event.preventDefault()' style='margin: 0; width: 80px; height: 60px;'>Other</div><span id='out'></span></body>" line: 0}]
[task 2019-11-28T21:21:47.533Z] 21:21:47 INFO - Buffered messages finished
[task 2019-11-28T21:21:47.533Z] 21:21:47 INFO - TEST-UNEXPECTED-FAIL | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter - Got button,41,34, expected button,31,34
[task 2019-11-28T21:21:47.533Z] 21:21:47 INFO - Stack trace:
[task 2019-11-28T21:21:47.534Z] 21:21:47 INFO - chrome://mochikit/content/browser-test.js:test_is:1314
[task 2019-11-28T21:21:47.534Z] 21:21:47 INFO - chrome://mochitests/content/browser/testing/mochitest/tests/browser/browser_BrowserTestUtils.js:null:26
[task 2019-11-28T21:21:47.534Z] 21:21:47 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1069
[task 2019-11-28T21:21:47.535Z] 21:21:47 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1104
[task 2019-11-28T21:21:47.535Z] 21:21:47 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:932
[task 2019-11-28T21:21:47.535Z] 21:21:47 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:805
[task 2019-11-28T21:21:47.548Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouse -
[task 2019-11-28T21:21:47.549Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtPoint on body -
[task 2019-11-28T21:21:47.556Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtPoint on button -
[task 2019-11-28T21:21:47.564Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter with complex selector -
[task 2019-11-28T21:21:47.564Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter mousedown with complex selector -
[task 2019-11-28T21:21:47.565Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter mousedown with complex selector not cancelled -
[task 2019-11-28T21:21:47.573Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter mouseup with complex selector -
[task 2019-11-28T21:21:47.573Z] 21:21:47 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouseAtCenter mouseup with complex selector cancelled -
[task 2019-11-28T21:21:47.588Z] 21:21:47 INFO - Leaving test bound
[task 2019-11-28T21:21:47.590Z] 21:21:47 INFO - Entering test bound mouse_in_iframe
[task 2019-11-28T21:21:48.054Z] 21:21:48 INFO - Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html,<iframe style='margin: 30px;' src='data:text/html,<body onclick="document.body.lastChild.textContent = event.target.id;"> <p><button>One</button></p><p><button id="two">Two</button></p><p id="out"></p></body>'></iframe> <iframe style='margin: 10px;' src='data:text/html,<body onclick="document.body.lastChild.textContent = event.target.id;"> <p><button>Three</button></p><p><button id="four">Four</button></p><p id="out"></p></body>'></iframe>" line: 0}]
[task 2019-11-28T21:21:48.114Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouse -
[task 2019-11-28T21:21:48.135Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | synthesizeMouse -
[task 2019-11-28T21:21:48.156Z] 21:21:48 INFO - Leaving test bound mouse_in_iframe
[task 2019-11-28T21:21:48.156Z] 21:21:48 INFO - Entering test bound
[task 2019-11-28T21:21:48.516Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | Successfully created an about: page and loaded it. -
[task 2019-11-28T21:21:48.573Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | Successfully unregistered the about page. -
[task 2019-11-28T21:21:48.573Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | Should have returned a rejected promise trying to unregister an unknown about page -
[task 2019-11-28T21:21:48.574Z] 21:21:48 INFO - Leaving test bound
[task 2019-11-28T21:21:48.574Z] 21:21:48 INFO - Entering test bound testWaitForEvent
[task 2019-11-28T21:21:48.577Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | BrowserTestUtils.waitForEvent promise resolution handler shouldn't be called at this point. -
[task 2019-11-28T21:21:48.579Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | dummyevent listener should be called -
[task 2019-11-28T21:21:48.581Z] 21:21:48 INFO - Leaving test bound testWaitForEvent
[task 2019-11-28T21:21:48.581Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | I'm a cleanup function in head file -
[task 2019-11-28T21:21:48.582Z] 21:21:48 INFO - TEST-PASS | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | Head cleanup function scope is correct -
[task 2019-11-28T21:21:48.602Z] 21:21:48 INFO - GECKO(10558) | MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
[task 2019-11-28T21:21:48.602Z] 21:21:48 INFO - GECKO(10558) | MEMORY STAT | vsize 2819MB | residentFast 334MB | heapAllocated 142MB
[task 2019-11-28T21:21:48.602Z] 21:21:48 INFO - TEST-OK | testing/mochitest/tests/browser/browser_BrowserTestUtils.js | took 1610ms

:ahal - I see you're listed as the triage owner since the bug component is testing::mochitest; do you know who might know about this bug or file causing the bug, since I suspect this might be at the core of several failures I'm seeing in the mochitest suite.

Flags: needinfo?(ahal)

It looks like coordinates of mouse events are hardcoded into the expected results. Maybe since you are updating the OS things like title bars / borders could have different dimensions and these expectations need to be adjusted? Just a guess though.

The commit log for testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm shows :mconley is frequently a reviewer. Mike for context, this fails when upgrading the underlying operating system from Ubuntu 16.04 -> 18.04. Should we update the expectations? Or do you think something else might be going on here. Please delegate if needed.

Flags: needinfo?(ahal) → needinfo?(mconley)

Looks like the failure is at this expectation: https://searchfox.org/mozilla-central/rev/073b138dcba41cd3f858522e5f0a9ee73e39afa0/testing/mochitest/tests/browser/browser_BrowserTestUtils.js#26

Hey Neil, do you remember how you calculated those expectations? Is there a way we could make them adapt better to different desktop environments?

Flags: needinfo?(mconley) → needinfo?(enndeakin)

The element is: <button id='one' style='margin: 0; margin-left: 16px; margin-top: 14px; width: 30px; height: 40px;'>Test</button>

and the test is:

is(details, "button,31,34", "synthesizeMouseAtCenter");

31 would be the left margin of 16 plus half the element's width which would be 15 (16 + 15 = 31).

Is an extra border or padding being added on? Maybe from the native theme?

Find out for sure what component is being added, and you can just override it by setting the border or whatever it is that is different.

Flags: needinfo?(enndeakin)

(In reply to Neil Deakin from comment #5)

The element is: <button id='one' style='margin: 0; margin-left: 16px; margin-top: 14px; width: 30px; height: 40px;'>Test</button>

and the test is:

is(details, "button,31,34", "synthesizeMouseAtCenter");

31 would be the left margin of 16 plus half the element's width which would be 15 (16 + 15 = 31).

Is an extra border or padding being added on? Maybe from the native theme?

Find out for sure what component is being added, and you can just override it by setting the border or whatever it is that is different.

I know for certain that there is a top menu bar that is in the ubuntu1804 image, which is 27 pixels.

I am working to remove that top bar, because I assume the ubuntu1604 image also has had the top bar removed (somehow).

The other difference is the theme. I believe Ambiance is the theme for both 1804 and 1604, but the desktop environment is now GNOME instead of Unity. I wonder if the padding is slightly different because of this, but I do not have a specific number of pixels that I can provide.

Flags: needinfo?(enndeakin)

I know for certain that there is a top menu bar that is in the ubuntu1804 image, which is 27 pixels.

That isn't going to affect the size or position of the web page in any way.

The other difference is the theme. I believe Ambiance is the theme for both 1804 and 1604, but the desktop environment is now GNOME instead of Unity. I wonder if the padding is slightly different because of this, but I do not have a specific number of pixels that I can provide.

You could just look at the style properties in the developer tools inspector, or you can use getComputedStyle on the button. We can then trace through and find out what part is returning the different value. If it is a native theme issue, that code is in gtk3drawing.cpp

Flags: needinfo?(enndeakin)

I ran the test on my ubuntu1804 virtual machine, and the test results come back green:

worker@worker-VirtualBox:~/mozilla-central$ ./mach mochitest testing/mochitest/tests/browser/browser_BrowserTestUtils.js
 0:00.10 INFO Checking for ssltunnel processes...
 0:00.14 INFO Checking for xpcshell processes...
 0:00.20 SUITE_START: mochitest-browser - running 1 tests
 0:00.20 INFO Running manifest: testing/mochitest/tests/browser/browser.ini
pk12util: PKCS12 IMPORT SUCCESSFUL
 0:00.65 INFO MochitestServer : launching [u'/home/worker/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/xpcshell', '-g', u'/home/worker/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin', '-f', u'/home/worker/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/components/httpd.js', '-e', "const _PROFILE_PATH = '/tmp/tmpkeXrWM.mozrunner'; const _SERVER_PORT = '8888'; const _SERVER_ADDR = '127.0.0.1'; const _TEST_PREFIX = undefined; const _DISPLAY_RESULTS = false;", '-f', '/home/worker/mozilla-central/obj-x86_64-pc-linux-gnu/_tests/testing/mochitest/server.js']
 0:00.65 INFO runtests.py | Server pid: 32211
 0:00.70 INFO runtests.py | Websocket server pid: 32214
 0:00.82 INFO runtests.py | SSL tunnel pid: 32220
 0:00.97 INFO runtests.py | Running with scheme: http
 0:00.97 INFO runtests.py | Running with e10s: True
 0:00.97 INFO runtests.py | Running with fission: False
 0:00.97 INFO runtests.py | Running with serviceworker_e10s: True
 0:00.97 INFO runtests.py | Running with socketprocess_e10s: False
 0:00.97 INFO runtests.py | Running tests: start.

 0:01.02 INFO Application command: /home/worker/mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin/firefox -marionette -foreground -profile /tmp/tmpkeXrWM.mozrunner
 0:01.06 INFO runtests.py | Application pid: 32234
 0:01.06 Started process `GECKO(32234)`
 0:01.71 GECKO(32234) 1575416270787	addons.webextension.doh-rollout@mozilla.org	WARN	Loading extension 'doh-rollout@mozilla.org': Reading manifest: Invalid extension permission: networkStatus
 0:02.44 GECKO(32234) 1575416271514	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: mozillaAddons
 0:02.44 GECKO(32234) 1575416271514	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: telemetry
 0:02.44 GECKO(32234) 1575416271514	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: resource://pdf.js/
 0:02.44 GECKO(32234) 1575416271515	addons.webextension.screenshots@mozilla.org	WARN	Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid extension permission: about:reader*
 0:02.75 GECKO(32234) 1575416271833	Marionette	TRACE	Received observer notification profile-after-change
 0:02.87 GECKO(32234) 1575416271949	Marionette	TRACE	Received observer notification command-line-startup
 0:02.87 GECKO(32234) 1575416271950	Marionette	DEBUG	Init aborted (running=false, enabled=true, finalUIStartup=false)
 0:03.04 GECKO(32234) 1575416272116	Marionette	TRACE	Received observer notification toplevel-window-ready
 0:07.87 GECKO(32234) 1575416276945	Marionette	TRACE	Received observer notification marionette-startup-requested
 0:07.87 GECKO(32234) 1575416276946	Marionette	TRACE	Waiting until startup recorder finished recording startup scripts...
 0:07.96 GECKO(32234) 1575416277038	Marionette	TRACE	All scripts recorded.
 0:08.04 GECKO(32234) 1575416277119	Marionette	INFO	Listening on port 2828
 0:08.04 GECKO(32234) 1575416277119	Marionette	DEBUG	Marionette is listening
 0:08.12 GECKO(32234) 1575416277201	Marionette	DEBUG	Accepted connection 0 from 127.0.0.1:44634
 0:08.12 GECKO(32234) 1575416277204	Marionette	DEBUG	Accepted connection 1 from 127.0.0.1:44636
 0:08.13 GECKO(32234) 1575416277207	Marionette	DEBUG	Closed connection 0
 0:08.13 GECKO(32234) 1575416277211	Marionette	DEBUG	1 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
 0:08.30 GECKO(32234) 1575416277381	Marionette	TRACE	[4] Frame script loaded
 0:08.30 GECKO(32234) 1575416277382	Marionette	TRACE	[4] Frame script registered
 0:08.35 GECKO(32234) 1575416277428	Marionette	TRACE	[24] Frame script loaded
 0:08.35 GECKO(32234) 1575416277432	Marionette	DEBUG	1 <- [1,1,null,{"sessionId":"b6af3c96-fe63-4c51-a906-02138d259f84","capabilities":{"browserName":"firefox","browserVersion":"73.0a ... mp/tmpkeXrWM.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true}}]
 0:08.38 GECKO(32234) 1575416277457	Marionette	TRACE	[24] Frame script registered
 0:08.60 GECKO(32234) 1575416277674	Marionette	DEBUG	1 -> [0,2,"Addon:Install",{"path":"/tmp/tmp520G8k.zip","temporary":false}]
 0:08.85 GECKO(32234) 1575416277904	Marionette	DEBUG	1 <- [1,2,null,{"value":"special-powers@mozilla.org"}]
 0:08.93 GECKO(32234) 1575416278009	Marionette	DEBUG	1 -> [0,3,"Addon:Install",{"path":"/tmp/tmpAVyacp.zip","temporary":false}]
 0:09.03 GECKO(32234) 1575416278113	Marionette	DEBUG	1 <- [1,3,null,{"value":"mochikit@mozilla.org"}]
 0:09.03 GECKO(32234) 1575416278115	Marionette	DEBUG	1 -> [0,4,"Marionette:GetContext",{}]
 0:09.04 GECKO(32234) 1575416278117	Marionette	DEBUG	1 <- [1,4,null,{"value":"content"}]
 0:09.04 GECKO(32234) 1575416278121	Marionette	DEBUG	1 -> [0,5,"Marionette:SetContext",{"value":"chrome"}]
 0:09.04 GECKO(32234) 1575416278122	Marionette	DEBUG	1 <- [1,5,null,{"value":null}]
 0:09.05 GECKO(32234) 1575416278126	Marionette	DEBUG	1 -> [0,6,"WebDriver:ExecuteScript",{"script":"/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, ... "about:blank","flavor":"browser-chrome"}],"filename":"_tests/testing/mochitest/runtests.py","sandbox":"default","line":1770}]
 0:09.08 GECKO(32234) 1575416278160	Marionette	DEBUG	1 <- [1,6,null,{"value":null}]
 0:09.15 GECKO(32234) 1575416278232	Marionette	TRACE	Received observer notification toplevel-window-ready
 0:09.38 GECKO(32234) 1575416278457	Marionette	DEBUG	1 -> [0,7,"Marionette:SetContext",{"value":"content"}]
 0:09.38 GECKO(32234) 1575416278457	Marionette	DEBUG	1 <- [1,7,null,{"value":null}]
 0:09.44 GECKO(32234) 1575416278511	Marionette	DEBUG	1 -> [0,8,"WebDriver:DeleteSession",{}]
 0:09.44 GECKO(32234) 1575416278516	Marionette	DEBUG	1 <- [1,8,null,{"value":null}]
 0:09.44 INFO runtests.py | Waiting for browser...
 0:09.45 GECKO(32234) 1575416278524	Marionette	DEBUG	Closed connection 1
 0:09.89 INFO *** Start BrowserChrome Test Results ***
 0:10.15 INFO checking window state
 0:10.28 TEST_START: testing/mochitest/tests/browser/browser_BrowserTestUtils.js
 0:10.29 PASS I'm a test in head file - 
 0:10.29 INFO Entering test bound 
 0:11.56 INFO Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html,<body onclick='document.getElementById("out").textContent = event.target.localName + "," + event.clientX + "," + event.clientY;' style='margin: 0'><button id='one' style='margin: 0; margin-left: 16px; margin-top: 14px; width: 30px; height: 40px;'>Test</button><div onmousedown='event.preventDefault()' style='margin: 0; width: 80px; height: 60px;'>Other</div><span id='out'></span></body>" line: 0}]
 0:11.68 PASS synthesizeMouseAtCenter - 
 0:11.69 PASS synthesizeMouse - 
 0:11.74 PASS synthesizeMouseAtPoint on body - 
 0:11.76 PASS synthesizeMouseAtPoint on button - 
 0:11.79 PASS synthesizeMouseAtCenter with complex selector - 
 0:11.80 PASS synthesizeMouseAtCenter mousedown with complex selector - 
 0:11.80 PASS synthesizeMouseAtCenter mousedown with complex selector not cancelled - 
 0:11.81 PASS synthesizeMouseAtCenter mouseup with complex selector - 
 0:11.81 PASS synthesizeMouseAtCenter mouseup with complex selector cancelled - 
 0:11.86 INFO Leaving test bound 
 0:11.86 INFO Entering test bound mouse_in_iframe
 0:12.76 INFO Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html,<iframe style='margin: 30px;' src='data:text/html,<body onclick="document.body.lastChild.textContent = event.target.id;">     <p><button>One</button></p><p><button id="two">Two</button></p><p id="out"></p></body>'></iframe>     <iframe style='margin: 10px;' src='data:text/html,<body onclick="document.body.lastChild.textContent = event.target.id;">     <p><button>Three</button></p><p><button id="four">Four</button></p><p id="out"></p></body>'></iframe>" line: 0}]
 0:13.10 PASS synthesizeMouse - 
 0:13.17 PASS synthesizeMouse - 
 0:13.23 INFO Leaving test bound mouse_in_iframe
 0:13.24 INFO Entering test bound 
 0:13.73 PASS Successfully created an about: page and loaded it. - 
 0:13.81 PASS Successfully unregistered the about page. - 
 0:13.82 PASS Should have returned a rejected promise trying to unregister an unknown about page - 
 0:13.82 INFO Leaving test bound 
 0:13.82 INFO Entering test bound testWaitForEvent
 0:13.82 PASS BrowserTestUtils.waitForEvent promise resolution handler shouldn't be called at this point. - 
 0:13.83 PASS dummyevent listener should be called - 
 0:13.83 INFO Leaving test bound testWaitForEvent
 0:13.84 PASS I'm a cleanup function in head file - 
 0:13.84 PASS Head cleanup function scope is correct - 
 0:13.87 GECKO(32234) MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
 0:13.87 GECKO(32234) MEMORY STAT | vsize 2756MB | residentFast 298MB | heapAllocated 129MB
 0:13.87 TEST_END: Test OK. Subtests passed 19/19. Unexpected 0
 0:14.11 INFO checking window state
 0:16.18 GECKO(32234) Completed ShutdownLeaks collections in process 32398
 0:16.18 GECKO(32234) Completed ShutdownLeaks collections in process 32448
 0:16.19 GECKO(32234) Completed ShutdownLeaks collections in process 32366
 0:16.23 GECKO(32234) Completed ShutdownLeaks collections in process 32423
 0:16.31 GECKO(32234) Completed ShutdownLeaks collections in process 32324
 0:16.34 GECKO(32234) Completed ShutdownLeaks collections in process 32290
 0:16.82 GECKO(32234) Completed ShutdownLeaks collections in process 32234
 0:16.82 INFO TEST-START | Shutdown
 0:16.82 INFO Browser Chrome Test Summary
 0:16.82 INFO Passed:  19
 0:16.82 INFO Failed:  0
 0:16.82 INFO Todo:    0
 0:16.82 INFO Mode:    e10s
 0:16.82 INFO *** End BrowserChrome Test Results ***
 0:17.77 GECKO(32234) 1575416286846	Marionette	TRACE	Received observer notification xpcom-will-shutdown
 0:17.77 GECKO(32234) 1575416286848	Marionette	INFO	Stopped listening on port 2828
 0:17.77 GECKO(32234) 1575416286848	Marionette	DEBUG	Marionette stopped listening
 0:18.35 Main app process: exit 0
 0:18.35 INFO runtests.py | Application ran for: 0:00:17.335070
 0:18.35 INFO zombiecheck | Reading PID log: /tmp/tmpbo39dDpidlog
 0:18.36 INFO ==> process 32234 launched child process 32251
 0:18.36 INFO ==> process 32234 launched child process 32255
 0:18.36 INFO ==> process 32234 launched child process 32290
 0:18.36 INFO ==> process 32234 launched child process 32324
 0:18.36 INFO ==> process 32234 launched child process 32366
 0:18.36 INFO ==> process 32234 launched child process 32398
 0:18.36 INFO ==> process 32234 launched child process 32423
 0:18.36 INFO ==> process 32234 launched child process 32448
 0:18.36 INFO ==> process 32234 launched child process 32472
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32448
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32290
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32324
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32423
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32398
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32366
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32472
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32251
 0:18.36 INFO zombiecheck | Checking for orphan process with PID: 32255
 0:18.36 INFO Stopping web server
 0:18.36 INFO Stopping web socket server
 0:18.38 INFO Stopping ssltunnel
 0:18.41 WARNING leakcheck | refcount logging is off, so leaks can't be detected!
 0:18.41 INFO runtests.py | Running tests: end.
 0:18.44 INFO Buffered messages finished
TEST-INFO | checking window state
Browser Chrome Test Summary
	Passed: 19
	Failed: 0
	Todo: 0
	Mode: e10s
*** End BrowserChrome Test Results ***
 0:18.44 INFO Buffered messages finished
 0:18.44 SUITE_END
 0:18.44 
Overall Summary
===============

mochitest-browser
~~~~~~~~~~~~~~~~~
Ran 20 checks (19 subtests, 1 tests)
Expected results: 20
Unexpected results: 0
OK

Since the test case appears to pass in the VM environment, I am not able to inspect the style of the button.

Since this test uses marionette, I suspect this might have something to do with bug 1600391. Still looking into if there's anything I can do on the docker image side of things to fix the issue.

After some investigation, this test passed as expected with compiz installed in the ubuntu1804 test image, but given that compiz is not installed by default on ubuntu1804 and wanting to ensure that we test in the closest possible environment for end users, this bug still needs attention.

When I switched between compiz and the regular gnome-desktop environment, I noticed that compiz window manager provides smaller border around the window. I also know that with the gnome-desktop environment, windows are sometimes positioned at (10, 27) instead of (0, 27) due to some async-iness with the window repositioning. The 27 pixels is the top menu bar as discussed in previous comments.

Knowing that having only the window manager (which removes the top bar, dock, and other elements of a full desktop environment) should help with the fixing of this test. The expected migration date to ubuntu1804 is end of December.

Neil - does the information above help?

The coordinates being checked by synthesizeMouseAtCenter are web page coordinates (using getBoundingClientRect). These are all relative to the topleft corner of the web page. While the presence or absence of a menubar or window borders might affect where the browser window is placed, the relative webpage coordinates stay the same. They shouldn't affect the test in any way.

The window manager though is applying some theme-difference to an element on the page. Since the test is failing on a case where there is a page with only a button in it, I am guessing that the theme is applying some border to the button. We could just add a 0 border and padding to the button in the test markup to verify if this is the cause.

If not, we would need to debug what getBoundingClientRect is returning for parts of the page.

Assignee: nobody → egao
Status: NEW → ASSIGNED

I've put up a patch that proposes to mark the test as a permafail on ubuntu1804 due to the slightly different pixel values at:
https://searchfox.org/mozilla-central/source/testing/mochitest/tests/browser/browser_BrowserTestUtils.js#26

Perhaps once the migration is completed to ubuntu1804, the pixel values can be updated to reflect the new values?

Neil, it would be appreciated if you can take a look at the proposed patch to mark this as a permafail on ubuntu1804 once you're back from PTO.

My thoughts are as follows:

  • mark this test as expected failure on ubuntu1804
  • once migration is complete, change the expected value to be in line with ubuntu1804 results of (41, 34)

This is assuming that changes to something else doesn't fix this test, which has a nonzero chance of happening.

Let me know what you think.

Flags: needinfo?(enndeakin)

I don't mind if the tests are disabled on one specific platform variant (but it would not be good to disable them not on linuxes). I'd like to understand what the difference is caused by. I suspect there is some theme difference affecting this, as well as other bugs such as 1602620 and 1602616.

That said, I cannot reproduce this on Ubuntu 18.04 myself when running manually myself.

Flags: needinfo?(enndeakin)
Attachment #9116805 - Attachment is obsolete: true

As detailed in previous comments, ubuntu1804 now uses GNOME desktop environment by default. This is also true of the ubuntu1804 docker image that I've set up.

Previously, in the ubuntu1604 test image, Unity desktop environment was replaced with compiz to create a barebone window manager-only environment. Tests that relied on this behavior broke when the ubuntu1804 GNOME environment was introduced, due to the difference in how window browser height, top left corner and available browser height is reported under GNOME environment as outlined in https://bugzilla.mozilla.org/show_bug.cgi?id=1600391. Other tests that relied on this behavior has been updated to address those assumptions.

There are only two tests blocking the migration of mochitest-browser-chrome to run under ubuntu1804 as it stands currently, and this situation has been the same for the past month. My original timeline for migration was end of December 2019; it is now mid-January 2020 and I am already behind on this matter, so I need a path forward. I see two outcomes:

  1. disable this test on ubuntu1804 entirely.
  2. fix the test, which is outside of my purview.

With a week and half to go, intention is to move forward with option 1 prior to Berlin All Hands.

Flags: needinfo?(enndeakin)
Attachment #9120657 - Attachment is obsolete: true

Looks like the issue here is that there is an extra 10 pixel border on the button coming from the native theme that is pushing the minimum size of the button larger. It should work to just make the button larger.

Flags: needinfo?(enndeakin)
Pushed by neil@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1258487ed8ce large button border on ubuntu 18.04 makes the button larger than expected and the coordinate computation to be off by the size of the border. Adjust the width on the button, r=dao
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: