Bug 1330310: Switch macosx tests to buildbot-bridge. r=catlee,dustin

We use buildbot-bridge to schedule macosx tests in buildbot, and disable
scheduling on buildbot. Also, schedule a subset of unittests in
taskcluster-worker Tier 3 machines.

MozReview-Commit-ID: 38I33BlUvmt

--HG--
extra : rebase_source : 36347b6fb976f8ec0a90e239ec05ebaedbdf2253
This commit is contained in:
Wander Lairson Costa 2017-02-10 06:00:28 -02:00
Родитель 0def7981e0
Коммит 18cd648928
6 изменённых файлов: 110 добавлений и 39 удалений

Просмотреть файл

@ -144,11 +144,12 @@ macosx64/debug:
build-platform: macosx64/debug
test-sets:
- macosx64-tests-debug
# Disable bbb talos tests for mac until we disable bb scheduling
# macosx64/opt:
# build-platform: macosx64/opt
# test-sets:
# - macosx64-tests-talos
- external-media-tests
macosx64/opt:
build-platform: macosx64/opt
test-sets:
- macosx64-tests-talos
##
# Android platforms (matching /android.*/)

Просмотреть файл

@ -133,22 +133,23 @@ windows-vm-tests:
macosx64-tests-debug:
- cppunit
- crashtest
# - gtest
- gtest
- jittest
- jsreftest
# - marionette
# - mochitest
# - mochitest-browser-chrome
# - mochitest-clipboard
# - mochitest-devtools-chrome
# - mochitest-gpu
# - mochitest-jetpack
# - mochitest-media
# - mochitest-other
- marionette
- mochitest
- mochitest-browser-chrome
- mochitest-clipboard
- mochitest-devtools-chrome
- mochitest-gpu
- mochitest-jetpack
- mochitest-media
- mochitest-other
- mochitest-webgl
# - reftest
# - web-platform-tests
# - web-platform-tests-reftests
# - xpcshell
- reftest
- web-platform-tests
- web-platform-tests-reftests
- xpcshell
macosx64-tests-talos:
- talos-chrome

Просмотреть файл

@ -79,7 +79,7 @@ crashtest:
- --test-suite=crashtest
default:
script: desktop_unittest.py
chunked: true
chunked: false
no-read-buildbot-config: true
config:
by-test-platform:
@ -97,6 +97,7 @@ crashtest:
external-media-tests-base:
description: "External Media Test run"
suite: external-media-tests
unittest-try-name: 'media-tests'
treeherder-symbol: tc-VP(b-m)
e10s: false
tier: 2
@ -236,8 +237,14 @@ jittest:
chunks:
by-test-platform:
windows.*: 1
macosx.*: 1
default: 6
mozharness:
chunked:
by-test-platform:
windows.*: false
macosx.*: false
default: true
script: desktop_unittest.py
no-read-buildbot-config: true
config:
@ -267,6 +274,7 @@ jsreftest:
android-4.3-arm7-api-15/debug: 20
android.*: 6
windows.*: 1
macosx.*: 1
default: 2
e10s:
by-test-platform:
@ -471,6 +479,7 @@ mochitest-browser-chrome:
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
config:
by-test-platform:
windows.*:
@ -593,7 +602,7 @@ mochitest-clipboard:
default:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
chunked: false
config:
by-test-platform:
windows.*:
@ -619,6 +628,7 @@ mochitest-devtools-chrome:
chunks:
by-test-platform:
windows.*: 8
macosx.*: 8
default: 10
run-on-projects:
by-test-platform:
@ -634,6 +644,7 @@ mochitest-devtools-chrome:
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
config:
by-test-platform:
windows.*:
@ -668,6 +679,7 @@ mochitest-gpu:
by-test-platform:
windows.*: both
android.*: false
macosx.*: both
default: true
mozharness:
by-test-platform:
@ -684,7 +696,7 @@ mochitest-gpu:
default:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
chunked: false
config:
by-test-platform:
windows.*:
@ -713,7 +725,7 @@ mochitest-jetpack:
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
chunked: false
config:
by-test-platform:
windows.*:
@ -757,7 +769,7 @@ mochitest-media:
default:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
chunked: false
config:
by-test-platform:
windows.*:
@ -781,7 +793,7 @@ mochitest-other:
script: mozharness/scripts/desktop_unittest.py
no-read-buildbot-config: true
include-blob-upload-branch: true
chunked: true
chunked: false
config:
by-test-platform:
macosx.*:
@ -901,7 +913,8 @@ reftest:
by-test-platform:
android-4.3-arm7-api-15/debug: 48
android.*: 16
macosx.*: 1
macosx64/opt: 1
macosx64/debug: 2
default: 8
max-run-time:
by-test-platform:
@ -925,6 +938,10 @@ reftest:
default:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked:
by-test-platform:
macosx64/opt: false
default: true
config:
by-test-platform:
windows.*:
@ -1172,10 +1189,11 @@ talos-tp5o:
web-platform-tests:
description: "Web platform test run"
suite: web-platform-tests
treeherder-symbol: tc-W()
treeherder-symbol: tc-W(wpt)
chunks:
by-test-platform:
macosx.*: 5
macosx64/opt: 5
macosx64/debug: 10
default: 12
e10s:
by-test-platform:
@ -1192,6 +1210,7 @@ web-platform-tests:
mozharness:
script: web_platform_tests.py
no-read-buildbot-config: true
chunked: true
config:
by-test-platform:
windows.*:

