Bug 1583353 - [mozharness] Remove '-chunked' mochitest and jittest suite definitions, r=gbrown
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Wed, 30 Oct 2019 21:41:24 +0000
changeset 500240 b989eb460f443844bfe1ab1f2ee00761e92a195b
parent 500239 bb34b6826ada3fdd31567c9bbfac1deba4d28256
child 500241 bca7369cc0d346bc1a3ba57e63ff5832f4d5a218
push id99475
push userahalberstadt@mozilla.com
push dateFri, 01 Nov 2019 20:35:12 +0000
treeherderautoland@c7b6e1aef3a0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgbrown
bugs1583353
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1583353 - [mozharness] Remove '-chunked' mochitest and jittest suite definitions, r=gbrown Having a distinction between -chunked and not adds unnecessary complexity. It's possible to simply remove them because: 1. The mozharness definitions for 'jittest' and 'jittest-chunked' are identical, so it is literally not serving any purpose. 2. The definitions for 'mochitest' only add either '--chunk-by-dir' or '--chunk-by-runtime'. Both of these are no-ops in the mochitest harness unless '--total-chunks' is also supplied. Therefore, if we ever use these suites without chunking (which I don't think we do anyway), then it'll still work fine as those options won't have any affect. Differential Revision: https://phabricator.services.mozilla.com/D51173
taskcluster/ci/test/compiled.yml
taskcluster/ci/test/mochitest.yml
taskcluster/taskgraph/actions/isolate_test.py
taskcluster/taskgraph/transforms/job/mozharness_test.py
testing/mozharness/configs/unittests/linux_unittest.py
testing/mozharness/configs/unittests/mac_unittest.py
testing/mozharness/configs/unittests/win_unittest.py
testing/mozharness/scripts/android_emulator_unittest.py
testing/mozharness/scripts/android_hardware_unittest.py
testing/mozharness/scripts/desktop_unittest.py
--- a/taskcluster/ci/test/compiled.yml
+++ b/taskcluster/ci/test/compiled.yml
@@ -64,19 +64,17 @@ gtest:
             windows10-64-shippable.*: 3
             windows10-64-pgo.*: 3
             windows10-64-asan.*: 3
             windows10-aarch64.*: 2
             default: default
 
 jittest:
     description: "JIT Test run"
-    suite:
-        category: jittest
-        name: jittest-chunked
+    suite: jittest
     treeherder-symbol: Jit
     run-on-projects:
         by-test-platform:
             # Turn off for all linux and windows platforms, since it is
             # redundant with SM(...) jobs -- except for code coverage builds,
             # which are still needed since ccov doesn't yet work with
             # spidermonkey jobs.
             #
--- a/taskcluster/ci/test/mochitest.yml
+++ b/taskcluster/ci/test/mochitest.yml
@@ -38,17 +38,17 @@ job-defaults:
                 macosx.*:
                     - unittests/mac_unittest.py
                 windows.*:
                     - unittests/win_unittest.py
 
 mochitest:
     description: "Mochitest plain run"
     suite:
-        name: mochitest-plain-chunked
+        name: mochitest-plain
     treeherder-symbol: M()
     loopback-video: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     chunks:
         by-test-platform:
@@ -85,17 +85,17 @@ mochitest-a11y:
     e10s: false
     run-on-projects: built-projects
     mozharness:
         mochitest-flavor: a11y
 
 mochitest-browser-chrome:
     description: "Mochitest browser-chrome run"
     suite:
-        name: mochitest-browser-chrome-chunked
+        name: mochitest-browser-chrome
     treeherder-symbol: M(bc)
     loopback-video: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     chunks:
         by-test-platform:
@@ -162,17 +162,17 @@ mochitest-chrome:
     e10s: false
     mozharness:
         mochitest-flavor: chrome
         chunked: true
 
 mochitest-devtools-chrome:
     description: "Mochitest devtools-chrome run"
     suite:
-        name: mochitest-devtools-chrome-chunked
+        name: mochitest-devtools-chrome
     treeherder-symbol: M(dt)
     loopback-video: true
     tier:
         by-test-platform:
             windows10-aarch64.*: 2
             default: default
     max-run-time:
         by-test-platform:
