зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1762991 - switch to --disable-fission and fission by default. r=gbrown,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D144985
This commit is contained in:
Родитель
541fdba919
Коммит
ab1727d3e3
|
@ -170,7 +170,7 @@ class ReftestRunner(MozbuildObject):
|
|||
|
||||
# Disable fission until geckoview supports fission by default.
|
||||
# Need fission on Android? Use '--setpref fission.autostart=true'
|
||||
args.fission = False
|
||||
args.disableFission = True
|
||||
|
||||
# A symlink and some path manipulations are required so that test
|
||||
# manifests can be found both locally and remotely (via a url)
|
||||
|
|
|
@ -250,9 +250,9 @@ class ReftestArgumentsParser(argparse.ArgumentParser):
|
|||
|
||||
self.add_argument(
|
||||
"--disable-fission",
|
||||
action="store_false",
|
||||
default=True,
|
||||
dest="fission",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="disableFission",
|
||||
help="Run tests with fission (site isolation) disabled.",
|
||||
)
|
||||
|
||||
|
@ -415,7 +415,7 @@ class ReftestArgumentsParser(argparse.ArgumentParser):
|
|||
if not 1 <= options.thisChunk <= options.totalChunks:
|
||||
self.error("thisChunk must be between 1 and totalChunks")
|
||||
|
||||
if options.fission and not options.e10s:
|
||||
if not options.disableFission and not options.e10s:
|
||||
self.error("Fission is not supported without e10s.")
|
||||
|
||||
if options.logFile:
|
||||
|
|
|
@ -475,15 +475,14 @@ class RefTest(object):
|
|||
elif manifests:
|
||||
prefs["reftest.manifests"] = json.dumps(manifests)
|
||||
|
||||
# Unconditionally update the e10s pref.
|
||||
if options.e10s:
|
||||
prefs["browser.tabs.remote.autostart"] = True
|
||||
else:
|
||||
# Unconditionally update the e10s pref, default True
|
||||
prefs["browser.tabs.remote.autostart"] = True
|
||||
if not options.e10s:
|
||||
prefs["browser.tabs.remote.autostart"] = False
|
||||
|
||||
if options.fission:
|
||||
prefs["fission.autostart"] = True
|
||||
else:
|
||||
# default fission to True
|
||||
prefs["fission.autostart"] = True
|
||||
if options.disableFission:
|
||||
prefs["fission.autostart"] = False
|
||||
|
||||
if not self.run_by_manifest:
|
||||
|
|
|
@ -521,9 +521,11 @@ def create_parser_puppeteer():
|
|||
help="Flag that indicates that tests run in a CI environment.",
|
||||
)
|
||||
p.add_argument(
|
||||
"--enable-fission",
|
||||
"--disable-fission",
|
||||
action="store_true",
|
||||
help="Enable Fission (site isolation) in Gecko.",
|
||||
default=False,
|
||||
dest="disable_fission",
|
||||
help="Disable Fission (site isolation) in Gecko.",
|
||||
)
|
||||
p.add_argument(
|
||||
"--enable-webrender",
|
||||
|
@ -597,7 +599,7 @@ def puppeteer_test(
|
|||
command_context,
|
||||
binary=None,
|
||||
ci=False,
|
||||
enable_fission=False,
|
||||
disable_fission=False,
|
||||
enable_webrender=False,
|
||||
headless=False,
|
||||
extra_prefs=None,
|
||||
|
@ -645,9 +647,8 @@ def puppeteer_test(
|
|||
exit(EX_USAGE)
|
||||
options[kv[0]] = kv[1].strip()
|
||||
|
||||
if enable_fission:
|
||||
prefs.update({"fission.autostart": True})
|
||||
else:
|
||||
prefs.update({"fission.autostart": True})
|
||||
if disable_fission:
|
||||
prefs.update({"fission.autostart": False})
|
||||
|
||||
if verbosity == 1:
|
||||
|
|
|
@ -35,16 +35,16 @@ job-defaults:
|
|||
optimization:
|
||||
skip-unless-expanded: null
|
||||
|
||||
puppeteer:
|
||||
puppeteer-no-fission:
|
||||
description: Puppeteer tests against Firefox CDP-based remote protocol
|
||||
treeherder:
|
||||
symbol: remote(pup)
|
||||
symbol: remote(pup-nofis)
|
||||
run: # Bug 1651542: Use screenshot feature to warm-up the font cache before the actual test
|
||||
using: run-task
|
||||
command: >
|
||||
cd $GECKO_PATH/ &&
|
||||
$MOZ_FETCHES_DIR/firefox/firefox --screenshot http://example.org &&
|
||||
./mach puppeteer-test --ci -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
|
||||
./mach puppeteer-test --ci -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --disable-fission --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
|
||||
|
||||
puppeteer-fis:
|
||||
description: Puppeteer tests against Firefox CDP-based remote protocol (Fission)
|
||||
|
@ -55,4 +55,4 @@ puppeteer-fis:
|
|||
command: >
|
||||
cd $GECKO_PATH/ &&
|
||||
$MOZ_FETCHES_DIR/firefox/firefox --screenshot http://example.org &&
|
||||
./mach puppeteer-test --ci -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --enable-fission --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
|
||||
./mach puppeteer-test --ci -vv --binary $MOZ_FETCHES_DIR/firefox/firefox --headless --write-results /builds/worker/results.json --log-tbpl - --log-errorsummary /builds/worker/pup_errorsummary.json --log-raw /builds/worker/pup_raw.log
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
job-defaults:
|
||||
test-manifest-loader: null # don't load tests in the taskgraph
|
||||
run-without-variant: false
|
||||
variants: ["1proc"]
|
||||
variants:
|
||||
- 1proc
|
||||
virtualization: virtual
|
||||
mozharness:
|
||||
script:
|
||||
|
@ -39,7 +40,10 @@ cppunit:
|
|||
android-em-7.*: geckoview-test_runner.apk
|
||||
default: null
|
||||
tier: default
|
||||
run-on-projects: built-projects
|
||||
run-on-projects:
|
||||
by-variant:
|
||||
1proc: built-projects
|
||||
default: []
|
||||
|
||||
gtest:
|
||||
description: "GTests run"
|
||||
|
@ -47,12 +51,16 @@ gtest:
|
|||
treeherder-symbol: GTest
|
||||
instance-size: xlarge
|
||||
run-on-projects:
|
||||
by-test-platform:
|
||||
.*-devedition.*/.*: [] # don't run on devedition
|
||||
linux1804-32-qr/debug: ['mozilla-central'] # try and m-c
|
||||
linux1804-32-qr/opt: [] # try only, shippable on m-c
|
||||
linux1804-32-shippable-qr/opt: ['mozilla-central'] # try and m-c
|
||||
default: built-projects
|
||||
by-variant:
|
||||
1proc:
|
||||
by-test-platform:
|
||||
.*android.*: built-projects
|
||||
.*-devedition.*/.*: [] # don't run on devedition
|
||||
linux1804-32-qr/opt: [] # try only, shippable on m-c
|
||||
linux1804-32-qr/debug: ['mozilla-central'] # try and m-c
|
||||
linux1804-32-shippable-qr/opt: ['mozilla-central'] # try and m-c
|
||||
default: built-projects
|
||||
default: []
|
||||
target:
|
||||
by-test-platform:
|
||||
android-em-7.*: geckoview-test_runner.apk
|
||||
|
@ -64,10 +72,13 @@ jittest:
|
|||
suite: jittest
|
||||
treeherder-symbol: Jit
|
||||
run-on-projects:
|
||||
by-test-platform:
|
||||
android-hw-.*-aarch64-qr/debug: ['mozilla-central', 'release']
|
||||
android-hw-.*-arm7-qr/debug: ['mozilla-central', 'release']
|
||||
default: built-projects
|
||||
by-variant:
|
||||
1proc:
|
||||
by-test-platform:
|
||||
android-hw-.*-aarch64-qr/debug: ['mozilla-central', 'release']
|
||||
android-hw-.*-arm7-qr/debug: ['mozilla-central', 'release']
|
||||
default: built-projects
|
||||
default: []
|
||||
chunks:
|
||||
by-test-platform:
|
||||
windows.*: 1
|
||||
|
|
|
@ -63,7 +63,9 @@ test-verify:
|
|||
loopback-video: true
|
||||
max-run-time: 10800
|
||||
allow-software-gl-layers: false
|
||||
variants: ["fission"]
|
||||
variants:
|
||||
- fission
|
||||
- no-fission
|
||||
run-without-variant: false
|
||||
run-on-projects:
|
||||
by-variant:
|
||||
|
@ -74,7 +76,17 @@ test-verify:
|
|||
# we prefer -qr platforms with fission, no need to run on both
|
||||
(?!.*(-ccov|-asan|-shippable))(?!.*-qr).*: []
|
||||
# do not run on mozilla-central, beta or release: usually just confirms earlier results
|
||||
android.*: []
|
||||
default: ['integration']
|
||||
no-fission:
|
||||
by-test-platform:
|
||||
# do not run on ccov or asan or shippable
|
||||
.*(-ccov|-asan|-shippable).*: []
|
||||
# we prefer -qr platforms with fission, no need to run on both
|
||||
(?!.*(-ccov|-asan|-shippable))(?!.*-qr).*: []
|
||||
# do not run on mozilla-central, beta or release: usually just confirms earlier results
|
||||
android.*: ['integration']
|
||||
default: []
|
||||
default: []
|
||||
built-projects-only: true
|
||||
target:
|
||||
|
|
|
@ -262,7 +262,6 @@ mochitest-browser-chrome:
|
|||
default: [] # we don't run linux opt/debug/asan only with M-swr, now with fission this isn't needed
|
||||
tier:
|
||||
by-variant:
|
||||
fission(-xorigin)?: default
|
||||
webrender-sw:
|
||||
by-test-platform:
|
||||
linux.*64(-asan|-shippable)?-qr/(opt|debug): 1
|
||||
|
@ -376,7 +375,8 @@ browser-screenshots:
|
|||
treeherder-symbol: M(ss)
|
||||
loopback-video: true
|
||||
test-manifest-loader: null # don't load tests in the taskgraph
|
||||
variants: ["fission"]
|
||||
run-without-variant: false
|
||||
variants: ["fission", "no-fission"]
|
||||
run-on-projects:
|
||||
by-test-platform:
|
||||
linux1804-64.*/opt: ['trunk']
|
||||
|
@ -637,10 +637,7 @@ mochitest-chrome-gpu:
|
|||
.*-tsan-qr/opt: ['trunk']
|
||||
android.*/.*: []
|
||||
default: built-projects
|
||||
tier:
|
||||
by-variant:
|
||||
fission: 2
|
||||
default: default
|
||||
tier: default
|
||||
mozharness:
|
||||
mochitest-flavor: chrome
|
||||
extra-options:
|
||||
|
|
|
@ -55,6 +55,7 @@ job-defaults:
|
|||
default:
|
||||
- linux64-chromium
|
||||
default: []
|
||||
run-without-variant: false
|
||||
variants: [fission]
|
||||
|
||||
raptor-youtube-playback-v9-power-firefox:
|
||||
|
@ -67,10 +68,7 @@ raptor-youtube-playback-v9-power-firefox:
|
|||
(linux|windows.*64|macos)(?!.*-qr).*: []
|
||||
default: [mozilla-central]
|
||||
max-run-time: 2700
|
||||
tier:
|
||||
by-variant:
|
||||
fission: 2
|
||||
default: 3
|
||||
tier: 2
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --test=raptor-youtube-playback-v9
|
||||
|
@ -86,10 +84,7 @@ raptor-youtube-playback-h264-power-firefox:
|
|||
(linux|windows.*64|macos)(?!.*-qr).*: []
|
||||
default: [mozilla-central]
|
||||
max-run-time: 2700
|
||||
tier:
|
||||
by-variant:
|
||||
fission: 2
|
||||
default: 3
|
||||
tier: 2
|
||||
mozharness:
|
||||
extra-options:
|
||||
- --test=raptor-youtube-playback-h264
|
||||
|
|
|
@ -84,14 +84,11 @@ crashtest:
|
|||
default: []
|
||||
max-run-time: 3600
|
||||
tier:
|
||||
by-variant:
|
||||
fission: default
|
||||
default:
|
||||
by-test-platform:
|
||||
windows10-aarch64-qr.*: 2
|
||||
android-hw-.*-qr/.*: 2
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
by-test-platform:
|
||||
windows10-aarch64-qr.*: 2
|
||||
android-hw-.*-qr/.*: 2
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
|
||||
crashtest-qr:
|
||||
description: "Crashtest Webrender run"
|
||||
|
@ -227,14 +224,11 @@ reftest:
|
|||
windows10-64-2004.*/opt: false
|
||||
default: true
|
||||
tier:
|
||||
by-variant:
|
||||
fission: default
|
||||
default:
|
||||
by-test-platform:
|
||||
windows10-aarch64-qr.*: 2
|
||||
android-hw-.*-qr/.*: 2
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
by-test-platform:
|
||||
windows10-aarch64-qr.*: 2
|
||||
android-hw-.*-qr/.*: 2
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
|
||||
reftest-qr:
|
||||
description: "Reftest webrender run"
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
mozharness:
|
||||
extra-options:
|
||||
- "--disable-e10s"
|
||||
- "--disable-fission"
|
||||
|
||||
headless:
|
||||
description: "{description} without a window"
|
||||
|
@ -60,6 +61,18 @@ geckoview-e10s-single:
|
|||
mozharness:
|
||||
extra-options:
|
||||
- "--setpref=dom.ipc.processCount=1"
|
||||
- "--disable-fission"
|
||||
|
||||
geckoview-no-fission:
|
||||
description: "{description} without fission enabled"
|
||||
component: "Core::DOM: Content Processes"
|
||||
when:
|
||||
<<: *gv_e10s_filter
|
||||
suffix: "nofis"
|
||||
merge:
|
||||
mozharness:
|
||||
extra-options:
|
||||
- "--disable-fission"
|
||||
|
||||
geckoview-fission:
|
||||
description: "{description} with fission enabled"
|
||||
|
@ -67,19 +80,11 @@ geckoview-fission:
|
|||
when:
|
||||
<<: *gv_e10s_filter
|
||||
suffix: "fis"
|
||||
merge:
|
||||
mozharness:
|
||||
extra-options:
|
||||
- "--enable-fission"
|
||||
|
||||
fission:
|
||||
description: "{description} with fission enabled"
|
||||
component: "Testing::General"
|
||||
suffix: "fis"
|
||||
merge:
|
||||
mozharness:
|
||||
extra-options:
|
||||
- "--setpref=fission.autostart=true"
|
||||
|
||||
no-fission:
|
||||
description: "{description} without fission enabled"
|
||||
|
@ -88,7 +93,7 @@ no-fission:
|
|||
merge:
|
||||
mozharness:
|
||||
extra-options:
|
||||
- "--setpref=fission.autostart=false"
|
||||
- "--disable-fission"
|
||||
|
||||
fission-xorigin:
|
||||
description: "{description} with cross-origin and fission enabled"
|
||||
|
@ -99,7 +104,6 @@ fission-xorigin:
|
|||
merge:
|
||||
mozharness:
|
||||
extra-options:
|
||||
- "--setpref=fission.autostart=true"
|
||||
- "--enable-xorigin-tests"
|
||||
|
||||
socketprocess:
|
||||
|
|
|
@ -88,13 +88,10 @@ xpcshell:
|
|||
default: 5400
|
||||
allow-software-gl-layers: false
|
||||
tier:
|
||||
by-variant:
|
||||
fission: 2
|
||||
default:
|
||||
by-test-platform:
|
||||
windows10-64-2004-asan.*: 3
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
by-test-platform:
|
||||
windows10-64-2004-asan.*: 3
|
||||
android-em-7.0-x86_64-qr/debug-isolated-process: 3
|
||||
default: default
|
||||
mozharness:
|
||||
extra-options:
|
||||
by-test-platform:
|
||||
|
@ -135,7 +132,6 @@ xpcshell-failures:
|
|||
treeherder-symbol: X-f(X)
|
||||
run-on-projects:
|
||||
by-variant:
|
||||
fission: []
|
||||
default: ["mozilla-central"]
|
||||
chunks: 2
|
||||
max-run-time: 2700
|
||||
|
|
|
@ -385,7 +385,6 @@ def run_sibling_transforms(config, tasks):
|
|||
("raptor", lambda t: t["suite"] == "raptor"),
|
||||
("other", None),
|
||||
("worker", None),
|
||||
("fission", None),
|
||||
# These transforms should always run last as there is never any
|
||||
# difference in configuration from one chunk to another (other than
|
||||
# chunk number).
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
from gecko_taskgraph.transforms.base import TransformSequence
|
||||
|
||||
|
||||
transforms = TransformSequence()
|
||||
|
||||
|
||||
def is_fission_enabled(task):
|
||||
options = task["mozharness"]["extra-options"]
|
||||
if "--setpref=fission.autostart=true" in options or "--enable-fission" in options:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def is_fission_disabled(task):
|
||||
options = task["mozharness"]["extra-options"]
|
||||
if "--setpref=fission.autostart=false" in options or "--disable-fission" in options:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
@transforms.add
|
||||
def reset_fission_prefs(config, tasks):
|
||||
"""Verify and simplify fission --setpref use."""
|
||||
for task in tasks:
|
||||
variant = task["attributes"].get("unittest_variant", "")
|
||||
is_fission_variant = "fission" in variant and "no-fission" not in variant
|
||||
if task["suite"] not in ["gtest", "cppunittest", "jittest"]:
|
||||
if is_fission_variant:
|
||||
if is_fission_disabled(task):
|
||||
raise Exception("Fission task disabled fission: " + str(task))
|
||||
if not is_fission_enabled(task):
|
||||
# Ensure fission enabled for fission tasks
|
||||
task["mozharness"]["extra-options"].append(
|
||||
"--setpref=fission.autostart=true"
|
||||
)
|
||||
else:
|
||||
if is_fission_enabled(task):
|
||||
raise Exception("Non-fission task enabled fission: " + str(task))
|
||||
if not is_fission_disabled(task):
|
||||
# Ensure fission disabled for non-fission tasks
|
||||
task["mozharness"]["extra-options"].append(
|
||||
"--setpref=fission.autostart=false"
|
||||
)
|
||||
|
||||
yield task
|
|
@ -421,6 +421,13 @@ class BaseMarionetteArguments(ArgumentParser):
|
|||
help="Enable python post-mortem debugger when a test fails."
|
||||
" Pass in the debugger you want to use, eg pdb or ipdb.",
|
||||
)
|
||||
self.add_argument(
|
||||
"--disable-fission",
|
||||
action="store_true",
|
||||
dest="disable_fission",
|
||||
default=False,
|
||||
help="Disable Fission (site isolation) in Gecko.",
|
||||
)
|
||||
self.add_argument(
|
||||
"-z",
|
||||
"--headless",
|
||||
|
@ -636,6 +643,7 @@ class BaseMarionetteTestRunner(object):
|
|||
verbose=0,
|
||||
emulator=False,
|
||||
headless=False,
|
||||
disable_fission=False,
|
||||
**kwargs
|
||||
):
|
||||
self._appName = None
|
||||
|
@ -680,6 +688,8 @@ class BaseMarionetteTestRunner(object):
|
|||
self.verbose = verbose
|
||||
self.headless = headless
|
||||
|
||||
self.prefs.update({"fission.autostart": not disable_fission})
|
||||
|
||||
# If no repeat has been set, default to 30 extra runs
|
||||
if self.run_until_failure and repeat is None:
|
||||
self.repeat = 30
|
||||
|
|
|
@ -175,8 +175,7 @@ class MochitestRunner(MozbuildObject):
|
|||
print("using e10s=False for non-geckoview app")
|
||||
|
||||
# Disable fission until geckoview supports fission by default.
|
||||
# Need fission on Android? Use '--setpref fission.autostart=true'
|
||||
options.fission = False
|
||||
options["disable_fission"] = True
|
||||
|
||||
return runtestsremote.run_test_harness(parser, options)
|
||||
|
||||
|
@ -188,6 +187,10 @@ class MochitestRunner(MozbuildObject):
|
|||
import runjunit
|
||||
|
||||
options = Namespace(**kwargs)
|
||||
|
||||
# Disable fission until geckoview supports fission by default.
|
||||
options["disable_fission"] = True
|
||||
|
||||
return runjunit.run_test_harness(parser, options)
|
||||
|
||||
|
||||
|
|
|
@ -157,6 +157,9 @@ def run_geckoview_junit(context, args):
|
|||
|
||||
from runjunit import run_test_harness
|
||||
|
||||
# Force fission disabled by default for android
|
||||
args["disable_fission"] = True
|
||||
|
||||
logger.info("mach calling runjunit with args: " + str(args))
|
||||
return run_test_harness(parser, args)
|
||||
|
||||
|
|
|
@ -565,9 +565,9 @@ class MochitestArguments(ArgumentContainer):
|
|||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_false",
|
||||
"default": True,
|
||||
"dest": "fission",
|
||||
"action": "store_true",
|
||||
"default": False,
|
||||
"dest": "disable_fission",
|
||||
"help": "Run tests with fission (site isolation) disabled.",
|
||||
},
|
||||
],
|
||||
|
@ -1157,13 +1157,8 @@ class MochitestArguments(ArgumentContainer):
|
|||
)
|
||||
|
||||
# If e10s explicitly disabled and no fission option specified, disable fission
|
||||
if (
|
||||
(not options.e10s)
|
||||
and options.fission
|
||||
and ("fission.autostart=true" not in options.extraPrefs)
|
||||
and ("fission.autostart=false" not in options.extraPrefs)
|
||||
):
|
||||
options.fission = False
|
||||
if (not options.e10s) and (not options.disable_fission):
|
||||
options.disable_fission = True
|
||||
|
||||
options.leakThresholds = {
|
||||
"default": options.defaultLeakThreshold,
|
||||
|
|
|
@ -156,6 +156,11 @@ class JUnitTestRunner(MochitestDesktop):
|
|||
|
||||
# Set preferences
|
||||
self.merge_base_profiles(self.options, "geckoview-junit")
|
||||
|
||||
self.options.extra_prefs.append("fission.autostart=true")
|
||||
if self.options.disable_fission:
|
||||
self.options.extra_prefs.pop()
|
||||
self.options.extra_prefs.append("fission.autostart=false")
|
||||
prefs = parse_preferences(self.options.extra_prefs)
|
||||
self.profile.set_preferences(prefs)
|
||||
|
||||
|
@ -242,8 +247,11 @@ class JUnitTestRunner(MochitestDesktop):
|
|||
env["MOZ_WEBRENDER"] = "1"
|
||||
# FIXME: When android switches to using Fission by default,
|
||||
# MOZ_FORCE_DISABLE_FISSION will need to be configured correctly.
|
||||
if self.options.enable_fission:
|
||||
if self.options.disable_fission:
|
||||
env["MOZ_FORCE_DISABLE_FISSION"] = "1"
|
||||
else:
|
||||
env["MOZ_FORCE_ENABLE_FISSION"] = "1"
|
||||
|
||||
# Add additional env variables
|
||||
for [key, value] in [p.split("=", 1) for p in self.options.add_env]:
|
||||
env[key] = value
|
||||
|
@ -573,11 +581,11 @@ class JunitArgumentParser(argparse.ArgumentParser):
|
|||
help="If collecting code coverage, save the report file in this dir.",
|
||||
)
|
||||
self.add_argument(
|
||||
"--enable-fission",
|
||||
"--disable-fission",
|
||||
action="store_true",
|
||||
dest="enable_fission",
|
||||
dest="disable_fission",
|
||||
default=False,
|
||||
help="Run the tests with Fission (site isolation) enabled.",
|
||||
help="Run the tests without Fission (site isolation) enabled.",
|
||||
)
|
||||
self.add_argument(
|
||||
"--repeat",
|
||||
|
|
|
@ -3010,16 +3010,14 @@ toolbar#nav-bar {
|
|||
def runTests(self, options):
|
||||
"""Prepare, configure, run tests and cleanup"""
|
||||
self.extraPrefs = parse_preferences(options.extraPrefs)
|
||||
|
||||
if "fission.autostart" not in self.extraPrefs:
|
||||
self.extraPrefs["fission.autostart"] = options.fission
|
||||
self.extraPrefs["fission.autostart"] = not options.disable_fission
|
||||
|
||||
# for test manifest parsing.
|
||||
mozinfo.update(
|
||||
{
|
||||
"a11y_checks": options.a11y_checks,
|
||||
"e10s": options.e10s,
|
||||
"fission": self.extraPrefs.get("fission.autostart", True),
|
||||
"fission": not options.disable_fission,
|
||||
"headless": options.headless,
|
||||
# Until the test harness can understand default pref values,
|
||||
# (https://bugzilla.mozilla.org/show_bug.cgi?id=1577912) this value
|
||||
|
@ -3371,7 +3369,7 @@ toolbar#nav-bar {
|
|||
)
|
||||
self.log.info(
|
||||
"runtests.py | Running with fission: {}".format(
|
||||
mozinfo.info.get("fission", False)
|
||||
mozinfo.info.get("fission", True)
|
||||
)
|
||||
)
|
||||
self.log.info(
|
||||
|
|
|
@ -114,12 +114,12 @@ class AndroidEmulatorTest(
|
|||
},
|
||||
],
|
||||
[
|
||||
["--enable-fission"],
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_true",
|
||||
"dest": "enable_fission",
|
||||
"dest": "disable_fission",
|
||||
"default": False,
|
||||
"help": "Run with Fission enabled.",
|
||||
"help": "Run without Fission enabled.",
|
||||
},
|
||||
],
|
||||
[
|
||||
|
@ -187,7 +187,7 @@ class AndroidEmulatorTest(
|
|||
# GLES3 if we're running WebRender (default)
|
||||
self.use_gles3 = True
|
||||
self.disable_e10s = c.get("disable_e10s")
|
||||
self.enable_fission = c.get("enable_fission")
|
||||
self.disable_fission = c.get("disable_fission")
|
||||
self.extra_prefs = c.get("extra_prefs")
|
||||
|
||||
def query_abs_dirs(self):
|
||||
|
@ -311,6 +311,10 @@ class AndroidEmulatorTest(
|
|||
else:
|
||||
self.log("--repeat not supported in {}".format(category), level=WARNING)
|
||||
|
||||
# do not add --disable fission if we don't have --disable-e10s
|
||||
if c["disable_fission"] and category not in ["gtest", "cppunittest"]:
|
||||
cmd.append("--disable-fission")
|
||||
|
||||
cmd.extend(["--setpref={}".format(p) for p in self.extra_prefs])
|
||||
|
||||
if not (self.verify_enabled or self.per_test_coverage):
|
||||
|
@ -328,8 +332,6 @@ class AndroidEmulatorTest(
|
|||
elif category not in SUITE_DEFAULT_E10S and c["e10s"]:
|
||||
cmd.append("--e10s")
|
||||
|
||||
if self.enable_fission:
|
||||
cmd.extend(["--enable-fission"])
|
||||
if c.get("enable_xorigin_tests"):
|
||||
cmd.extend(["--enable-xorigin-tests"])
|
||||
|
||||
|
|
|
@ -90,12 +90,12 @@ class AndroidHardwareTest(
|
|||
},
|
||||
],
|
||||
[
|
||||
["--enable-fission"],
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_true",
|
||||
"dest": "enable_fission",
|
||||
"dest": "disable_fission",
|
||||
"default": False,
|
||||
"help": "Run with Fission enabled.",
|
||||
"help": "Run with Fission disabled.",
|
||||
},
|
||||
],
|
||||
[
|
||||
|
@ -167,7 +167,7 @@ class AndroidHardwareTest(
|
|||
self.log_raw_level = c.get("log_raw_level")
|
||||
self.log_tbpl_level = c.get("log_tbpl_level")
|
||||
self.disable_e10s = c.get("disable_e10s")
|
||||
self.enable_fission = c.get("enable_fission")
|
||||
self.disable_fission = c.get("disable_fission")
|
||||
self.extra_prefs = c.get("extra_prefs")
|
||||
self.jittest_flags = c.get("jittest_flags")
|
||||
|
||||
|
@ -295,8 +295,8 @@ class AndroidHardwareTest(
|
|||
elif category not in SUITE_DEFAULT_E10S and c["e10s"]:
|
||||
cmd.append("--e10s")
|
||||
|
||||
if self.enable_fission:
|
||||
cmd.extend(["--enable-fission"])
|
||||
if self.disable_fission and category not in SUITE_NO_E10S:
|
||||
cmd.append("--disable-fission")
|
||||
|
||||
cmd.extend(["--setpref={}".format(p) for p in self.extra_prefs])
|
||||
|
||||
|
|
|
@ -296,6 +296,15 @@ class DesktopUnittest(TestingMixin, MercurialScript, MozbaseMixin, CodeCoverageM
|
|||
"help": "treat harness level timeout as a pass",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_true",
|
||||
"default": False,
|
||||
"dest": "disable_fission",
|
||||
"help": "do not run tests with fission enabled.",
|
||||
},
|
||||
],
|
||||
]
|
||||
+ copy.deepcopy(testing_config_options)
|
||||
+ copy.deepcopy(code_coverage_config_options)
|
||||
|
@ -580,6 +589,14 @@ class DesktopUnittest(TestingMixin, MercurialScript, MozbaseMixin, CodeCoverageM
|
|||
level=WARNING,
|
||||
)
|
||||
|
||||
# do not add --disable fission if we don't have --disable-e10s
|
||||
if c["disable_fission"] and suite_category not in [
|
||||
"gtest",
|
||||
"cppunittest",
|
||||
"jittest",
|
||||
]:
|
||||
base_cmd.append("--disable-fission")
|
||||
|
||||
# Ignore chunking if we have user specified test paths
|
||||
if not (self.verify_enabled or self.per_test_coverage):
|
||||
test_paths = self._get_mozharness_test_paths(suite_category, suite)
|
||||
|
|
|
@ -57,6 +57,15 @@ firefox_ui_tests_config_options = (
|
|||
"help": "Disable multi-process (e10s) mode when running tests.",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"dest": "disable_fission",
|
||||
"action": "store_true",
|
||||
"default": False,
|
||||
"help": "Disable fission mode when running tests.",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--setpref"],
|
||||
{
|
||||
|
@ -228,6 +237,9 @@ class FirefoxUIFunctionalTests(TestingMixin, VCSToolsScript, CodeCoverageMixin):
|
|||
if not self.config.get("e10s"):
|
||||
cmd.append("--disable-e10s")
|
||||
|
||||
if self.config.get("disable_fission"):
|
||||
cmd.append("--disable-fission")
|
||||
|
||||
cmd.extend(["--setpref={}".format(p) for p in self.config.get("extra_prefs")])
|
||||
|
||||
if self.symbols_url:
|
||||
|
|
|
@ -145,6 +145,15 @@ class MarionetteTest(TestingMixin, MercurialScript, TransferMixin, CodeCoverageM
|
|||
"help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor.", # NOQA: E501
|
||||
},
|
||||
],
|
||||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_true",
|
||||
"dest": "disable_fission",
|
||||
"default": False,
|
||||
"help": "Run the browser without fission enabled",
|
||||
},
|
||||
],
|
||||
]
|
||||
+ copy.deepcopy(testing_config_options)
|
||||
+ copy.deepcopy(code_coverage_config_options)
|
||||
|
@ -337,6 +346,10 @@ class MarionetteTest(TestingMixin, MercurialScript, TransferMixin, CodeCoverageM
|
|||
if self.config.get("structured_output"):
|
||||
cmd.append("--log-raw=-")
|
||||
|
||||
if self.config["disable_fission"]:
|
||||
cmd.append("--disable-fission")
|
||||
cmd.extend(["--setpref=fission.autostart=false"])
|
||||
|
||||
for arg in self.config["suite_definitions"][self.test_suite]["options"]:
|
||||
cmd.append(arg % config_fmt_args)
|
||||
|
||||
|
|
|
@ -56,6 +56,15 @@ telemetry_tests_config_options = (
|
|||
"help": "Disable multi-process (e10s) mode when running tests.",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"dest": "disable_fission",
|
||||
"action": "store_true",
|
||||
"default": False,
|
||||
"help": "Disable fission mode when running tests.",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--setpref"],
|
||||
{
|
||||
|
@ -119,6 +128,7 @@ class TelemetryTests(TestingMixin, VCSToolsScript, CodeCoverageMixin):
|
|||
self.installer_url = self.config.get("installer_url")
|
||||
self.test_packages_url = self.config.get("test_packages_url")
|
||||
self.test_url = self.config.get("test_url")
|
||||
self.disable_fission = self.config.get("disable_fission")
|
||||
|
||||
if not self.test_url and not self.test_packages_url:
|
||||
self.fatal("You must use --test-url, or --test-packages-url")
|
||||
|
@ -196,6 +206,8 @@ class TelemetryTests(TestingMixin, VCSToolsScript, CodeCoverageMixin):
|
|||
if self.symbols_path:
|
||||
cmd.extend(["--symbols-path", self.symbols_path])
|
||||
|
||||
if self.disable_fission:
|
||||
cmd.append("--disable-fission")
|
||||
cmd.extend(["--setpref={}".format(p) for p in self.config["extra_prefs"]])
|
||||
|
||||
if not self.config["e10s"]:
|
||||
|
|
|
@ -54,6 +54,15 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidM
|
|||
"help": "Run without e10s enabled",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--disable-fission"],
|
||||
{
|
||||
"action": "store_true",
|
||||
"dest": "disable_fission",
|
||||
"default": False,
|
||||
"help": "Run without fission enabled",
|
||||
},
|
||||
],
|
||||
[
|
||||
["--total-chunks"],
|
||||
{
|
||||
|
@ -281,9 +290,6 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidM
|
|||
|
||||
mozinfo.find_and_update_from_json(dirs["abs_test_install_dir"])
|
||||
|
||||
# Default to fission disabled
|
||||
fission_enabled = "fission.autostart=true" in c["extra_prefs"]
|
||||
|
||||
raw_log_file, error_summary_file = self.get_indexed_logs(
|
||||
dirs["abs_blob_upload_dir"], "wpt"
|
||||
)
|
||||
|
@ -314,7 +320,7 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidM
|
|||
self.is_android
|
||||
or mozinfo.info["tsan"]
|
||||
or "wdspec" in test_types
|
||||
or fission_enabled
|
||||
or not c["disable_fission"]
|
||||
# Bug 1392106 - skia error 0x80070005: Access is denied.
|
||||
or is_windows_7
|
||||
and mozinfo.info["debug"]
|
||||
|
@ -344,8 +350,8 @@ class WebPlatformTest(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidM
|
|||
if c["extra_prefs"]:
|
||||
cmd.extend(["--setpref={}".format(p) for p in c["extra_prefs"]])
|
||||
|
||||
if not fission_enabled and "fission.autostart=false" not in c["extra_prefs"]:
|
||||
cmd.append("--setpref=fission.autostart=false")
|
||||
if c["disable_fission"]:
|
||||
cmd.append("--disable-fission")
|
||||
|
||||
if not c["e10s"]:
|
||||
cmd.append("--disable-e10s")
|
||||
|
|
|
@ -93,7 +93,7 @@ def browser_kwargs(logger, test_type, run_info_data, config, **kwargs):
|
|||
"certutil_binary": kwargs["certutil_binary"],
|
||||
"ca_certificate_path": config.ssl_config["ca_cert_path"],
|
||||
"e10s": kwargs["gecko_e10s"],
|
||||
"enable_fission": run_info_data["fission"],
|
||||
"disable_fission": kwargs["disable_fission"],
|
||||
"stackfix_dir": kwargs["stackfix_dir"],
|
||||
"binary_args": kwargs["binary_args"],
|
||||
"timeout_multiplier": get_timeout_multiplier(test_type,
|
||||
|
@ -145,6 +145,7 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data,
|
|||
executor_kwargs["ccov"] = run_info_data.get("ccov", False)
|
||||
executor_kwargs["browser_version"] = run_info_data.get("browser_version")
|
||||
executor_kwargs["debug_test"] = kwargs["debug_test"]
|
||||
executor_kwargs["disable_fission"] = kwargs["disable_fission"]
|
||||
return executor_kwargs
|
||||
|
||||
|
||||
|
@ -174,18 +175,13 @@ def run_info_extras(**kwargs):
|
|||
pref_value = get_bool_pref_if_exists(pref)
|
||||
return pref_value if pref_value is not None else False
|
||||
|
||||
# Default fission to on, unless we get --[no-]enable-fission or
|
||||
# --set-pref fission.autostart=[true|false]
|
||||
enable_fission = [item for item in [kwargs.get("enable_fission"),
|
||||
get_bool_pref_if_exists("fission.autostart"),
|
||||
True] if item is not None][0]
|
||||
|
||||
# Default fission to on, unless we get --disable-fission
|
||||
rv = {"e10s": kwargs["gecko_e10s"],
|
||||
"wasm": kwargs.get("wasm", True),
|
||||
"verify": kwargs["verify"],
|
||||
"headless": kwargs.get("headless", False) or "MOZ_HEADLESS" in os.environ,
|
||||
"fission": enable_fission,
|
||||
"sessionHistoryInParent": (enable_fission or
|
||||
"fission": not kwargs.get("disable_fission"),
|
||||
"sessionHistoryInParent": (not kwargs.get("disable_fission") or
|
||||
get_bool_pref("fission.sessionHistoryInParent")),
|
||||
"swgl": get_bool_pref("gfx.webrender.software")}
|
||||
|
||||
|
@ -550,7 +546,7 @@ class FirefoxOutputHandler(OutputHandler):
|
|||
|
||||
class ProfileCreator:
|
||||
def __init__(self, logger, prefs_root, config, test_type, extra_prefs, e10s,
|
||||
enable_fission, debug_test, browser_channel, binary, certutil_binary,
|
||||
disable_fission, debug_test, browser_channel, binary, certutil_binary,
|
||||
ca_certificate_path):
|
||||
self.logger = logger
|
||||
self.prefs_root = prefs_root
|
||||
|
@ -558,7 +554,7 @@ class ProfileCreator:
|
|||
self.test_type = test_type
|
||||
self.extra_prefs = extra_prefs
|
||||
self.e10s = e10s
|
||||
self.enable_fission = enable_fission
|
||||
self.disable_fission = disable_fission
|
||||
self.debug_test = debug_test
|
||||
self.browser_channel = browser_channel
|
||||
self.ca_certificate_path = ca_certificate_path
|
||||
|
@ -634,9 +630,8 @@ class ProfileCreator:
|
|||
if self.e10s:
|
||||
profile.set_preferences({"browser.tabs.remote.autostart": True})
|
||||
|
||||
if self.enable_fission:
|
||||
profile.set_preferences({"fission.autostart": True})
|
||||
else:
|
||||
profile.set_preferences({"fission.autostart": True})
|
||||
if self.disable_fission:
|
||||
profile.set_preferences({"fission.autostart": False})
|
||||
|
||||
if self.test_type in ("reftest", "print-reftest"):
|
||||
|
@ -648,7 +643,7 @@ class ProfileCreator:
|
|||
# Bug 1262954: winxp + e10s, disable hwaccel
|
||||
if (self.e10s and platform.system() in ("Windows", "Microsoft") and
|
||||
"5.1" in platform.version()):
|
||||
self.profile.set_preferences({"layers.acceleration.disabled": True})
|
||||
profile.set_preferences({"layers.acceleration.disabled": True})
|
||||
|
||||
if self.debug_test:
|
||||
profile.set_preferences({"devtools.console.stdout.content": True})
|
||||
|
@ -710,7 +705,7 @@ class FirefoxBrowser(Browser):
|
|||
|
||||
def __init__(self, logger, binary, prefs_root, test_type, extra_prefs=None, debug_info=None,
|
||||
symbols_path=None, stackwalk_binary=None, certutil_binary=None,
|
||||
ca_certificate_path=None, e10s=False, enable_fission=True,
|
||||
ca_certificate_path=None, e10s=False, disable_fission=False,
|
||||
stackfix_dir=None, binary_args=None, timeout_multiplier=None, leak_check=False,
|
||||
asan=False, stylo_threads=1, chaos_mode_flags=None, config=None,
|
||||
browser_channel="nightly", headless=None, preload_browser=False,
|
||||
|
@ -740,7 +735,7 @@ class FirefoxBrowser(Browser):
|
|||
test_type,
|
||||
extra_prefs,
|
||||
e10s,
|
||||
enable_fission,
|
||||
disable_fission,
|
||||
debug_test,
|
||||
browser_channel,
|
||||
binary,
|
||||
|
@ -820,7 +815,7 @@ class FirefoxWdSpecBrowser(WebDriverBrowser):
|
|||
def __init__(self, logger, binary, prefs_root, webdriver_binary, webdriver_args,
|
||||
extra_prefs=None, debug_info=None, symbols_path=None, stackwalk_binary=None,
|
||||
certutil_binary=None, ca_certificate_path=None, e10s=False,
|
||||
enable_fission=False, stackfix_dir=None, leak_check=False,
|
||||
disable_fission=False, stackfix_dir=None, leak_check=False,
|
||||
asan=False, stylo_threads=1, chaos_mode_flags=None, config=None,
|
||||
browser_channel="nightly", headless=None, debug_test=False, **kwargs):
|
||||
|
||||
|
@ -844,7 +839,7 @@ class FirefoxWdSpecBrowser(WebDriverBrowser):
|
|||
"wdspec",
|
||||
extra_prefs,
|
||||
e10s,
|
||||
enable_fission,
|
||||
disable_fission,
|
||||
debug_test,
|
||||
browser_channel,
|
||||
binary,
|
||||
|
|
|
@ -60,6 +60,7 @@ def browser_kwargs(logger, test_type, run_info_data, config, **kwargs):
|
|||
run_info_data,
|
||||
**kwargs),
|
||||
"e10s": run_info_data["e10s"],
|
||||
"disable_fission": kwargs["disable_fission"],
|
||||
# desktop only
|
||||
"leak_check": False,
|
||||
"stylo_threads": kwargs["stylo_threads"],
|
||||
|
@ -110,9 +111,9 @@ def get_environ(stylo_threads, chaos_mode_flags):
|
|||
|
||||
class ProfileCreator(FirefoxProfileCreator):
|
||||
def __init__(self, logger, prefs_root, config, test_type, extra_prefs,
|
||||
enable_fission, debug_test, browser_channel, certutil_binary, ca_certificate_path):
|
||||
disable_fission, debug_test, browser_channel, certutil_binary, ca_certificate_path):
|
||||
super().__init__(logger, prefs_root, config, test_type, extra_prefs,
|
||||
True, enable_fission, debug_test, browser_channel, None,
|
||||
True, disable_fission, debug_test, browser_channel, None,
|
||||
certutil_binary, ca_certificate_path)
|
||||
|
||||
def _set_required_prefs(self, profile):
|
||||
|
@ -139,6 +140,10 @@ class ProfileCreator(FirefoxProfileCreator):
|
|||
"layout.testing.overlay-scrollbars.always-visible": True,
|
||||
})
|
||||
|
||||
profile.set_preferences({"fission.autostart": True})
|
||||
if self.disable_fission:
|
||||
profile.set_preferences({"fission.autostart": False})
|
||||
|
||||
|
||||
class FirefoxAndroidBrowser(Browser):
|
||||
init_timeout = 300
|
||||
|
@ -151,7 +156,7 @@ class FirefoxAndroidBrowser(Browser):
|
|||
binary_args=None, timeout_multiplier=None, leak_check=False, asan=False,
|
||||
stylo_threads=1, chaos_mode_flags=None, config=None, browser_channel="nightly",
|
||||
install_fonts=False, tests_root=None, specialpowers_path=None, adb_binary=None,
|
||||
debug_test=False, **kwargs):
|
||||
debug_test=False, disable_fission=False, **kwargs):
|
||||
|
||||
super().__init__(logger)
|
||||
self.prefs_root = prefs_root
|
||||
|
@ -177,13 +182,14 @@ class FirefoxAndroidBrowser(Browser):
|
|||
self.tests_root = tests_root
|
||||
self.specialpowers_path = specialpowers_path
|
||||
self.adb_binary = adb_binary
|
||||
self.disable_fission = disable_fission
|
||||
|
||||
self.profile_creator = ProfileCreator(logger,
|
||||
prefs_root,
|
||||
config,
|
||||
test_type,
|
||||
extra_prefs,
|
||||
False,
|
||||
disable_fission,
|
||||
debug_test,
|
||||
browser_channel,
|
||||
certutil_binary,
|
||||
|
@ -307,7 +313,7 @@ class FirefoxAndroidWdSpecBrowser(FirefoxWdSpecBrowser):
|
|||
def __init__(self, logger, prefs_root, webdriver_binary, webdriver_args,
|
||||
extra_prefs=None, debug_info=None, symbols_path=None, stackwalk_binary=None,
|
||||
certutil_binary=None, ca_certificate_path=None, e10s=False,
|
||||
enable_fission=False, stackfix_dir=None, leak_check=False,
|
||||
disable_fission=False, stackfix_dir=None, leak_check=False,
|
||||
asan=False, stylo_threads=1, chaos_mode_flags=None, config=None,
|
||||
browser_channel="nightly", headless=None,
|
||||
package_name="org.mozilla.geckoview.test_runner", device_serial=None,
|
||||
|
@ -317,7 +323,7 @@ class FirefoxAndroidWdSpecBrowser(FirefoxWdSpecBrowser):
|
|||
extra_prefs=extra_prefs, debug_info=debug_info, symbols_path=symbols_path,
|
||||
stackwalk_binary=stackwalk_binary, certutil_binary=certutil_binary,
|
||||
ca_certificate_path=ca_certificate_path, e10s=e10s,
|
||||
enable_fission=enable_fission, stackfix_dir=stackfix_dir,
|
||||
disable_fission=disable_fission, stackfix_dir=stackfix_dir,
|
||||
leak_check=leak_check, asan=asan, stylo_threads=stylo_threads,
|
||||
chaos_mode_flags=chaos_mode_flags, config=config,
|
||||
browser_channel=browser_channel, headless=headless, **kwargs)
|
||||
|
|
|
@ -289,10 +289,7 @@ scheme host and port.""")
|
|||
default=None, help="Don't preload a gecko instance for faster restarts")
|
||||
gecko_group.add_argument("--disable-e10s", dest="gecko_e10s", action="store_false", default=True,
|
||||
help="Run tests without electrolysis preferences")
|
||||
gecko_group.add_argument("--enable-fission", dest="enable_fission", action="store_true", default=None,
|
||||
help="Enable fission in Gecko (defaults to enabled; "
|
||||
"this option only exists for backward compatibility).")
|
||||
gecko_group.add_argument("--no-enable-fission", dest="enable_fission", action="store_false",
|
||||
gecko_group.add_argument("--disable-fission", dest="disable_fission", action="store_true", default=False,
|
||||
help="Disable fission in Gecko.")
|
||||
gecko_group.add_argument("--stackfix-dir", dest="stackfix_dir", action="store",
|
||||
help="Path to directory containing assertion stack fixing scripts")
|
||||
|
|
|
@ -479,6 +479,14 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
|||
self.initDir(self.remoteMinidumpRootDir)
|
||||
self.initDir(self.remoteLogFolder)
|
||||
|
||||
eprefs = options.get("extraPrefs") or []
|
||||
if options.get("disableFission"):
|
||||
eprefs.append("fission.autostart=false")
|
||||
else:
|
||||
# should be by default, just in case
|
||||
eprefs.append("fission.autostart=true")
|
||||
options["extraPrefs"] = eprefs
|
||||
|
||||
# data that needs to be passed to the RemoteXPCShellTestThread
|
||||
self.mobileArgs = {
|
||||
"device": self.device,
|
||||
|
|
|
@ -1647,7 +1647,16 @@ class XPCShellTests(object):
|
|||
self.todoCount = 0
|
||||
|
||||
self.setAbsPath()
|
||||
prefs = self.buildPrefsFile(options.get("extraPrefs") or [])
|
||||
|
||||
eprefs = options.get("extraPrefs") or []
|
||||
# enable fission by default
|
||||
if options.get("disableFission"):
|
||||
eprefs.append("fission.autostart=false")
|
||||
else:
|
||||
# should be by default, just in case
|
||||
eprefs.append("fission.autostart=true")
|
||||
|
||||
prefs = self.buildPrefsFile(eprefs)
|
||||
self.buildXpcsRunArgs()
|
||||
|
||||
self.event = Event()
|
||||
|
|
|
@ -313,6 +313,13 @@ def add_common_arguments(parser):
|
|||
dest="crashAsPass",
|
||||
help="Harness level crashes will be treated as passing",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--disable-fission",
|
||||
action="store_true",
|
||||
default=False,
|
||||
dest="disableFission",
|
||||
help="disable fission mode (back to e10s || 1proc)",
|
||||
)
|
||||
|
||||
|
||||
def add_remote_arguments(parser):
|
||||
|
|
|
@ -22,6 +22,10 @@ class TelemetryTestRunner(BaseMarionetteTestRunner):
|
|||
|
||||
prefs = kwargs.pop("prefs", {})
|
||||
|
||||
prefs["fission.autostart"] = True
|
||||
if kwargs["disable_fission"]:
|
||||
prefs["fission.autostart"] = False
|
||||
|
||||
# Set Firefox Client Telemetry specific preferences
|
||||
prefs.update(
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче