[meta] Use system allocated port for Marionette server
Categories
(Testing :: Marionette Client and Harness, defect, P3)
Tracking
(Not tracked)
People
(Reporter: Silne30, Unassigned)
References
(Depends on 3 open bugs)
Details
(Keywords: meta)
Updated•9 years ago
|
Comment 1•9 years ago
|
||
Comment 2•9 years ago
|
||
Comment 3•9 years ago
|
||
Reporter | ||
Updated•9 years ago
|
Comment 4•9 years ago
|
||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Comment 8•8 years ago
|
||
Comment 9•8 years ago
|
||
Updated•8 years ago
|
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
Comment 14•8 years ago
|
||
Updated•7 years ago
|
Comment 16•3 years ago
•
|
||
Given the discussion from comment 13 and comment 14 lets follow the approach by using a file in the profile directory to indicate the port as used by Marionette. It's actually backed by our partial CDP implementation where I'm about to land a patch that does the same thing (bug 1706581).
Because there is a bit more work to do here I'm going to transform this bug into a meta bug, and will update the dependency list for all the bits and pieces we have to take care. In general I'm thinking of the following strategy:
-
[Done] Start Marionette writing the file to the profile directory (bug 1735162) and maybe lets also include the feature for the BiDi implementation (bug 1749673). This patch should be uplifted to the 91ESR branch, and if possible even the 78ESR branch to allow geckodriver sooner than later to make use of the new technique.
-
Update the Marionette client and harness code to handle the scenario when
port=0
is requested by a consumer (bug 1750630). We should still keep2828
as default to not cause incompatibilities with not yet updated consumers. Here we don't have to uplift patches. Here we do not have to care about backward compatibility (we do not push releases to pypi anymore) and can allow the code to ride the train. But the question is how we have to handle the Android scenario given that we do not have proper Android support for the harness (bug 1607210). -
Update web-platform-tests to request port
0
from marionette client instead of finding a free port on its own, which is racy. And for sure looking for that file, and reading the port once it exists. -
[Done] Update geckodriver to allow handling of port
0
(bug 1421766), whereby we would first need support for pulling files from the Android device (bug 1725622). By default we should keep port2828
until we know it runs all stable. -
At a later time consider using port
0
as default.
Lets discuss this topic in next week's triage meeting.
Comment 17•3 years ago
|
||
We reached consensus for this proposal but should limit the amount of actual work to do here to the bare minimum for now. Means as first step we only get the support for writing out this file added, and at least uplifted to 93 beta. Uplift to 91 will only happen if no further (complex) patch adjustments are necessary.
I'll file a new bug to get the code added.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•