Просмотреть файл

@ -75,6 +75,13 @@ BUILDER_NAME_PREFIX = {
'android-4.3-arm7-api-15-gradle': 'Android 4.3 armv7 API 15+',
}
TASKCLUSTER_WORKER_TESTS = [
'cppunit',
'crashtest',
'jsreftest',
'mochitest-webgl',
]
logger = logging.getLogger(__name__)
transforms = TransformSequence()
@ -250,7 +257,9 @@ test_description_schema = Schema({
# If true, include chunking information in the command even if the number
# of chunks is 1
Required('chunked', default=False): bool,
Required('chunked', default=False): optionally_keyed_by(
'test-platform',
bool),
# The chunking argument format to use
Required('chunking-args', default='this-chunk'): Any(
@ -403,7 +412,14 @@ def set_worker_implementation(config, tests):
elif test['test-platform'].startswith('win'):
test['worker-implementation'] = 'generic-worker'
elif test['test-platform'].startswith('macosx'):
test['worker-implementation'] = 'native-engine'
test['worker-implementation'] = 'buildbot-bridge'
# Some tests must also run in taskcluster-worker
# small hack until we completely switch to taskcluster-worker
if test['test-name'] in TASKCLUSTER_WORKER_TESTS:
test_tc_worker = copy.deepcopy(test)
test_tc_worker['worker-implementation'] = 'native-engine'
test_tc_worker['test-name'] += '-worker'
yield test_tc_worker
else:
test['worker-implementation'] = 'docker-worker'
yield test
@ -429,7 +445,8 @@ def set_tier(config, tests):
'android-4.3-arm7-api-15/debug',
'android-4.2-x86/opt']:
test['tier'] = 1
elif test['test-platform'].startswith('windows'):
elif test['test-platform'].startswith('windows') \
or test['worker-implementation'] == 'native-engine':
test['tier'] = 3
else:
test['tier'] = 2
@ -477,6 +494,7 @@ def handle_keyed_by(config, tests):
'suite',
'run-on-projects',
'os-groups',
'mozharness.chunked',
'mozharness.config',
'mozharness.extra-options',
]
@ -1010,13 +1028,45 @@ def macosx_engine_setup(config, test, taskdesc):
def buildbot_bridge_setup(config, test, taskdesc):
branch = config.params['project']
platform, build_type = test['build-platform'].split('/')
test_name = test.get('talos-try-name', test['test-name'])
mozharness = test['mozharness']
if test['e10s'] and not test_name.endswith('-e10s'):
# mochitest e10s follows the pattern mochitest-e10s-<suffix>
# in buildbot, except for these special cases
buildbot_specials = [
'mochitest-webgl',
'mochitest-clipboard',
'mochitest-media',
'mochitest-gpu',
'mochitest-e10s',
]
test_name = test.get(
'talos-try-name',
test.get(
'unittest-try-name',
test['test-name']
)
)
if test['e10s'] and 'e10s' not in test_name:
test_name += '-e10s'
if mozharness.get('chunked', False):
if test_name.startswith('mochitest') \
and test_name.endswith('e10s') \
and not any(map(
lambda name: test_name.startswith(name),
buildbot_specials
)):
split_mochitest = test_name.split('-')
test_name = '-'.join([
split_mochitest[0],
split_mochitest[-1],
'-'.join(split_mochitest[1:-1])
])
# in buildbot, mochitest-webgl is called mochitest-gl
test_name = test_name.replace('webgl', 'gl')
mozharness = test['mozharness']
if mozharness.get('chunked', False) or test['chunks'] > 1:
this_chunk = test.get('this-chunk')
test_name = '{}-{}'.format(test_name, this_chunk)

Просмотреть файл

@ -31,8 +31,8 @@ config = {
'tooltool_script': ["/builds/tooltool.py"],
'tooltool_bootstrap': "setup.sh",
'enable_count_ctors': False,
'enable_talos_sendchange': True,
'enable_unittest_sendchange': True,
'enable_talos_sendchange': False,
'enable_unittest_sendchange': False,
#########################################################################

Просмотреть файл

@ -37,8 +37,8 @@ config = {
'tooltool_script': ["/builds/tooltool.py"],
'tooltool_bootstrap': "setup.sh",
'enable_count_ctors': False,
'enable_talos_sendchange': True,
'enable_unittest_sendchange': True,
'enable_talos_sendchange': False,
'enable_unittest_sendchange': False,
#########################################################################