Error calling `setWindowRect` in Fenix production builds: "ERROR: InvalidArgumentError: setWindowRect is only supported in Firefox desktop"
Categories
(Remote Protocol :: Marionette, defect, P1)
Tracking
(firefox80 fixed, firefox81 fixed)
People
(Reporter: acreskey, Assigned: whimboo)
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
jcristau
:
approval-mozilla-release+
|
Details |
When running Browsertime against recent Fenix production builds, the following error is seen:
"ERROR: InvalidArgumentError: setWindowRect is only supported in Firefox desktop"
I believe that the following Marionette capabilities test is failing:
https://searchfox.org/mozilla-central/rev/91d82d7cbf05a71954dfa49d0e43824c7c973e62/testing/marionette/capabilities.js#548
Perhaps the name of Fenix has changed and so appinfo.name != "firefox"
?
This is an example Fenix binary where I'm seeing this issue:
https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.mobile.fenix.v2.fennec-production.2020.07.03.latest/artifacts/public/build/arm64-v8a/geckoBeta/target.apk
More logs: https://paste.rs/GlK
Depending on the root issue, this bug may be in the wrong component.
Assignee | ||
Comment 1•4 years ago
|
||
By the WebDriver spec:
Boolean indicating whether the remote end supports all of the resizing and positioning commands.
Is Fenix really able to resize and position the window? I doubt that any Android based package can do that.
Reporter | ||
Comment 2•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #1)
By the WebDriver spec:
Boolean indicating whether the remote end supports all of the resizing and positioning commands.
Is Fenix really able to resize and position the window? I doubt that any Android based package can do that.
Hmm.. I believe geckoview can, but I agree that it seems unlikely Fenix would support that.
What's strange about this error is that we test other variations of Fenix (some in CI) with the same version browsertime.
And they make the same setWindowRect()
calls.
Let me find out why browsertime is making this call.
Reporter | ||
Comment 3•4 years ago
|
||
I might not be able to fix this on the browsertime end.
From my callstack and from debugging, the setWindowRect()
call is called indirectly when we attempt to browser.getDriver().get(startURL);
https://github.com/sitespeedio/browsertime/blob/0bfa3049293139e695d02a2ca0de594f3456d64c/lib/core/engine/iteration.js#L167
If I trace this further into the selenium-webdriver layer, I'm also seeing a get()
call:
https://github.com/SeleniumHQ/selenium/blob/941dc9c6b2e2aa4f701c1b72be8de03d4b7e996a/javascript/node/selenium-webdriver/lib/webdriver.js#L1058
So is it possible that a setWindowRect()
is being inserted as part of preamble for get()
at a lower level?
Assignee | ||
Comment 4•4 years ago
|
||
The problem with setWindowRect
here is with the new session creation. That's the only place where this capability is checked, and an error returned if the device/platform doesn't support resizing/positioning the browser window.
https://w3c.github.io/webdriver/#dfn-window-dimensioning-positioning
Reporter | ||
Comment 5•4 years ago
|
||
:whimboo, can you point me to the code where setWindowRect
is called in the new session creation? (This is in geckodriver, right?)
I'm still unclear as to why most of our android-based gecko builds (including Fenix nightly) will report the setWindowRect
capability, but not the recent production builds.
Is there some way I can see the appinfo.name
that marionette sees?
https://searchfox.org/mozilla-central/rev/91d82d7cbf05a71954dfa49d0e43824c7c973e62/testing/marionette/capabilities.js#546-548
Assignee | ||
Comment 6•4 years ago
|
||
There might be two underlying issues:
-
The tool requesting the new session sends the
setWindowRect
capability set totrue
while it shouldn't. On Android an application cannot resize or move its window. So AFAIK it shouldn't be set totrue
at all. -
The application name is wrongly reported or cannot be retrieved.
(In reply to Andrew Creskey [:acreskey] [he/him] from comment #5)
Is there some way I can see the
appinfo.name
that marionette sees?
See https://searchfox.org/mozilla-central/rev/91d82d7cbf05a71954dfa49d0e43824c7c973e62/testing/marionette/capabilities.js#35. That's how we retrieve the application name. You can a dump()
statement to log the output to stdout (adb logcat). Or use your debugger and check for Services.appinfo.name
.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Reporter | ||
Comment 7•4 years ago
|
||
I've had to put this on hold as we're seeing all recent Fenix and geckview_example apps crash on launch through Browsertime.
(Appears to be Android 10 and access to /mnt/sdcard/org.mozilla.fennec_aurora-geckodriver-profile
)
Assignee | ||
Comment 8•4 years ago
|
||
Ok, so it most likely depends on a fix for bug 1650891. Marking it as dependency so that we get notified here once it has been fixed.
Comment 9•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #6)
There might be two underlying issues:
The tool requesting the new session sends the
setWindowRect
capability set totrue
while it shouldn't. On Android an application cannot resize or move its window. So AFAIK it shouldn't be set totrue
at all.The application name is wrongly reported or cannot be retrieved.
(In reply to Andrew Creskey [:acreskey] [he/him] from comment #5)
Is there some way I can see the
appinfo.name
that marionette sees?See https://searchfox.org/mozilla-central/rev/91d82d7cbf05a71954dfa49d0e43824c7c973e62/testing/marionette/capabilities.js#35. That's how we retrieve the application name. You can a
dump()
statement to log the output to stdout (adb logcat). Or use your debugger and check forServices.appinfo.name
.
:whimboo, the fenix production is now being released and we can't test it in browsertime because of this issue. I tried to disable the setWindowRect
capability but I get this error - would you know of any other way we can get around this issue?
13:57:22 INFO - raptor-browsertime Info: Browser failed to start, trying 2 more time(s): InvalidArgumentError: setWindowRect cannot be disabled
Assignee | ||
Comment 10•4 years ago
|
||
That's interesting. It means that Fenix actually identifies as Firefox and we are hitting this line:
https://searchfox.org/mozilla-central/rev/ab81b8552f4aa9696a2524f97fdfeb59d4dc31c1/testing/marionette/capabilities.js#545
Reason is that we force all GeckoView apps to actually report Firefox
as it's name here:
https://searchfox.org/mozilla-central/rev/ab81b8552f4aa9696a2524f97fdfeb59d4dc31c1/testing/marionette/capabilities.js#599-601
So could you please check by updating the code for setWindowRect
in line 544 and checking that it is not android
by using getWebDriverPlatformName()
? I think that should make it.
Reporter | ||
Comment 11•4 years ago
|
||
What I don't understand is how other configurations of Fenix were able to get past this check, if all GeckoView apps report Firefox
as their name.
Assignee | ||
Comment 12•4 years ago
|
||
Oh, I think there is another problem here:
Andrew, which steps do I have to run to test changes with browsertime? Maybe I can just make those.
Reporter | ||
Comment 13•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #12)
Oh, I think there is another problem here:
Andrew, which steps do I have to run to test changes with browsertime? Maybe I can just make those.
Henrik, the performance developers generally run Fenix through browsertime using variations on the scripts in this repo:
https://github.com/acreskeyMoz/browsertime_on_android_scripts
A minimal version of what's being run is:
/{path_to_mc}/mozilla-central/tools/browsertime/node_modules/browsertime/bin/browsertime.js --firefox.geckodriverPath="{GECKODRIVER_PATH}" --firefox.android.package org.mozilla.fennec_aurora --firefox.android.activity "org.mozilla.fenix.IntentReceiverActivity" --firefox.android.intentArgument=-a --firefox.android.intentArgument=android.intent.action.VIEW --firefox.android.intentArgument=-d --firefox.android.intentArgument="data:," "https://www.mozilla.org"
(Some substitutions needed, including possibly the package name org.mozilla.fennec_aurora)
Ping me if this isn't working.
Comment 14•4 years ago
|
||
Peter and I were debugging this here before: https://github.com/sitespeedio/browsertime/issues/1331#issuecomment-671949024
You can reproduce it with a release version of Fenix, and through raptor with the command: ./mach raptor -t amazon --app fenix --binary org.mozilla.firefox --post-startup-delay 1 --disable-perf-tuning --browsertime --no-conditioned-profile --browsertime-geckodriver /home/sparky/geckodriver
You can get a release version of Fenix from here: https://firefox-ci-tc.services.mozilla.com/tasks/index/mobile.v2.fenix.fennec-production.latest/armeabi-v7a
Assignee | ||
Comment 15•4 years ago
|
||
Oh, so that's only for release versions? What would explain why we don't see it for geckoview_example and other test apps.
I will see what I can do over the next days. Is there a way for me to get a release build of fenix built via try?
Reporter | ||
Comment 16•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #15)
Oh, so that's only for release versions? What would explain why we don't see it for geckoview_example and other test apps.
I will see what I can do over the next days. Is there a way for me to get a release build of fenix built via try?
Henrik, I use this formula to insert Geckoview's built on try into locally-built Fenix builds:
How to substitute a custom GeckoView automation (try) build into a Fenix build
https://docs.google.com/document/d/1Ud5n8a4YUhNtgDQ7_d2kDGDDaqBX65MLf5jci4SDotA/edit#heading=h.7d3r0l4wehh
I haven't confirmed that we'll see the problem in this setup though.
Assignee | ||
Comment 17•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 18•4 years ago
|
||
Assignee | ||
Comment 19•4 years ago
|
||
I actually don't have the time to verify the changes, but I uploaded a patch, which should fix the problem you are seeing. Can you please build Fenix yourself and test it? Thanks.
Updated•4 years ago
|
Reporter | ||
Comment 21•4 years ago
|
||
Hmm.. it doesn't look like dependency substitution works for release builds. Let me ask around.
Reporter | ||
Comment 22•4 years ago
|
||
Henrik, I was able to substitute in your change into a release build of fenix.
I can confirm that this patch allows release Fenix to launch through Browsertime.
(And that without your patch, we see the same setWindowRect
error.)
Ship it, please :)
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Comment 23•4 years ago
|
||
Pushed by mjzffr@gmail.com: https://hg.mozilla.org/integration/autoland/rev/d445a6575005 [marionette] Allow setWindowRect capability for all desktop but not Android. r=marionette-reviewers,maja_zf
Comment 24•4 years ago
|
||
Backed out changeset d445a6575005 (bug 1650872) for test_capabilities.js failures.
Backout link: https://hg.mozilla.org/integration/autoland/rev/5b006156349e160b0c31386df43c73665a7a5af5
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=313066043&repo=autoland&lineNumber=6148
[task 2020-08-14T22:09:41.703Z] 22:09:41 INFO - TEST-START | testing/marionette/test/unit/test_capabilities.js
[task 2020-08-14T22:09:41.904Z] 22:09:41 WARNING - TEST-UNEXPECTED-FAIL | testing/marionette/test/unit/test_capabilities.js | xpcshell return code: 0
[task 2020-08-14T22:09:41.905Z] 22:09:41 INFO - TEST-INFO took 201ms
[task 2020-08-14T22:09:41.905Z] 22:09:41 INFO - >>>>>>>
[task 2020-08-14T22:09:41.905Z] 22:09:41 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2020-08-14T22:09:41.906Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2020-08-14T22:09:41.906Z] 22:09:41 INFO - (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2020-08-14T22:09:41.906Z] 22:09:41 INFO - running event loop
[task 2020-08-14T22:09:41.907Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_ctor
[task 2020-08-14T22:09:41.907Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_ctor pending (2)
[task 2020-08-14T22:09:41.908Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_ctor - [test_Timeouts_ctor : 30] 0 == 0
[task 2020-08-14T22:09:41.908Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_ctor - [test_Timeouts_ctor : 31] 300000 == 300000
[task 2020-08-14T22:09:41.909Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_ctor - [test_Timeouts_ctor : 32] 30000 == 30000
[task 2020-08-14T22:09:41.909Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 1 pending (3)
[task 2020-08-14T22:09:41.910Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_ctor finished (3)
[task 2020-08-14T22:09:41.910Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2020-08-14T22:09:41.911Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_toString
[task 2020-08-14T22:09:41.911Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_toString pending (2)
[task 2020-08-14T22:09:41.911Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_toString - [test_Timeouts_toString : 38] "[object Timeouts]" == "[object Timeouts]"
[task 2020-08-14T22:09:41.912Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 2 pending (3)
[task 2020-08-14T22:09:41.912Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_toString finished (3)
[task 2020-08-14T22:09:41.913Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2020-08-14T22:09:41.913Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_toJSON
[task 2020-08-14T22:09:41.914Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_toJSON pending (2)
[task 2020-08-14T22:09:41.914Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_toJSON - [test_Timeouts_toJSON : 45] {"implicit":0,"pageLoad":300000,"script":30000} deepEqual {"implicit":0,"pageLoad":300000,"script":30000}
[task 2020-08-14T22:09:41.915Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 3 pending (3)
[task 2020-08-14T22:09:41.915Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_toJSON finished (3)
[task 2020-08-14T22:09:41.915Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 2 finished (2)
[task 2020-08-14T22:09:41.916Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_fromJSON
[task 2020-08-14T22:09:41.916Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON pending (2)
[task 2020-08-14T22:09:41.916Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON - [test_Timeouts_fromJSON : 57] 0 == 0
[task 2020-08-14T22:09:41.917Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON - [test_Timeouts_fromJSON : 58] 2 == 2
[task 2020-08-14T22:09:41.917Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON - [test_Timeouts_fromJSON : 59] 9007199254740991 == 9007199254740991
[task 2020-08-14T22:09:41.918Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 4 pending (3)
[task 2020-08-14T22:09:41.918Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON finished (3)
[task 2020-08-14T22:09:41.918Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 3 finished (2)
[task 2020-08-14T22:09:41.919Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_fromJSON_unrecognised_field
[task 2020-08-14T22:09:41.919Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_unrecognised_field pending (2)
[task 2020-08-14T22:09:41.919Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_unrecognised_field - [test_Timeouts_fromJSON_unrecognised_field : 71] "InvalidArgumentError" == "InvalidArgumentError"
[task 2020-08-14T22:09:41.920Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_unrecognised_field - [test_Timeouts_fromJSON_unrecognised_field : 72] "Unrecognised timeout: sessionId" == "Unrecognised timeout: sessionId"
[task 2020-08-14T22:09:41.920Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 5 pending (3)
[task 2020-08-14T22:09:41.921Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_unrecognised_field finished (3)
[task 2020-08-14T22:09:41.921Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 4 finished (2)
[task 2020-08-14T22:09:41.922Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_from
[task 2020-08-14T22:09:41.922Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_invalid_types pending (2)
[task 2020-08-14T22:09:41.923Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.923Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.923Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.924Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.924Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.924Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_invalid_types - [test_Timeouts_fromJSON_invalid_types : 80] ..
[task 2020-08-14T22:09:41.925Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 6 pending (3)
[task 2020-08-14T22:09:41.925Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_invalid_types finished (3)
[task 2020-08-14T22:09:41.926Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 5 finished (2)
[task 2020-08-14T22:09:41.926Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Timeouts_fromJSON_bounds
[task 2020-08-14T22:09:41.927Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_bounds pending (2)
[task 2020-08-14T22:09:41.927Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_bounds - [test_Timeouts_fromJSON_bounds : 91] ..
[task 2020-08-14T22:09:41.928Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Timeouts_fromJSON_bounds - [test_Timeouts_fromJSON_bounds : 91] ..
[task 2020-08-14T22:09:41.928Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 7 pending (3)
[task 2020-08-14T22:09:41.929Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Timeouts_fromJSON_bounds finished (3)
[task 2020-08-14T22:09:41.929Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 6 finished (2)
[task 2020-08-14T22:09:41.929Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_PageLoadStrategy
[task 2020-08-14T22:09:41.930Z] 22:09:41 INFO - (xpcshell/head.js) | test test_PageLoadStrategy pending (2)
[task 2020-08-14T22:09:41.930Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_PageLoadStrategy - [test_PageLoadStrategy : 101] "none" == "none"
[task 2020-08-14T22:09:41.931Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_PageLoadStrategy - [test_PageLoadStrategy : 102] "eager" == "eager"
[task 2020-08-14T22:09:41.931Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_PageLoadStrategy - [test_PageLoadStrategy : 103] "normal" == "normal"
[task 2020-08-14T22:09:41.932Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 8 pending (3)
[task 2020-08-14T22:09:41.932Z] 22:09:41 INFO - (xpcshell/head.js) | test test_PageLoadStrategy finished (3)
[task 2020-08-14T22:09:41.933Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 7 finished (2)
[task 2020-08-14T22:09:41.933Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Proxy_ctor
[task 2020-08-14T22:09:41.934Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Proxy_ctor pending (2)
[task 2020-08-14T22:09:41.934Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] proxyType in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.935Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.935Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] httpProxy in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.935Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.936Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] sslProxy in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.936Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.936Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] ftpProxy in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.937Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.937Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] socksProxy in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.937Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.938Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] socksVersion in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.938Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.939Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 120] proxyAutoconfigUrl in ["proxyType","httpProxy","sslProxy","ftpProxy","socksProxy","socksVersion","proxyAutoconfigUrl"] - true == true
[task 2020-08-14T22:09:41.939Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Proxy_ctor - [test_Proxy_ctor : 121] null == null
[task 2020-08-14T22:09:41.940Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 9 pending (3)
[task 2020-08-14T22:09:41.940Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Proxy_ctor finished (3)
[task 2020-08-14T22:09:41.940Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 8 finished (2)
[task 2020-08-14T22:09:41.941Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Proxy_init
...
...
...
[task 2020-08-14T22:09:41.974Z] 22:09:41 INFO - testing/marionette/test/unit/test_capabilities.js | Starting test_Capabilities_ctor
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - (xpcshell/head.js) | test test_Capabilities_ctor pending (2)
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 405] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 406] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 407] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 408] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 409] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 410] "normal" == "normal"
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 411] false == false
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 412] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 INFO - TEST-PASS | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 413] true == true
[task 2020-08-14T22:09:41.975Z] 22:09:41 WARNING - TEST-UNEXPECTED-FAIL | testing/marionette/test/unit/test_capabilities.js | test_Capabilities_ctor - [test_Capabilities_ctor : 414] true == false
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Z:/task_1597439414/build/tests/xpcshell/tests/testing/marionette/test/unit/test_capabilities.js:test_Capabilities_ctor:414
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Z:\task_1597439414\build\tests\xpcshell\head.js:_run_next_test:1650
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Z:\task_1597439414\build\tests\xpcshell\head.js:run:777
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Z:\task_1597439414\build\tests\xpcshell\head.js:_do_main:248
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Z:\task_1597439414\build\tests\xpcshell\head.js:_execute_test:577
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - -e:null:1
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - exiting test
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - NS_ERROR_ABORT:
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - _abort_failed_test@Z:\task_1597439414\build\tests\xpcshell\head.js:833:20
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - do_report_result@Z:\task_1597439414\build\tests\xpcshell\head.js:934:5
[task 2020-08-14T22:09:41.976Z] 22:09:41 INFO - Assert<@Z:\task_1597439414\build\tests\xpcshell\head.js:73:21
[task 2020-08-14T22:09:41.977Z] 22:09:41 INFO - proto.report@resource://testing-common/Assert.jsm:233:10
[task 2020-08-14T22:09:41.977Z] 22:09:41 INFO - equal@resource://testing-common/Assert.jsm:275:8
[task 2020-08-14T22:09:41.977Z] 22:09:41 INFO - test_Capabilities_ctor@Z:/task_1597439414/build/tests/xpcshell/tests/testing/marionette/test/unit/test_capabilities.js:414:8
[task 2020-08-14T22:09:41.977Z] 22:09:41 INFO - _run_next_test@Z:\task_1597439414\build\tests\xpcshell\head.js:1650:11
[task 2020-08-14T22:09:41.977Z] 22:09:41 INFO - run@Z:\task_1597439414\build\tests\xpcshell\head.js:777:9
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - _do_main@Z:\task_1597439414\build\tests\xpcshell\head.js:248:6
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - _execute_test@Z:\task_1597439414\build\tests\xpcshell\head.js:577:5
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - @-e:1:1
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - exiting test
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - (xpcshell/head.js) | test run_next_test 14 finished (2)
[task 2020-08-14T22:09:41.978Z] 22:09:41 INFO - <<<<<<<
Assignee | ||
Comment 25•4 years ago
|
||
I forget to update the Marionette xpcshell tests. Running a try build now and will push soon again.
Updated•4 years ago
|
Updated•4 years ago
|
Comment 26•4 years ago
|
||
Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1f03b2cb3e24 [marionette] Allow setWindowRect capability for all desktop but not Android. r=marionette-reviewers,maja_zf
Comment 27•4 years ago
|
||
bugherder |
Reporter | ||
Comment 28•4 years ago
|
||
Thank you for the fix Henrik.
I noticed that the Fenix fennec-production builds are still using gecko 79.
e.g.
https://firefox-ci-tc.services.mozilla.com/tasks/index/mobile.v2.fenix.fennec-production.2020.08.18.latest
So, Greg, I'm expecting you'll see this same problem.
Which production build are you try to add?
Assignee | ||
Comment 29•4 years ago
|
||
Given that beta has already been merged to release, there is no way for uplift.
Comment 30•4 years ago
|
||
Thanks a lot for working on this :whimboo and :acreskey! It's unfortunate we can't get the fix uplifted in any way though.
Comment 31•4 years ago
|
||
:whimboo, :acreskey would either of you know when we might expect this to hit release or who I could ask this about?
Reporter | ||
Comment 32•4 years ago
|
||
Greg, I would ask ryanvm, he might be able to make a good guess as to when Fenix production builds will be on gv81.
(Noting that I believe the Fenix team may time this based on other factors).
Comment 33•4 years ago
|
||
Ok thanks! :ryanvm, would you know approximately when this patch might make it into fenix release?
Comment 34•4 years ago
|
||
Fx81 is due to ship on September 22.
https://wiki.mozilla.org/Release_Management/Calendar
Comment 35•4 years ago
|
||
BTW, I'd be open to considering this for a ride-along should we need to ship new Fx80/GV80 builds. Feel free to nominate for release approval if it'd be helpful.
Comment 36•4 years ago
|
||
I think it would be great to do that because at the moment, the release version of Fenix is not usable for testing through selenium. Would you have a link to the process for nominating for release approval?
Comment 37•4 years ago
|
||
Details link on the attachment. Set the approval-mozilla-release dropdown to ? and answer the questions on the form that pops up.
Comment 38•4 years ago
|
||
Comment on attachment 9169830 [details]
Bug 1650872 - [marionette] Allow setWindowRect capability for all desktop but not Android.
Beta/Release Uplift Approval Request
- User impact if declined: This impacts the ability for developers to test their webpages on Fenix. Without this patch, it's not possible to test the release version of Fenix through selenium (the primary way to test on this browser).
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This fixes an issue in Marionette where the capability for setWindowRect was allowed for Android when it shouldn't be (and it was not possible to disable). This bug is only reproducible with release builds because of the browser naming. There's no risk in uplifting this patch.
- String changes made/needed:
Comment 39•4 years ago
|
||
Thanks Ryan! :whimboo, is there anything that might be missing/needed in the uplift request?
Assignee | ||
Comment 40•4 years ago
|
||
Sounds all fine. Thanks for doing the request.
Comment 41•4 years ago
|
||
Comment on attachment 9169830 [details]
Bug 1650872 - [marionette] Allow setWindowRect capability for all desktop but not Android.
approved for 80.0.x
Updated•2 years ago
|
Description
•