зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1558598
- Force WebRender on or off in the raptor harness. r=rwood
Differential Revision: https://phabricator.services.mozilla.com/D35857 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
14cf3a5147
Коммит
c3de0e7d73
|
@ -86,7 +86,7 @@ class Raptor(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidMixin):
|
|||
"action": "store_true",
|
||||
"dest": "enable_webrender",
|
||||
"default": False,
|
||||
"help": "Tries to enable the WebRender compositor.",
|
||||
"help": "Enable the WebRender compositor in Gecko.",
|
||||
}],
|
||||
[["--geckoProfile"], {
|
||||
"dest": "gecko_profile",
|
||||
|
@ -398,6 +398,8 @@ class Raptor(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidMixin):
|
|||
options.extend(['--memory-test'])
|
||||
if self.config.get('cpu_test', False):
|
||||
options.extend(['--cpu-test'])
|
||||
if self.config.get('enable_webrender', False):
|
||||
options.extend(['--enable-webrender'])
|
||||
for key, value in kw_options.items():
|
||||
options.extend(['--%s' % key, value])
|
||||
|
||||
|
@ -586,12 +588,6 @@ class Raptor(TestingMixin, MercurialScript, CodeCoverageMixin, AndroidMixin):
|
|||
else:
|
||||
env['PYTHONPATH'] = self.raptor_path
|
||||
|
||||
# if running in production on a quantum_render build
|
||||
if self.config['enable_webrender']:
|
||||
self.info("webrender is enabled so setting MOZ_WEBRENDER=1 and MOZ_ACCELERATED=1")
|
||||
env['MOZ_WEBRENDER'] = '1'
|
||||
env['MOZ_ACCELERATED'] = '1'
|
||||
|
||||
# mitmproxy needs path to mozharness when installing the cert, and tooltool
|
||||
env['SCRIPTSPATH'] = scripts_path
|
||||
env['EXTERNALTOOLSPATH'] = external_tools_path
|
||||
|
|
|
@ -134,6 +134,8 @@ def create_parser(mach_interface=False):
|
|||
help="Run Raptor in debug mode (open browser console, limited page-cycles, etc.)")
|
||||
add_arg('--disable-e10s', dest="e10s", action="store_false", default=True,
|
||||
help="Run without multiple processes (e10s).")
|
||||
add_arg('--enable-webrender', dest="enable_webrender", action="store_true", default=False,
|
||||
help="Enable the WebRender compositor in Gecko.")
|
||||
if not mach_interface:
|
||||
add_arg('--run-local', dest="run_local", default=False, action="store_true",
|
||||
help="Flag which indicates if Raptor is running locally or in production")
|
||||
|
@ -165,6 +167,12 @@ def verify_options(parser, args):
|
|||
parser.error("Power test is only supported when running Raptor on Firefox Android "
|
||||
"browsers when host is specified!")
|
||||
|
||||
# if --enable-webrender specified, must be on desktop firefox or geckoview-based browser.
|
||||
if args.enable_webrender:
|
||||
if args.app not in ["firefox", "geckoview", "refbrow", "fenix"]:
|
||||
parser.error("WebRender is only supported when running Raptor on Firefox Desktop "
|
||||
"or GeckoView-based Android browsers!")
|
||||
|
||||
# if running on geckoview/refbrow/fenix, we need an activity and intent
|
||||
if args.app in ["geckoview", "refbrow", "fenix"]:
|
||||
if not args.activity:
|
||||
|
|
|
@ -84,7 +84,7 @@ class Raptor(object):
|
|||
gecko_profile=False, gecko_profile_interval=None, gecko_profile_entries=None,
|
||||
symbols_path=None, host=None, power_test=False, cpu_test=False, memory_test=False,
|
||||
is_release_build=False, debug_mode=False, post_startup_delay=None,
|
||||
interrupt_handler=None, e10s=True, **kwargs):
|
||||
interrupt_handler=None, e10s=True, enable_webrender=False, **kwargs):
|
||||
|
||||
# Override the magic --host HOST_IP with the value of the environment variable.
|
||||
if host == 'HOST_IP':
|
||||
|
@ -108,6 +108,7 @@ class Raptor(object):
|
|||
'is_release_build': is_release_build,
|
||||
'enable_control_server_wait': memory_test,
|
||||
'e10s': e10s,
|
||||
'enable_webrender': enable_webrender,
|
||||
}
|
||||
|
||||
self.raptor_venv = os.path.join(os.getcwd(), 'raptor-venv')
|
||||
|
@ -501,6 +502,12 @@ class RaptorDesktop(Raptor):
|
|||
self.config['binary'], profile=self.profile, process_args=process_args,
|
||||
symbols_path=self.config['symbols_path'])
|
||||
|
||||
if self.config['enable_webrender']:
|
||||
self.runner.env['MOZ_WEBRENDER'] = '1'
|
||||
self.runner.env['MOZ_ACCELERATED'] = '1'
|
||||
else:
|
||||
self.runner.env['MOZ_WEBRENDER'] = '0'
|
||||
|
||||
def launch_desktop_browser(self, test):
|
||||
raise NotImplementedError
|
||||
|
||||
|
@ -956,7 +963,8 @@ class RaptorAndroid(Raptor):
|
|||
|
||||
extra_args = ["-profile", self.remote_profile,
|
||||
"--es", "env0", "LOG_VERBOSE=1",
|
||||
"--es", "env1", "R_LOG_LEVEL=6"]
|
||||
"--es", "env1", "R_LOG_LEVEL=6",
|
||||
"--es", "env2", "MOZ_WEBRENDER=%d" % self.config['enable_webrender']]
|
||||
|
||||
try:
|
||||
# make sure the android app is not already running
|
||||
|
@ -1258,6 +1266,7 @@ def main(args=sys.argv[1:]):
|
|||
activity=args.activity,
|
||||
intent=args.intent,
|
||||
interrupt_handler=SignalHandler(),
|
||||
enable_webrender=args.enable_webrender,
|
||||
)
|
||||
|
||||
success = raptor.run_tests(raptor_test_list, raptor_test_names)
|
||||
|
|
|
@ -18,7 +18,8 @@ def test_verify_options(filedir):
|
|||
debug='True',
|
||||
power_test=False,
|
||||
cpu_test=False,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
parser = ArgumentParser()
|
||||
|
||||
with pytest.raises(SystemExit):
|
||||
|
@ -36,7 +37,8 @@ def test_verify_options(filedir):
|
|||
host='sophie',
|
||||
power_test=False,
|
||||
cpu_test=False,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
verify_options(parser, args) # assert no exception
|
||||
|
||||
args = Namespace(app='refbrow',
|
||||
|
@ -48,7 +50,8 @@ def test_verify_options(filedir):
|
|||
host='sophie',
|
||||
power_test=False,
|
||||
cpu_test=False,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
verify_options(parser, args) # assert no exception
|
||||
|
||||
args = Namespace(app='fenix',
|
||||
|
@ -60,7 +63,8 @@ def test_verify_options(filedir):
|
|||
host='sophie',
|
||||
power_test=False,
|
||||
cpu_test=False,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
verify_options(parser, args) # assert no exception
|
||||
|
||||
args = Namespace(app='geckoview',
|
||||
|
@ -72,7 +76,8 @@ def test_verify_options(filedir):
|
|||
host='sophie',
|
||||
power_test=False,
|
||||
cpu_test=True,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
verify_options(parser, args) # assert no exception
|
||||
|
||||
args = Namespace(app='refbrow',
|
||||
|
@ -84,7 +89,8 @@ def test_verify_options(filedir):
|
|||
host='sophie',
|
||||
power_test=False,
|
||||
cpu_test=False,
|
||||
memory_test=False)
|
||||
memory_test=False,
|
||||
enable_webrender=False)
|
||||
parser = ArgumentParser()
|
||||
|
||||
verify_options(parser, args) # also will work as uses default activity
|
||||
|
|
Загрузка…
Ссылка в новой задаче