Open Bug 1567264 Opened 9 months ago Updated 22 days ago

Add `--enable-fission` options to `./mach test` and friends

Categories

(Testing :: General, enhancement, P2)

Version 3
enhancement

Tracking

(Fission Milestone:M4.1)

ASSIGNED
Fission Milestone M4.1

People

(Reporter: Nika, Assigned: ahal)

References

(Blocks 1 open bug)

Details

(Keywords: leave-open)

Attachments

(3 files)

Currently, tools like ./mach test, ./mach mochitest, ./mach web-platform-tests, etc. often support the --disable-e10s flag to turn off browser.tabs.remote.autostart. For fission testing right now it is currently necessary to manually configure the fission.autostart pref when running tests, and it would be much nicer if we could have an --enable-fission flag which does this for you.

This option would need to set the fission.autostart pref to true in the profile before running tests. This should be done before starting the browser, not dynamically.

Andrew, we chatted about this recently. We have more and more devs asking for this and we would appreciate your help in getting this option available.

Flags: needinfo?(ahal)

Sure, might not have a chance to look for awhile, I'll leave the needinfo for now.

I think we'll essentially want a shim that gets confined to the argument parsing code (i.e passing --enable-fission is equivalent to --setpref=fission.autostart=1). I'd want to avoid introducing fission specific logic/flags to the harness proper.

Priority: -- → P3

Note we should probably add a quick check that we never try to run with both --enable-fission and --disable-e10s (not that I'd really expect anyone to do that), and more importantly that we never try to run suites that disable e10s (e.g., chrome mochitests) with the fission flag enabled.

Andrew McCreight ran into that accidentally when running tests locally, which led to things failing in weird ways that it took a lot of time to diagnose. I don't really want more people running into that sort of situation...

I should have some time to look at this tomorrow.

Note it's a bit trickier than one might expect, as there are many edges cases. For example, mach mochitest <dir>, will run all mochitests under <dir>, including mochitest-chrome which only runs without e10s. So what do you do when you run ./mach mochitest <dir> --enable-fission and <dir> contains chrome mochitests? Similarly, not all test harnesses will be able to support --enable-fission, so what do you do when you run ./mach test <dir> --enable-fission and <dir> contains such harnesses? Not saying this is a hard problem, just pointing out it's more than a trivial fix.

Assignee: nobody → ahal
Status: NEW → ASSIGNED
Flags: needinfo?(ahal)
Priority: P3 → P2

This argument is an alias for '--setpref="fission.autostart=1"'.

Depends on D39547

I'll keep this open to tackle reftest, wpt, etc.

Keywords: leave-open
Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9014816fb2f5
[mozlog] Support log errors in the errorsummary and mach formatter r=jgraham
https://hg.mozilla.org/integration/autoland/rev/d4061d6bc8c5
[mochitest] Add a convenience --enable-fission argument r=gbrown
Depends on: 1571529
Duplicate of this bug: 1571529
Pushed by ahalberstadt@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f4179666f9fc
[mochitest] Ensure --enable-fission sets the pref to 'true' instead of '1', r=kmag

Roll unfixed test bugs from Fission Milestone M4 to M4.1

Fission Milestone: M4 → M4.1
You need to log in before you can comment on or make changes to this bug.