@@ -279,17 +279,17 @@ mochitest-media:
             android-em.*: 2
             windows10-aarch64.*: 2
             android-hw.*: 1
             default: default
 
 mochitest-plain-headless:
     description: "Mochitest plain headless run"
     suite:
-        name: mochitest-plain-chunked
+        name: mochitest-plain
     treeherder-symbol: M(h)
     loopback-video: true
     chunks:
         by-test-platform:
             linux.*/debug: 16
             default: 5
     e10s: true
     max-run-time: 5400
--- a/taskcluster/taskgraph/actions/isolate_test.py
+++ b/taskcluster/taskgraph/actions/isolate_test.py
@@ -123,18 +123,16 @@ def create_isolate_failure_tasks(task_de
         'reftest' in task_name and 'jsreftest' not in task_name):
         repeatable_task = True
 
     th_dict = task_definition['extra']['treeherder']
     symbol = th_dict['symbol']
     is_windows = 'windows' in th_dict['machine']['platform']
 
     suite = task_definition['extra']['suite']
-    if '-chunked' in suite:
-        suite = suite[:suite.index('-chunked')]
     if '-coverage' in suite:
         suite = suite[:suite.index('-coverage')]
     is_wpt = 'web-platform-tests' in suite
 
     # command is a copy of task_definition['payload']['command'] from the original task.
     # It is used to create the new version containing the
     # task_definition['payload']['command'] with repeat_args which is updated every time
     # through the failure_group loop.
--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -128,17 +128,17 @@ def mozharness_test_on_docker(config, jo
         'crashtest',
         'reftest',
         'reftest-no-accel',
         'web-platform-tests',
         'web-platform-tests-reftests',
         'xpcshell'
     ]
     if job['run']['test']['suite'] in suites_not_need_compiz or (
-            job['run']['test']['suite'] == 'mochitest-plain-chunked' and
+            job['run']['test']['suite'] == 'mochitest-plain' and
             job['run']['test']['try-name'] == 'mochitest-plain-headless'):
         env['NEED_COMPIZ'] = 'false'
 
     if mozharness.get('mochitest-flavor'):
         env['MOCHITEST_FLAVOR'] = mozharness['mochitest-flavor']
 
     if mozharness['set-moz-node-path']:
         env['MOZ_NODE_PATH'] = '/usr/local/bin/node'
--- a/testing/mozharness/configs/unittests/linux_unittest.py
+++ b/testing/mozharness/configs/unittests/linux_unittest.py
@@ -152,35 +152,31 @@ config = {
         },
     },
     # local mochi suites
     "all_mochitest_suites": {
         "mochitest-valgrind-plain": ["--valgrind=/usr/bin/valgrind",
                            "--valgrind-supp-files=" + VALGRIND_SUPP_ARCH +
                                "," + VALGRIND_SUPP_CROSS_ARCH,
                            "--timeout=900", "--max-timeouts=50"],
-        "mochitest-plain": [],
+        "mochitest-plain": ["--chunk-by-dir=4"],
         "mochitest-plain-gpu": ["--subsuite=gpu"],
-        "mochitest-plain-chunked": ["--chunk-by-dir=4"],
-        "mochitest-plain-chunked-coverage": ["--chunk-by-dir=4", "--timeout=1200"],
+        "mochitest-plain-coverage": ["--chunk-by-dir=4", "--timeout=1200"],
         "mochitest-media": ["--subsuite=media"],
-        "mochitest-chrome": ["--flavor=chrome", "--disable-e10s"],
+        "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
         "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"],
-        "mochitest-chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
-        "mochitest-browser-chrome": ["--flavor=browser"],
-        "mochitest-browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
+        "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"],
         "mochitest-browser-chrome-coverage": ["--flavor=browser", "--chunk-by-runtime", "--timeout=1200"],
         "mochitest-browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
         "mochitest-webgl1-core": ["--subsuite=webgl1-core"],
         "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"],
         "mochitest-webgl2-core": ["--subsuite=webgl2-core"],
         "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"],
         "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"],
-        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
-        "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
+        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-devtools-chrome-coverage": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime", "--timeout=1200"],
         "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"],
         "mochitest-remote": ["--flavor=browser", "--subsuite=remote"],
     },
     # local reftest suites
     "all_reftest_suites": {
         "crashtest": {
             "options": ["--suite=crashtest"],
@@ -220,17 +216,16 @@ config = {
     },
     "all_gtest_suites": {
         "gtest": []
     },
     "all_jittest_suites": {
         "jittest": [],
         "jittest1": ["--total-chunks=2", "--this-chunk=1"],
         "jittest2": ["--total-chunks=2", "--this-chunk=2"],
-        "jittest-chunked": [],
     },
     "run_cmd_checks_enabled": True,
     "preflight_run_cmd_suites": [
         # NOTE 'enabled' is only here while we have unconsolidated configs
         {
             "name": "disable_screen_saver",
             "cmd": ["xset", "s", "off", "s", "reset"],
             "halt_on_failure": False,
--- a/testing/mozharness/configs/unittests/mac_unittest.py
+++ b/testing/mozharness/configs/unittests/mac_unittest.py
@@ -121,33 +121,29 @@ config = {
                 "--utility-path=tests/bin",
                 "%(binary_path)s",
             ],
             "run_filename": "rungtests.py",
         },
     },
     # local mochi suites
     "all_mochitest_suites": {
-        "mochitest-plain": [],
+        "mochitest-plain": ["--chunk-by-dir=4"],
         "mochitest-plain-gpu": ["--subsuite=gpu"],
-        "mochitest-plain-chunked": ["--chunk-by-dir=4"],
         "mochitest-media": ["--subsuite=media"],
-        "mochitest-chrome": ["--flavor=chrome", "--disable-e10s"],
+        "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
         "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"],
-        "mochitest-chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
-        "mochitest-browser-chrome": ["--flavor=browser"],
-        "mochitest-browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
+        "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"],
         "mochitest-browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
         "mochitest-webgl1-core": ["--subsuite=webgl1-core"],
         "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"],
         "mochitest-webgl2-core": ["--subsuite=webgl2-core"],
         "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"],
         "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"],
-        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
-        "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
+        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-devtools-chrome-webreplay": ["--flavor=browser", "--subsuite=devtools-webreplay"],
         "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"],
         "mochitest-remote": ["--flavor=browser", "--subsuite=remote"],
     },
     # local reftest suites
     "all_reftest_suites": {
         "crashtest": {
             'options': ["--suite=crashtest"],
--- a/testing/mozharness/configs/unittests/win_unittest.py
+++ b/testing/mozharness/configs/unittests/win_unittest.py
@@ -144,33 +144,29 @@ config = {
                 "%(binary_path)s",
             ],
             "run_filename": "rungtests.py",
         },
     },
     # local mochi suites
     "all_mochitest_suites":
     {
-        "mochitest-plain": [],
+        "mochitest-plain": ["--chunk-by-dir=4"],
         "mochitest-plain-gpu": ["--subsuite=gpu"],
-        "mochitest-plain-chunked": ["--chunk-by-dir=4"],
         "mochitest-media": ["--subsuite=media"],
-        "mochitest-chrome": ["--flavor=chrome", "--disable-e10s"],
+        "mochitest-chrome": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
         "mochitest-chrome-gpu": ["--flavor=chrome", "--subsuite=gpu", "--disable-e10s"],
-        "mochitest-chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4", "--disable-e10s"],
-        "mochitest-browser-chrome": ["--flavor=browser"],
-        "mochitest-browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
+        "mochitest-browser-chrome": ["--flavor=browser", "--chunk-by-runtime"],
         "mochitest-browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
         "mochitest-webgl1-core": ["--subsuite=webgl1-core"],
         "mochitest-webgl1-ext": ["--subsuite=webgl1-ext"],
         "mochitest-webgl2-core": ["--subsuite=webgl2-core"],
         "mochitest-webgl2-ext": ["--subsuite=webgl2-ext"],
         "mochitest-webgl2-deqp": ["--subsuite=webgl2-deqp"],
-        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
-        "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
+        "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
         "mochitest-a11y": ["--flavor=a11y", "--disable-e10s"],
         "mochitest-remote": ["--flavor=browser", "--subsuite=remote"],
     },
     # local reftest suites
     "all_reftest_suites": {
         "crashtest": {
             'options': ["--suite=crashtest"],
             'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"]
--- a/testing/mozharness/scripts/android_emulator_unittest.py
+++ b/testing/mozharness/scripts/android_emulator_unittest.py
@@ -137,18 +137,16 @@ class AndroidEmulatorTest(TestingMixin, 
         # these are necessary since self.config is read only
         c = self.config
         self.installer_url = c.get('installer_url')
         self.installer_path = c.get('installer_path')
         self.test_url = c.get('test_url')
         self.test_packages_url = c.get('test_packages_url')
         self.test_manifest = c.get('test_manifest')
         suite = c.get('test_suite')
-        if suite and '-chunked' in suite:
-            suite = suite[:suite.index('-chunked')]
         self.test_suite = suite
         self.this_chunk = c.get('this_chunk')
         self.total_chunks = c.get('total_chunks')
         self.xre_path = None
         self.device_serial = 'emulator-5554'
         self.log_raw_level = c.get('log_raw_level')
         self.log_tbpl_level = c.get('log_tbpl_level')
         self.e10s = c.get('e10s')
--- a/testing/mozharness/scripts/android_hardware_unittest.py
+++ b/testing/mozharness/scripts/android_hardware_unittest.py
@@ -126,18 +126,16 @@ class AndroidHardwareTest(TestingMixin, 
         # these are necessary since self.config is read only
         c = self.config
         self.installer_url = c.get('installer_url')
         self.installer_path = c.get('installer_path')
         self.test_url = c.get('test_url')
         self.test_packages_url = c.get('test_packages_url')
         self.test_manifest = c.get('test_manifest')
         suite = c.get('test_suite')
-        if suite and '-chunked' in suite:
-            suite = suite[:suite.index('-chunked')]
         self.test_suite = suite
         self.this_chunk = c.get('this_chunk')
         self.total_chunks = c.get('total_chunks')
         self.xre_path = None
         self.log_raw_level = c.get('log_raw_level')
         self.log_tbpl_level = c.get('log_tbpl_level')
         self.e10s = c.get('e10s')
         self.enable_webrender = c.get('enable_webrender')
--- a/testing/mozharness/scripts/desktop_unittest.py
+++ b/testing/mozharness/scripts/desktop_unittest.py
@@ -369,19 +369,16 @@ class DesktopUnittest(TestingMixin, Merc
             self.fatal("self.installer_url was not found in self.config")
         self.info("setting symbols_url as %s" % (symbols_url))
         self.symbols_url = symbols_url
         return self.symbols_url
 
     def _get_mozharness_test_paths(self, suite_category, suite):
         test_paths = json.loads(os.environ.get('MOZHARNESS_TEST_PATHS', '""'))
 
-        if '-chunked' in suite:
-            suite = suite[:suite.index('-chunked')]
-
         if '-coverage' in suite:
             suite = suite[:suite.index('-coverage')]
 
         if not test_paths or suite not in test_paths:
             return None
 
         suite_test_paths = test_paths[suite]
 
@@ -463,17 +460,17 @@ class DesktopUnittest(TestingMixin, Merc
             # set pluginsPath
             abs_res_plugins_dir = os.path.join(abs_res_dir, 'plugins')
             str_format_values['test_plugin_path'] = abs_res_plugins_dir
 
             if suite_category not in c["suite_definitions"]:
                 self.fatal("'%s' not defined in the config!")
 
             if suite in ('browser-chrome-coverage', 'xpcshell-coverage',
-                         'mochitest-devtools-chrome-coverage', 'plain-chunked-coverage'):
+                         'mochitest-devtools-chrome-coverage', 'plain-coverage'):
                 base_cmd.append('--jscov-dir-prefix=%s' %
                                 dirs['abs_blob_upload_dir'])
 
             options = c["suite_definitions"][suite_category]["options"]
             if options:
                 for option in options:
                     option = option % str_format_values
                     if not option.endswith('None'):