Bug 1376546 - Set up browser instrumentation as a new taskcluster job;r=jmaher draft
authorBrian Grinstead <bgrinstead@mozilla.com>
Tue, 07 Nov 2017 15:19:20 -0800
changeset 694606 e2fe04a4217aa40a4a2f7371b4ff06a8e10a3119
parent 694605 8b8267cb83c88132a67ae51b59fe287fd6b56184
child 739371 b93a915e05b58385040c4ac50ed7427a8e395aaf
push id88170
push userbgrinstead@mozilla.com
push dateTue, 07 Nov 2017 23:19:32 +0000
reviewersjmaher
bugs1376546
milestone58.0a1
Bug 1376546 - Set up browser instrumentation as a new taskcluster job;r=jmaher MozReview-Commit-ID: 423Y58ULPPA
taskcluster/ci/test/mochitest.yml
taskcluster/ci/test/test-platforms.yml
taskcluster/ci/test/test-sets.yml
testing/mozharness/configs/unittests/linux_unittest.py
testing/mozharness/configs/unittests/mac_unittest.py
testing/mozharness/configs/unittests/win_taskcluster_unittest.py
testing/mozharness/configs/unittests/win_unittest.py
testing/mozharness/scripts/desktop_unittest.py
--- a/taskcluster/ci/test/mochitest.yml
+++ b/taskcluster/ci/test/mochitest.yml
@@ -115,16 +115,27 @@ mochitest-browser-chrome:
             linux64-jsdcov/opt: xlarge
             default: default
     allow-software-gl-layers: false
     tier:
         by-test-platform:
             windows10-64-asan.*: 3
             default: default
 
+browser-instrumentation:
+    description: "Extra instrumentation for a browser-chrome run (XUL, XBL, etc)"
+    suite: mochitest/browser-chrome-instrumentation
+    treeherder-symbol: tc-M(inst)
+    loopback-video: true
+    tier: 3
+    max-run-time: 14400
+    mozharness:
+        mochitest-flavor: browser
+    allow-software-gl-layers: false
+
 browser-screenshots:
     description: "Browser Screenshots"
     suite: mochitest/browser-chrome-screenshots
     treeherder-symbol: tc-M(ss)
     loopback-video: true
     run-on-projects:
         by-test-platform:
             windows.*/opt: ['mozilla-central']
--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -216,16 +216,17 @@ windows10-64/debug:
         - windows-tests
         - mochitest-headless
 
 windows10-64/opt:
     build-platform: win64/opt
     test-sets:
         - awsy
         - desktop-screenshot-capture
+        - desktop-instrumentation
         - windows-talos
         - windows-talos-stylo-disabled
         - windows-tests
         - mochitest-headless
 
 windows10-64-pgo/opt:
     build-platform: win64-pgo/opt
     test-sets:
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -304,16 +304,19 @@ linux32-tests:
 
 linux32-opt-tests:
     # mochitest-dt is too slow on linux32/debug
     - mochitest-devtools-chrome
 
 desktop-screenshot-capture:
     - browser-screenshots
 
+desktop-instrumentation:
+    - browser-instrumentation
+
 android-common-tests:
     - cppunit
     - crashtest
     - jsreftest
     - mochitest
     - mochitest-chrome
     - mochitest-clipboard
     - mochitest-gpu
--- a/testing/mozharness/configs/unittests/linux_unittest.py
+++ b/testing/mozharness/configs/unittests/linux_unittest.py
@@ -194,16 +194,17 @@ config = {
         "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--flavor=browser"],
         "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
         "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
         "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-coverage": ["--flavor=browser", "--chunk-by-runtime", "--timeout=1200"],
         "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
+        "browser-chrome-instrumentation": ["--flavor=browser"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
         "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-devtools-chrome-coverage": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime", "--timeout=1200"],
         "a11y": ["--flavor=a11y"],
     },
     # local reftest suites
     "all_reftest_suites": {
--- a/testing/mozharness/configs/unittests/mac_unittest.py
+++ b/testing/mozharness/configs/unittests/mac_unittest.py
@@ -159,16 +159,17 @@ config = {
         "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"],
         "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--flavor=browser"],
         "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
         "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
         "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
+        "browser-chrome-instrumentation": ["--flavor=browser"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
         "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "a11y": ["--flavor=a11y"],
     },
     # local reftest suites
     "all_reftest_suites": {
         "crashtest": {
--- a/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
+++ b/testing/mozharness/configs/unittests/win_taskcluster_unittest.py
@@ -171,16 +171,17 @@ config = {
         "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"],
         "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--flavor=browser"],
         "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
         "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
         "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
+        "browser-chrome-instrumentation": ["--flavor=browser"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
         "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"],
         "a11y": ["--flavor=a11y"],
     },
     # local reftest suites
     "all_reftest_suites": {
--- a/testing/mozharness/configs/unittests/win_unittest.py
+++ b/testing/mozharness/configs/unittests/win_unittest.py
@@ -170,16 +170,17 @@ config = {
         "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"],
         "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--flavor=browser"],
         "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
         "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
         "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
+        "browser-chrome-instrumentation": ["--flavor=browser"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
         "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"],
         "a11y": ["--flavor=a11y"],
     },
     # local reftest suites
     "all_reftest_suites": {
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -696,17 +696,19 @@ class DesktopUnittest(TestingMixin, Merc
                 replace_dict = {
                     'abs_app_dir': abs_app_dir,
 
                     # Mac specific, but points to abs_app_dir on other
                     # platforms.
                     'abs_res_dir': abs_res_dir,
                 }
                 options_list = []
-                env = {}
+                env = {
+                    'TEST_SUITE': suite
+                }
                 if isinstance(suites[suite], dict):
                     options_list = suites[suite].get('options', [])
                     if self.config.get('verify') is True:
                         tests_list = []
                     else:
                         tests_list = suites[suite].get('tests', [])
                     env = copy.deepcopy(suites[suite].get('env', {}))
                 else: