--- 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]: