Closed Bug 1691481 Opened 5 years ago Closed 4 years ago

Share Marionette's errors module with WebDriver BiDi

Categories

(Remote Protocol :: WebDriver BiDi, task, P2)

task
Points:
2

Tracking

(firefox91 fixed)

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

(Whiteboard: [bidi-m1-mvp])

Attachments

(1 file)

The errors module from Marionette needs to be moved to the Remote Protocol code base so that it can be shared with the WebDriver BiDi implementation.

Priority: -- → P2
Component: Agent → WebDriver BiDi
Points: --- → 2
Assignee: nobody → jdescottes
Status: NEW → ASSIGNED

The Error module from marionette relies on the format.js module, which is almost duplicated in remote already.

However they both use different preferences to decide how to truncate logs:

  • marionette's format.js uses marionette.log.truncate
  • remote's Format.jsm uses remote.log.truncate

We should probably address this issue before we attempt to move the module?
We could do the following:

  • remove marionette's format.js and always use Format.jsm (I just checked the modules are identical)
  • update remote's Format.jsm to check both preferences
  • communicate about marionette.log.truncate being phased out in favor of remote.log.truncate
  • eventually stop checking marionette.log.truncate in remote's Format.jsm (after N releases....)

Also another question about all the bugs related to moving modules to /remote. I think we still have an issue with /remote not being packaged in Android? Should all those bugs be blocked on https://bugzilla.mozilla.org/show_bug.cgi?id=1676803

Flags: needinfo?(hskupin)
See Also: → 1700390
Depends on: 1700392

Clearing the ni?

Filed Bug 1700390 to discuss each preference in details.
For now I will try to reuse Format.jsm in marionette, which will also require to build remote/ on Android.

Flags: needinfo?(hskupin)

So far I am blocked on Bug 1676803 (building remote on Android). I didn't find a way to properly include remote/ on Android yet.

I want to focus on the architecture bits for BiDi, so I will unassign from bugs which are not urgent to address for now.
However I realized that moving some modules will also break our documentation. We generate automated documentation page for some of the modules we intend to move (eg error.rst, format.js).

We will need to decide what we do about this documentation. Split it between marionette and remote?

Assignee: jdescottes → nobody
Status: ASSIGNED → NEW

Yes, we would have to cross-reference but the problem is also that it wouldn't be build if remote agent is not enabled for the build. I hit similar problems on bug 1693993 when I tried to move all Marionette code over to /remote. Looks like we have to combine both build options into a single ENABLE_WEBDRIVER one.

I filed bug 1700910 for that. We can discuss it in the next triage meeting.

Depends on: 1700910
Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Summary: Move Marionette's errors module to Remote Protocol → Share Marionette's errors module with WebDriver BiDi

The WebDriver BiDi specification relies on the same
error types as WebDriver HTTP. As such the existing
module needs to be shared.

Pushed by hskupin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fd9895e3c184 [remote] Share Marionette's errors module with WebDriver BiDi. r=webdriver-reviewers,jdescottes
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
No longer depends on: 1700392
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: