Bug 1099244 - Split reftest into two chunks on linux32 for gecko >= 36, r=jlund
authorJonathan Griffin <jgriffin@mozilla.com>
Tue, 16 Dec 2014 14:39:54 -0800 (2014-12-16)
changeset 11570 847725a71b7e65984a7633842f8a4a388940bda6
parent 11569 333ff4057cb9570a960ce2525c21d3b455d48ae8
child 11571 db767bbeae20675ca598dd91fefd2e0d39c066ef
push id8430
push userjgriffin@mozilla.com
push dateTue, 16 Dec 2014 22:40:07 +0000 (2014-12-16)
reviewersjlund
bugs1099244
Bug 1099244 - Split reftest into two chunks on linux32 for gecko >= 36, r=jlund
mozilla-tests/config.py
--- a/mozilla-tests/config.py
+++ b/mozilla-tests/config.py
@@ -458,51 +458,54 @@ WEBAPPRT_CHROME = [
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--webapprt-suite', 'chrome'],
         'blob_upload': True,
         'script_maxtime': 4800,
     })
 ]
 
-REFTEST_NO_IPC = [
+REFTEST_ONE_CHUNK = [
     ('reftest', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--reftest-suite', 'reftest'],
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
+]
+
+REFTEST_TWO_CHUNKS = [
+    ('reftest', {
+        'use_mozharness': True,
+        'script_path': 'scripts/desktop_unittest.py',
+        'extra_args': ['--reftest-suite', 'reftest'],
+        'blob_upload': True,
+        'script_maxtime': 7200,
+        'totalChunks': 2,
+    }),
+]
+
+REFTEST_NO_IPC = [
     ('jsreftest', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--reftest-suite', 'jsreftest'],
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
     ('crashtest', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--reftest-suite', 'crashtest'],
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
 ]
 
-REFTEST_TWO_CHUNKS = [
-    ('reftest', {
-        'use_mozharness': True,
-        'script_path': 'scripts/desktop_unittest.py',
-        'extra_args': ['--reftest-suite', 'reftest'],
-        'blob_upload': True,
-        'script_maxtime': 7200,
-        'totalChunks': 2,
-    }),
-]
-
 REFTEST_NOACCEL = [
     ('reftest-no-accel', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--reftest-suite', 'reftest-no-accel'],
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
@@ -631,18 +634,18 @@ WEB_PLATFORM_TESTS_CHUNKED = [
         'totalChunks': 4,
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
 ]
 
 
 UNITTEST_SUITES = {
-    'opt_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT,
-    'debug_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MARIONETTE + MOCHITEST_DT_3,
+    'opt_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT,
+    'debug_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MARIONETTE + MOCHITEST_DT_3,
 }
 
 
 # You must define opt_unittest_suites when enable_opt_unittests is True for a
 # platform. Likewise debug_unittest_suites for enable_debug_unittests
 PLATFORM_UNITTEST_VARS = {
     'linux': {
         'product_name': 'firefox',
@@ -990,17 +993,17 @@ PLATFORM_UNITTEST_VARS = {
         'builds_before_reboot': 1,
         'mochitest_leak_threshold': 484,
         'crashtest_leak_threshold': 484,
         'env_name': 'win32-perf-unittest',
         'enable_opt_unittests': True,
         'enable_debug_unittests': True,
         'xp-ix': {
             'opt_unittest_suites': UNITTEST_SUITES['opt_unittest_suites'][:],
-            'debug_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + MOCHITEST_DT_3,
+            'debug_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + MOCHITEST_DT_3,
             'suite_config': {
                 'mochitest': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
@@ -1068,17 +1071,17 @@ PLATFORM_UNITTEST_VARS = {
                 },
                 'web-platform-tests-reftests': {
                     'config_files': ["web_platform_tests/prod_config_windows.py"],
                 },
             },
         },
         'win7-ix': {
             'opt_unittest_suites': UNITTEST_SUITES['opt_unittest_suites'][:] + REFTEST_NOACCEL,
-            'debug_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + MOCHITEST_DT_3,
+            'debug_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + MOCHITEST_DT_3,
             'suite_config': {
                 'mochitest': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
@@ -1149,17 +1152,17 @@ PLATFORM_UNITTEST_VARS = {
                 },
                 'web-platform-tests-reftests': {
                     'config_files': ["web_platform_tests/prod_config_windows.py"],
                 },
             },
         },
         'win8': {
             'opt_unittest_suites': UNITTEST_SUITES['opt_unittest_suites'][:] + REFTEST_NOACCEL[:],
-            'debug_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT_3,
+            'debug_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT_3,
             'suite_config': {
                 'mochitest': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
@@ -1241,17 +1244,17 @@ PLATFORM_UNITTEST_VARS = {
         'builds_before_reboot': 1,
         'mochitest_leak_threshold': 484,
         'crashtest_leak_threshold': 484,
         'env_name': 'win64-perf-unittest',
         'enable_opt_unittests': True,
         'enable_debug_unittests': True,
         'win8_64': {
             'opt_unittest_suites': UNITTEST_SUITES['opt_unittest_suites'][:] + REFTEST_NOACCEL[:],
-            'debug_unittest_suites': MOCHITEST + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT_3,
+            'debug_unittest_suites': MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + XPCSHELL + CPPUNIT + MOCHITEST_DT_3,
             'suite_config': {
                 'mochitest': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
@@ -1753,20 +1756,16 @@ BRANCHES['try']['enable_try'] = True
 BRANCHES['try']['script_repo_manifest'] = \
         "https://hg.mozilla.org/%(repo_path)s/raw-file/%(revision)s/testing/mozharness/mozharness.json"
 
 ######## ash
 BRANCHES['ash']['script_repo_manifest'] = \
         "https://hg.mozilla.org/%(repo_path)s/raw-file/%(revision)s/testing/mozharness/mozharness.json"
 
 ######## cedar
-BRANCHES['cedar']['platforms']['linux']['ubuntu32_vm']['opt_unittest_suites'] = \
-    [x for x in BRANCHES['cedar']['platforms']['linux']['ubuntu32_vm']['opt_unittest_suites'] if x[0] != 'reftest'] + REFTEST_TWO_CHUNKS[:]
-BRANCHES['cedar']['platforms']['linux']['ubuntu32_vm']['debug_unittest_suites'] = \
-    [x for x in BRANCHES['cedar']['platforms']['linux']['ubuntu32_vm']['debug_unittest_suites'] if x[0] != 'reftest'] + REFTEST_TWO_CHUNKS[:]
 BRANCHES['cedar']['platforms']['linux64-asan']['ubuntu64-asan_vm']['opt_unittest_suites'] += MARIONETTE[:]
 BRANCHES['cedar']['platforms']['macosx64']['yosemite']['opt_unittest_suites'] = UNITTEST_SUITES['opt_unittest_suites'][:]
 BRANCHES['cedar']['platforms']['macosx64']['yosemite']['debug_unittest_suites'] = UNITTEST_SUITES['debug_unittest_suites'][:]
 BRANCHES['cedar']['platforms']['win32']['xp-ix']['opt_unittest_suites'] += REFTEST_OMTC[:]
 BRANCHES['cedar']['platforms']['win32']['win7-ix']['opt_unittest_suites'] += REFTEST_OMTC[:]
 BRANCHES['cedar']['platforms']['win64']['win8_64']['opt_unittest_suites'] += REFTEST_OMTC[:]
 BRANCHES['cedar']['platforms']['win32']['xp-ix']['debug_unittest_suites'] += REFTEST_OMTC[:]
 BRANCHES['cedar']['platforms']['win32']['win7-ix']['debug_unittest_suites'] += REFTEST_OMTC[:]
@@ -1802,18 +1801,18 @@ BRANCHES['mozilla-inbound']['platforms']
 
 # Filter the tests that are enabled on holly for bug 985718.
 for platform in BRANCHES['holly']['platforms'].keys():
     if platform not in PLATFORMS:
         continue
 
     for slave_platform in PLATFORMS[platform]['slave_platforms']:
         slave_p = BRANCHES['holly']['platforms'][platform][slave_platform]
-        slave_p['opt_unittest_suites'] = MOCHITEST + REFTEST_NO_IPC + MOCHITEST_DT
-        slave_p['debug_unittest_suites'] = MOCHITEST + REFTEST_NO_IPC + MOCHITEST_DT_3
+        slave_p['opt_unittest_suites'] = MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + MOCHITEST_DT
+        slave_p['debug_unittest_suites'] = MOCHITEST + REFTEST_ONE_CHUNK + REFTEST_NO_IPC + MOCHITEST_DT_3
 
         # Enable content sandbox tests for Windows bit
         if slave_platform in PLATFORMS['win64']['slave_platforms'] or slave_platform in PLATFORMS['win32']['slave_platforms']:
             slave_p['opt_unittest_suites'] += MOCHITEST_CSB
             slave_p['debug_unittest_suites'] += MOCHITEST_CSB
 
 # Enable Yosemite testing on select branches only
 delete_slave_platform(BRANCHES, PLATFORMS, {'macosx64': 'yosemite'}, branch_exclusions=['cedar'])
@@ -1920,16 +1919,31 @@ for platform in PLATFORMS.keys():
     if platform not in ['linux']:
         continue
     for name, branch in items_before(BRANCHES, 'gecko_version', 36):
         for slave_platform in PLATFORMS[platform]['slave_platforms']:
             if platform in BRANCHES[name]['platforms']:
                 if slave_platform in BRANCHES[name]['platforms'][platform]:
                     BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] += REFTEST_IPC
 
+# reftest is chunked on linux32 for gecko >= 36
+for platform in PLATFORMS.keys():
+    for name, branch in items_at_least(BRANCHES, 'gecko_version', 36):
+        for slave_platform in PLATFORMS[platform]['slave_platforms']:
+            if slave_platform not in ['ubuntu32_vm']:
+                continue
+            if platform in BRANCHES[name]['platforms']:
+                if slave_platform in BRANCHES[name]['platforms'][platform]:
+                    opt_suites = BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites']
+                    opt_suites = [x for x in opt_suites if x[0] and x[0] != 'reftest'] + REFTEST_TWO_CHUNKS
+                    BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] = opt_suites
+                    debug_suites = BRANCHES[name]['platforms'][platform][slave_platform]['debug_unittest_suites']
+                    debug_suites = [x for x in debug_suites if x[0] and x[0] != 'reftest'] + REFTEST_TWO_CHUNKS
+                    BRANCHES[name]['platforms'][platform][slave_platform]['debug_unittest_suites'] = debug_suites
+
 # Enable jittests on trunk trees https://bugzilla.mozilla.org/show_bug.cgi?id=973900
 for platform in PLATFORMS.keys():
     # run in chunks on linux only
     if platform in ['linux', 'linux64', 'linux64-asan', 'linux64-cc']:
         jittests = JITTEST_CHUNKED
     else:
         jittests = JITTEST