Bug 1555792: Add --setpref option to many test types r=ahal

Differential Revision: https://phabricator.services.mozilla.com/D37503

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Byron Campen [:bwc] 2019-07-11 15:06:38 +00:00
Родитель a381540292
Коммит 5fe8caac32
8 изменённых файлов: 63 добавлений и 4 удалений

Просмотреть файл

@ -1044,7 +1044,8 @@ def ensure_spi_disabled_on_all_but_spi(config, tests):
has_setpref = ('gtest' not in test['suite'] and
'cppunit' not in test['suite'] and
'jittest' not in test['suite'] and
'junit' not in test['suite'])
'junit' not in test['suite'] and
'raptor' not in test['suite'])
if has_setpref and variant != 'socketprocess':
test['mozharness']['extra-options'].append(

Просмотреть файл

@ -285,8 +285,9 @@ class BaseMarionetteArguments(ArgumentParser):
help='profile to use when launching the gecko process. If not passed, '
'then a profile will be constructed and used',
type=dir_path)
self.add_argument('--pref',
self.add_argument('--setpref',
action='append',
metavar='PREF=VALUE',
dest='prefs_args',
help="A preference to set. Must be a key-value pair separated by a ':'.")
self.add_argument('--preferences',
@ -414,7 +415,7 @@ class BaseMarionetteArguments(ArgumentParser):
for prefs_file in prefs_files:
prefs.add_file(prefs_file)
separator = ':'
separator = '='
cli_prefs = []
if prefs_args:
misformatted = []

Просмотреть файл

@ -49,6 +49,12 @@ firefox_ui_tests_config_options = [
'default': True,
'help': 'Disable multi-process (e10s) mode when running tests.',
}],
[["--setpref"], {
'dest': 'extra_prefs',
'action': 'append',
'default': [],
'help': 'Extra user prefs.',
}],
[['--symbols-path=SYMBOLS_PATH'], {
'dest': 'symbols_path',
'help': 'absolute path to directory containing breakpad '
@ -243,6 +249,8 @@ class FirefoxUITests(TestingMixin, VCSToolsScript, CodeCoverageMixin):
if not self.config.get('e10s'):
cmd.append('--disable-e10s')
cmd.extend(['--setpref={}'.format(p) for p in self.config.get('extra_prefs')])
if self.symbols_url:
cmd.extend(['--symbols-path', self.symbols_url])

Просмотреть файл

@ -103,6 +103,14 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi
"help": "Repeat the tests the given number of times. Supported "
"by mochitest, reftest, crashtest, ignored otherwise."
}
], [
['--setpref'],
{"action": "append",
"metavar": "PREF=VALUE",
"dest": "extra_prefs",
"default": [],
"help": "Extra user prefs.",
}
]] + copy.deepcopy(testing_config_options) + \
copy.deepcopy(code_coverage_config_options)
@ -151,6 +159,7 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi
# AndroidMixin uses this when launching the emulator. We only want
# GLES3 if we're running WebRender
self.use_gles3 = True
self.extra_prefs = c.get('extra_prefs')
def query_abs_dirs(self):
if self.abs_dirs:
@ -286,6 +295,8 @@ class AndroidEmulatorTest(TestingMixin, BaseScript, MozbaseMixin, CodeCoverageMi
else:
self.log("--repeat not supported in {}".format(category), level=WARNING)
cmd.extend(['--setpref={}'.format(p) for p in self.extra_prefs])
if not (self.verify_enabled or self.per_test_coverage):
if user_paths:
cmd.extend(user_paths)

Просмотреть файл

@ -94,6 +94,13 @@ class AndroidHardwareTest(TestingMixin, BaseScript, MozbaseMixin,
"help": "Repeat the tests the given number of times. Supported "
"by mochitest, reftest, crashtest, ignored otherwise."
}
], [
['--setpref', ],
{"action": "append",
"dest": "extra_prefs",
"default": [],
"help": "Extra user prefs.",
}
]] + copy.deepcopy(testing_config_options)
def __init__(self, require_config_file=False):
@ -136,6 +143,7 @@ class AndroidHardwareTest(TestingMixin, BaseScript, MozbaseMixin,
self.log_tbpl_level = c.get('log_tbpl_level')
self.e10s = c.get('e10s')
self.enable_webrender = c.get('enable_webrender')
self.extra_prefs = c.get('extra_prefs')
def query_abs_dirs(self):
if self.abs_dirs:
@ -278,6 +286,8 @@ class AndroidHardwareTest(TestingMixin, BaseScript, MozbaseMixin,
if self.enable_webrender:
cmd.extend(['--enable-webrender'])
cmd.extend(['--setpref={}'.format(p) for p in self.extra_prefs])
try_options, try_tests = self.try_args(self.test_suite)
cmd.extend(try_options)
if not self.verify_enabled and not self.per_test_coverage:

Просмотреть файл

@ -44,6 +44,12 @@ class AWSY(TestingMixin, MercurialScript, TooltoolMixin, CodeCoverageMixin):
"default": True,
"help": "Run tests without multiple processes (e10s). (Desktop builds only)",
}],
[["--setpref"],
{"action": "append",
"dest": "extra_prefs",
"default": [],
"help": "Extra user prefs.",
}],
[["--single-stylo-traversal"],
{"action": "store_true",
"dest": "single_stylo_traversal",
@ -225,6 +231,7 @@ class AWSY(TestingMixin, MercurialScript, TooltoolMixin, CodeCoverageMixin):
cmd.append("--profile=%s" % (os.path.join(dirs['abs_work_dir'], 'profile')))
if not self.config['e10s']:
cmd.append('--disable-e10s')
cmd.extend(['--setpref={}'.format(p) for p in self.config['extra_prefs']])
cmd.append('--gecko-log=%s' % os.path.join(dirs["abs_blob_upload_dir"],
'gecko.log'))
# TestingMixin._download_and_extract_symbols() should set
@ -243,7 +250,7 @@ class AWSY(TestingMixin, MercurialScript, TooltoolMixin, CodeCoverageMixin):
cmd.append("--preferences=%s" % os.path.join(self.awsy_path, "conf", prefs_file))
if dmd_enabled:
cmd.append("--pref=security.sandbox.content.level:0")
cmd.append("--setpref=security.sandbox.content.level=0")
cmd.append(test_file)
if self.config['enable_webrender']:

Просмотреть файл

@ -90,6 +90,14 @@ class MarionetteTest(TestingMixin, MercurialScript, TransferMixin,
"default": True,
"help": "Run tests without multiple processes (e10s). (Desktop builds only)",
}
], [
["--setpref"],
{"action": "append",
"metavar": "PREF=VALUE",
"dest": "extra_prefs",
"default": [],
"help": "Extra user prefs.",
}
], [
["--headless"],
{"action": "store_true",
@ -309,6 +317,8 @@ class MarionetteTest(TestingMixin, MercurialScript, TransferMixin,
if self.config['enable_webrender']:
cmd.append('--enable-webrender')
cmd.extend(['--setpref={}'.format(p) for p in self.config['extra_prefs']])
cmd.append('--gecko-log=-')
if self.config.get("structured_output"):

Просмотреть файл

@ -51,6 +51,12 @@ telemetry_tests_config_options = [
'default': True,
'help': 'Disable multi-process (e10s) mode when running tests.',
}],
[["--setpref"], {
'dest': 'extra_prefs',
'action': 'append',
'default': [],
'help': 'Extra user prefs.',
}],
[['--symbols-path=SYMBOLS_PATH'], {
'dest': 'symbols_path',
'help': 'absolute path to directory containing breakpad '
@ -165,6 +171,11 @@ class TelemetryTests(TestingMixin, VCSToolsScript, CodeCoverageMixin):
if self.config['enable_webrender']:
cmd.extend(['--enable-webrender'])
cmd.extend(['--setpref={}'.format(p) for p in self.config['extra_prefs']])
if not self.config["e10s"]:
cmd.append("--disable-e10s")
parser = StructuredOutputParser(config=self.config,
log_obj=self.log_obj,
strict=False)