Bug 1200437 - Increase m-bc and m-e10s-bc chunks to 10 in many places, r=jlund
authorJonathan Griffin <jgriffin@mozilla.com>
Tue, 08 Sep 2015 17:25:00 -0700 (2015-09-09)
changeset 12956 4ea623c6d6f1c4c2eb11dd464a80e41f63d683e5
parent 12955 8f6eb50478319c517b66194ea4974d927960d673
child 12957 3dd133bb18d8159f3e162ae2d7ef45d9d8f622f9
child 12958 219715a0395f156613153f8d0a231074a2849e73
push id9224
push userjgriffin@mozilla.com
push dateWed, 09 Sep 2015 00:25:13 +0000 (2015-09-09)
reviewersjlund
bugs1200437
Bug 1200437 - Increase m-bc and m-e10s-bc chunks to 10 in many places, r=jlund
mozilla-tests/config.py
--- a/mozilla-tests/config.py
+++ b/mozilla-tests/config.py
@@ -57,16 +57,18 @@ BRANCHES = {
         },
         'lock_platforms': True,
     },
     'try': {
         'coallesce_jobs': False,
     },
 }
 
+TWIGS = [x for x in ACTIVE_PROJECT_BRANCHES if x not in ('mozilla-inbound', 'fx-team', 'b2g-inbound')]
+
 setMainFirefoxVersions(BRANCHES)
 
 # Talos
 PLATFORMS = {
     'linux': {},
     'linux64': {},
     'linux64-asan': {},
     'linux64-cc': {},
@@ -403,27 +405,49 @@ MOCHITEST_BC_3 = [
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mochitest-suite', 'browser-chrome-chunked'],
         'blob_upload': True,
         'script_maxtime': 12000,
         'totalChunks': 3,
     }),
 ]
 
+MOCHITEST_BC_7 = [
+    ('mochitest-browser-chrome', {
+        'use_mozharness': True,
+        'script_path': 'scripts/desktop_unittest.py',
+        'extra_args': ['--mochitest-suite', 'browser-chrome-chunked'],
+        'blob_upload': True,
+        'script_maxtime': 12000,
+        'totalChunks': 7,
+    }),
+]
+
 MOCHITEST_BC_3_E10S = [
     ('mochitest-e10s-browser-chrome', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mochitest-suite', 'browser-chrome-chunked', '--e10s'],
         'blob_upload': True,
         'script_maxtime': 12000,
         'totalChunks': 3,
     }),
 ]
 
+MOCHITEST_BC_7_E10S = [
+    ('mochitest-e10s-browser-chrome', {
+        'use_mozharness': True,
+        'script_path': 'scripts/desktop_unittest.py',
+        'extra_args': ['--mochitest-suite', 'browser-chrome-chunked', '--e10s'],
+        'blob_upload': True,
+        'script_maxtime': 12000,
+        'totalChunks': 7,
+    }),
+]
+
 ### Mochitests (Devtools) ###
 MOCHITEST_DT_2 = [
     ('mochitest-devtools-chrome', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mochitest-suite', 'mochitest-devtools-chrome'],
         'blob_upload': True,
         'script_maxtime': 4800,
@@ -536,17 +560,17 @@ MOCHITEST_WEBGL = [
         'extra_args': ['--mochitest-suite', 'mochitest-gl'],
         'blob_upload': True,
         'script_maxtime': 12000,
     }),
 ]
 
 ### Mochitest Combinations ###
 MOCHITEST_PLAIN = MOCHITEST_WO_BC[:]
