blob: 58a45ed98be6f5e3cee8c9292d5135ae6a44ddaf [file] [log] [blame]
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from master import master_config
from master.factory import chromium_factory
from master.factory import chromeos_factory
defaults = {}
helper = master_config.Helper(defaults)
B = helper.Builder
F = helper.Factory
S = helper.Scheduler
T = helper.Triggerable
def linux(): return chromium_factory.ChromiumFactory('src/out', 'linux2')
# CrOS ASan bots below.
defaults['category'] = '3chromeos asan'
#
# Main asan release scheduler for src/
#
S('chromeos_asan_rel', branch='src', treeStableTimer=60)
#
# Triggerable scheduler for the rel asan builder
#
T('chromeos_asan_rel_trigger')
chromeos_asan_archive = master_config.GetArchiveUrl(
'ChromiumMemory',
'Linux Chromium OS ASan LSan Builder',
'Linux_Chromium_OS_ASan_LSan_Builder',
'linux')
# Tests that are single-machine shard-safe.
sharded_tests = [
'aura_unittests',
'base_unittests',
'browser_tests',
'cacheinvalidation_unittests',
'cc_unittests',
'chromedriver_tests',
'chromedriver_unittests',
'components_unittests',
'content_browsertests',
'content_unittests',
'crypto_unittests',
'device_unittests',
'events_unittests',
'gcm_unit_tests',
'gpu_unittests',
'jingle_unittests',
'media_unittests',
'net_unittests',
'ppapi_unittests',
'printing_unittests',
'remoting_unittests',
'sync_integration_tests',
'sync_unit_tests',
'ui_unittests',
'unit_tests',
'views_unittests',
'webkit_compositor_bindings_unittests',
]
#
# CrOS ASan LSan Rel Builder
#
linux_aura_options = [
'aura_builder',
'base_unittests',
'browser_tests',
'cacheinvalidation_unittests',
'chromeos_unittests',
'compositor_unittests',
'content_browsertests',
'content_unittests',
'crypto_unittests',
'gcm_unit_tests',
'gpu_unittests',
'interactive_ui_tests',
'ipc_tests',
'jingle_unittests',
'media_unittests',
'net_unittests',
'ppapi_unittests',
'printing_unittests',
'remoting_unittests',
'sql_unittests',
'ui_unittests',
'url_unittests',
]
# Please do not add release_extra_cflags=-g here until the debug info section
# produced by Clang on Linux is small enough.
fp_chromeos_asan = {
'asan': True,
'gclient_env': {
'GYP_DEFINES': ('asan=1 '
'use_allocator=none '
'lsan=1 '
'chromeos=1 '),
'GYP_GENERATORS': 'ninja',
},
'lsan': True,
'lsan_run_all_tests': True,
'sharded_tests': sharded_tests,
}
B('Linux Chromium OS ASan LSan Builder', 'chromeos_asan_rel', 'compile',
'chromeos_asan_rel', auto_reboot=False, notify_on_missing=True)
F('chromeos_asan_rel', linux().ChromiumASANFactory(
slave_type='Builder',
options=[
'--build-tool=ninja',
'--compiler=goma-clang',
] + linux_aura_options,
factory_properties=dict(fp_chromeos_asan,
trigger='chromeos_asan_rel_trigger')))
#
# CrOS ASan LSan Rel testers
#
asan_tests_1 = [
'ash_unittests',
'aura',
'base_unittests',
'browser_tests',
'cacheinvalidation_unittests',
'chromeos_unittests',
'compositor',
'content_browsertests',
'crypto_unittests',
'events',
'gcm_unit_tests',
'gpu',
'jingle',
'media',
'ppapi_unittests',
'printing',
'remoting',
'url_unittests',
'views',
]
asan_tests_2 = [
'browser_tests',
'interactive_ui_tests',
'net',
]
asan_tests_3 = [
'browser_tests',
'unit',
]
B('Linux Chromium OS ASan LSan Tests (1)', 'chromeos_asan_rel_tests_1',
'testers', 'chromeos_asan_rel_trigger', notify_on_missing=True)
F('chromeos_asan_rel_tests_1', linux().ChromiumASANFactory(
slave_type='Tester',
build_url=chromeos_asan_archive,
tests=asan_tests_1,
factory_properties=dict(fp_chromeos_asan,
browser_total_shards='3',
browser_shard_index='1')))
B('Linux Chromium OS ASan LSan Tests (2)', 'chromeos_asan_rel_tests_2',
'testers', 'chromeos_asan_rel_trigger', notify_on_missing=True)
F('chromeos_asan_rel_tests_2', linux().ChromiumASANFactory(
slave_type='Tester',
build_url=chromeos_asan_archive,
tests=asan_tests_2,
factory_properties=dict(fp_chromeos_asan,
browser_total_shards='3',
browser_shard_index='2')))
B('Linux Chromium OS ASan LSan Tests (3)', 'chromeos_asan_rel_tests_3',
'testers', 'chromeos_asan_rel_trigger', notify_on_missing=True)
F('chromeos_asan_rel_tests_3', linux().ChromiumASANFactory(
slave_type='Tester',
build_url=chromeos_asan_archive,
tests=asan_tests_3,
factory_properties=dict(fp_chromeos_asan,
browser_total_shards='3',
browser_shard_index='3')))
B('Chromium OS (x86) ASan',
factory='x86_asan',
builddir='chromium-tot-chromeos-x86-generic-asan',
gatekeeper='crosasantest',
scheduler='chromeos_asan_rel',
notify_on_missing=True)
F('x86_asan', chromeos_factory.CbuildbotFactory(
buildroot='/b/cbuild.x86.asan',
pass_revision=True,
params='x86-generic-tot-asan-informational').get_factory())
B('Chromium OS (amd64) ASan',
factory='amd64_asan',
builddir='chromium-tot-chromeos-amd64-generic-asan',
gatekeeper='crosasantest',
scheduler='chromeos_asan_rel',
notify_on_missing=True)
F('amd64_asan', chromeos_factory.CbuildbotFactory(
buildroot='/b/cbuild.amd64.asan',
pass_revision=True,
params='amd64-generic-tot-asan-informational').get_factory())
def Update(config, active_master, c):
return helper.Update(c)