From c5bb1b32317b4245b7b1a93a28fa1d7df4e169c3 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Sat, 13 May 2017 07:47:43 -0400 Subject: [PATCH] Bug 1342488 - Add an option to mozharness to enable WebRender. r=jmaher This allows running tests with WebRender enabled, using builds that have WebRender built-in, but not enabled by default. MozReview-Commit-ID: HkFgB09J7gT --- .../mozharness/mozilla/testing/firefox_media_tests.py | 8 ++++++++ .../mozharness/mozilla/testing/firefox_ui_tests.py | 8 ++++++++ testing/mozharness/scripts/desktop_unittest.py | 9 +++++++++ testing/mozharness/scripts/marionette.py | 9 +++++++++ testing/mozharness/scripts/web_platform_tests.py | 11 ++++++++++- 5 files changed, 44 insertions(+), 1 deletion(-) diff --git a/testing/mozharness/mozharness/mozilla/testing/firefox_media_tests.py b/testing/mozharness/mozharness/mozilla/testing/firefox_media_tests.py index 1ac393e95eff..dee4b0989c3f 100644 --- a/testing/mozharness/mozharness/mozilla/testing/firefox_media_tests.py +++ b/testing/mozharness/mozharness/mozilla/testing/firefox_media_tests.py @@ -84,6 +84,12 @@ media_test_config_options = [ "default": False, "help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor." }], + [["--enable-webrender"], + {"action": "store_true", + "dest": "enable_webrender", + "default": False, + "help": "Tries to enable the WebRender compositor."} + }], ] + (copy.deepcopy(testing_config_options)) class JobResultParser(TestSummaryOutputParserHelper): @@ -305,6 +311,8 @@ class FirefoxMediaTestsBase(TestingMixin, VCSToolsScript): if self.config['allow_software_gl_layers']: env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1' + if self.config['enable_webrender']: + env['MOZ_WEBRENDER'] = '1' return_code = self.run_command( cmd, diff --git a/testing/mozharness/mozharness/mozilla/testing/firefox_ui_tests.py b/testing/mozharness/mozharness/mozilla/testing/firefox_ui_tests.py index 6b61ec0e3ae9..b05269d36562 100644 --- a/testing/mozharness/mozharness/mozilla/testing/firefox_ui_tests.py +++ b/testing/mozharness/mozharness/mozilla/testing/firefox_ui_tests.py @@ -32,6 +32,12 @@ firefox_ui_tests_config_options = [ "default": False, "help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor.", }], + [["--enable-webrender"], { + "action": "store_true", + "dest": "enable_webrender", + "default": False, + "help": "Tries to enable the WebRender compositor.", + }], [['--dry-run'], { 'dest': 'dry_run', 'default': False, @@ -254,6 +260,8 @@ class FirefoxUITests(TestingMixin, VCSToolsScript, CodeCoverageMixin): if self.config['allow_software_gl_layers']: env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1' + if self.config['enable_webrender']: + env['MOZ_WEBRENDER'] = '1' return_code = self.run_command(cmd, cwd=dirs['abs_work_dir'], diff --git a/testing/mozharness/scripts/desktop_unittest.py b/testing/mozharness/scripts/desktop_unittest.py index c08f8bdb5fc0..78405cd1e53a 100755 --- a/testing/mozharness/scripts/desktop_unittest.py +++ b/testing/mozharness/scripts/desktop_unittest.py @@ -156,6 +156,12 @@ class DesktopUnittest(TestingMixin, MercurialScript, BlobUploadMixin, MozbaseMix "default": False, "help": "Forcibly enable parallel traversal in Stylo with STYLO_THREADS=4"} ], + [["--enable-webrender"], { + "action": "store_true", + "dest": "enable_webrender", + "default": False, + "help": "Tries to enable the WebRender compositor."} + ], ] + copy.deepcopy(testing_config_options) + \ copy.deepcopy(blobupload_config_options) + \ copy.deepcopy(code_coverage_config_options) @@ -710,6 +716,9 @@ class DesktopUnittest(TestingMixin, MercurialScript, BlobUploadMixin, MozbaseMix if self.config['allow_software_gl_layers']: env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1' + if self.config['enable_webrender']: + env['MOZ_WEBRENDER'] = '1' + env['STYLO_THREADS'] = '4' if self.config['parallel_stylo_traversal'] else '1' env = self.query_env(partial_env=env, log_level=INFO) diff --git a/testing/mozharness/scripts/marionette.py b/testing/mozharness/scripts/marionette.py index 0b0c1cf6e07c..d0bb37654148 100755 --- a/testing/mozharness/scripts/marionette.py +++ b/testing/mozharness/scripts/marionette.py @@ -97,6 +97,13 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix "default": False, "help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor." } + ], [ + ["--enable-webrender"], + {"action": "store_true", + "dest": "enable_webrender", + "default": False, + "help": "Tries to enable the WebRender compositor." + } ]] + copy.deepcopy(testing_config_options) \ + copy.deepcopy(blobupload_config_options) \ + copy.deepcopy(code_coverage_config_options) @@ -311,6 +318,8 @@ class MarionetteTest(TestingMixin, MercurialScript, BlobUploadMixin, TransferMix if self.config['allow_software_gl_layers']: env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1' + if self.config['enable_webrender']: + env['MOZ_WEBRENDER'] = '1' if not os.path.isdir(env['MOZ_UPLOAD_DIR']): self.mkdir_p(env['MOZ_UPLOAD_DIR']) diff --git a/testing/mozharness/scripts/web_platform_tests.py b/testing/mozharness/scripts/web_platform_tests.py index dd13b73b4856..5db640a4cb53 100755 --- a/testing/mozharness/scripts/web_platform_tests.py +++ b/testing/mozharness/scripts/web_platform_tests.py @@ -52,7 +52,14 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin, CodeCovera "action": "store_true", "dest": "allow_software_gl_layers", "default": False, - "help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor."}] + "help": "Permits a software GL implementation (such as LLVMPipe) to use the GL compositor."} + ], + [["--enable-webrender"], { + "action": "store_true", + "dest": "enable_webrender", + "default": False, + "help": "Tries to enable the WebRender compositor."} + ] ] + copy.deepcopy(testing_config_options) + \ copy.deepcopy(blobupload_config_options) + \ copy.deepcopy(code_coverage_config_options) @@ -245,6 +252,8 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin, CodeCovera if self.config['allow_software_gl_layers']: env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1' + if self.config['enable_webrender']: + env['MOZ_WEBRENDER'] = '1' env = self.query_env(partial_env=env, log_level=INFO)