-MOCHITEST = MOCHITEST_WO_BC[:] + MOCHITEST_BC_3 + MOCHITEST_OTHER
+MOCHITEST = MOCHITEST_WO_BC[:] + MOCHITEST_OTHER
 MOCHITEST_WO_BC += MOCHITEST_OTHER
 
 ### Mozbase ###
 MOZBASE = [
     ('mozbase', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mozbase-suite', 'mozbase'],
@@ -2084,35 +2108,16 @@ BRANCHES['try']['other-e10s_tests'] = (1
 BRANCHES['try']['svgr-e10s_tests'] = (1, False, {}, ALL_TALOS_PLATFORMS)
 BRANCHES['try']['dromaeojs-e10s_tests'] = (1, False, {}, NO_OSX)
 #BRANCHES['try']['dromaeojs-e10s_tests'] = (1, False, {}, ALL_TALOS_PLATFORMS)
 BRANCHES['try']['chromez-e10s_tests'] = (1, False, {}, ALL_TALOS_PLATFORMS)
 
 
 loadSkipConfig(BRANCHES,"desktop")
 
-# Remove mochitest-browser-chrome and mochitest-devtools-chrome
-# from versioned b2g branches - bug 1045398
-for name in [x for x in BRANCHES.keys() if x.startswith('mozilla-b2g')]:
-    branch = BRANCHES[name]
-    for platform in branch['platforms']:
-        for item in branch['platforms'][platform].keys():
-            try:
-                if 'debug_unittest_suites' in branch['platforms'][platform][item]:
-                    unit_tests = branch['platforms'][platform][item]
-                    for element in unit_tests:
-                        for component in unit_tests[element]:
-                            if (component[0] == 'mochitest-browser-chrome' or
-                                component[0] == 'mochitest-devtools-chrome'):
-                                unit_tests[element].remove(component)
-            except TypeError:
-                # not an iterable,
-                pass
-
-
 
 ### Tests Enabled In Gecko 39+ ###
 
 # Luciddream on Linux64 opt only
 for platform in PLATFORMS.keys():
     for name, branch in items_at_least(BRANCHES, 'gecko_version', 39):
         for slave_platform in PLATFORMS[platform]['slave_platforms']:
             if slave_platform not in ['ubuntu64_vm']:
@@ -2236,39 +2241,47 @@ for platform in PLATFORMS.keys():
 
 # On trunk and Aurora:
 #   Enable e10s Linux mochitests
 #   Enable e10s browser-chrome mochitests, opt builds only for all platforms (not ready for Xp).
 #   Enable e10s devtools tests for Linux opt
 #   Enable e10s reftests/crashtests for Linux opt
 #   Enable e10s marionette tests for Linux32 opt
 # Fix this to a certain gecko version once e10s starts riding the trains
+# Bug 1200437 - Use 7 chunks for m-e10-bc on branches > trunk, excluding twigs, 3 chunks elsewhere
 aurora_gecko_version = BRANCHES['mozilla-aurora']['gecko_version']
+trunk_gecko_version = BRANCHES['mozilla-central']['gecko_version']
 for name, branch in items_at_least(BRANCHES, 'gecko_version', aurora_gecko_version):
     if name == "holly": # On Holly we use normal mochitest as e10s ones
         continue
     for platform in PLATFORMS.keys():
         if platform not in branch['platforms']:
             continue
         for slave_platform in PLATFORMS[platform]['slave_platforms']:
             if platform in branch['platforms'] and slave_platform in branch['platforms'][platform] and \
                     not slave_platform == 'xp-ix':
-                branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_BC_3_E10S[:]
+                if name in TWIGS or ('gecko_version' in branch and branch['gecko_version'] != trunk_gecko_version):
+                    branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_BC_3_E10S[:]
+                else:
+                    branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_BC_7_E10S[:]
             if platform in ('linux', 'linux64', 'linux64-asan'):
                 branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_E10S[:]
             if platform in ('linux', 'linux64'):
                 branch['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_E10S[:]
                 branch['platforms'][platform][slave_platform]['debug_unittest_suites'] += CRASHTEST_E10S + \
-                    MOCHITEST_BC_3_E10S + REFTEST_E10S_TWO_CHUNKS
+                    REFTEST_E10S_TWO_CHUNKS
                 branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += CRASHTEST_E10S + \
                     MOCHITEST_DT_2_E10S + REFTEST_E10S
+                if name in TWIGS or ('gecko_version' in branch and branch['gecko_version'] != trunk_gecko_version):
+                    branch['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_BC_3_E10S
+                else:
+                    branch['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_BC_7_E10S
             if platform == 'linux':
                 branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += MARIONETTE_E10S[:]
 
-
 # Run only mochitests and reftests 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 + MOCHITEST_DT_2 + MOCHITEST_JP + MOCHITEST_PUSH + \
@@ -2276,16 +2289,49 @@ for platform in BRANCHES['holly']['platf
         slave_p['debug_unittest_suites'] = MOCHITEST + MOCHITEST_DT_8 + MOCHITEST_JP + MOCHITEST_PUSH + \
                                            MOCHITEST_WEBGL + REFTEST_FOUR_CHUNKS + OTHER_REFTESTS
 
         # 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
 
+# Bug 1200437
+# Use 7 chunks for m-bc on branches > trunk, excluding twigs, 3 chunks elsewhere
+for branch in BRANCHES.keys():
+    for platform in PLATFORMS.keys():
+        if platform not in BRANCHES[branch]['platforms']:
+            continue
+        for slave_platform in PLATFORMS[platform]['slave_platforms']:
+            if slave_platform not in BRANCHES[branch]['platforms'][platform]:
+                continue
+            if branch in TWIGS or ('gecko_version' in BRANCHES[branch] and BRANCHES[branch]['gecko_version'] != trunk_gecko_version):
+                BRANCHES[branch]['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_BC_3
+                BRANCHES[branch]['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_BC_3
+            else:
+                BRANCHES[branch]['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_BC_7
+                BRANCHES[branch]['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_BC_7
+
+# Remove mochitest-browser-chrome and mochitest-devtools-chrome
+# from versioned b2g branches - bug 1045398
+for name in [x for x in BRANCHES.keys() if x.startswith('mozilla-b2g')]:
+    branch = BRANCHES[name]
+    for platform in branch['platforms']:
+        for item in branch['platforms'][platform].keys():
+            try:
+                if 'debug_unittest_suites' in branch['platforms'][platform][item]:
+                    unit_tests = branch['platforms'][platform][item]
+                    for element in unit_tests:
+                        for component in unit_tests[element]:
+                            if (component[0] == 'mochitest-browser-chrome' or
+                                component[0] == 'mochitest-devtools-chrome'):
+                                unit_tests[element].remove(component)
+            except TypeError:
+                # not an iterable,
+                pass
 
 ### Test suites that only run on Cedar ###
 # Turn off most suites on cedar (bug 1198400)
 for platform in PLATFORMS.keys():
     if platform not in BRANCHES['cedar']['platforms']:
         continue
     for slave_platform in PLATFORMS[platform]['slave_platforms']:
         if slave_platform in BRANCHES['cedar']['platforms'][platform]: