| Index: masters/master.chromium.memory.fyi/master.cfg
|
| diff --git a/masters/master.chromium.memory.fyi/master.cfg b/masters/master.chromium.memory.fyi/master.cfg
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8a9567d0b12e2cce971a7ad1a24fd2add672811f
|
| --- /dev/null
|
| +++ b/masters/master.chromium.memory.fyi/master.cfg
|
| @@ -0,0 +1,738 @@
|
| +# 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 buildbot.scheduler import Triggerable
|
| +from buildbot.scheduler import Scheduler
|
| +
|
| +from common import chromium_utils
|
| +
|
| +# These modules come from scripts/master, which must be in the PYTHONPATH.
|
| +from master import gitiles_poller
|
| +from master import master_config
|
| +from master import master_utils
|
| +from master import slaves_list
|
| +
|
| +from master.factory import annotator_factory
|
| +from master.factory import chromium_factory
|
| +
|
| +import config
|
| +import master_site_config
|
| +
|
| +ActiveMaster = master_site_config.ChromiumMemoryFYI
|
| +
|
| +c = BuildmasterConfig = {}
|
| +c['logCompressionLimit'] = False
|
| +
|
| +config.DatabaseSetup(c, require_dbconfig=ActiveMaster.is_production_host)
|
| +
|
| +####### CHANGESOURCES
|
| +
|
| +master_poller = gitiles_poller.GitilesPoller(
|
| + 'https://chromium.googlesource.com/chromium/src')
|
| +
|
| +c['change_source'] = [master_poller]
|
| +
|
| +
|
| +####### SCHEDULERS
|
| +
|
| +## configure the Schedulers
|
| +
|
| +# Main scheduler for all changes in trunk.
|
| +s_chromium = Scheduler(name='chromium',
|
| + branch='master',
|
| + treeStableTimer=60,
|
| + builderNames=[# Builders
|
| + 'Chromium Windows Builder (DrMemory)',
|
| + 'Chromium Windows Builder (DrMemory x64)',
|
| + 'Chromium Linux TSan Builder',
|
| + 'Chromium Linux MSan Builder',
|
| + 'Chromium Linux ChromeOS MSan Builder',
|
| + ])
|
| +
|
| +# Windows Dr. Memory build-bot list
|
| +t_drmemory_bots=[
|
| + 'Windows Unit (DrMemory)',
|
| + 'Windows Content Browser (DrMemory)',
|
| + ]
|
| +
|
| +# Windows Unit (DrMemory full)
|
| +WINDOWS_UNIT_DRMEMORY_FULL_TESTERS = 5
|
| +for i in range(WINDOWS_UNIT_DRMEMORY_FULL_TESTERS):
|
| + t_drmemory_bots.append('Windows Unit (DrMemory full) (%d)' % (i+1))
|
| +
|
| +# Windows Content Browser (DrMemory full)
|
| +WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS = 6
|
| +for i in range(WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS):
|
| + t_drmemory_bots.append('Windows Content Browser (DrMemory full) (%d)' % (i+1))
|
| +
|
| +# Windows Browser (DrMemory full)
|
| +WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS = 12
|
| +for i in range(WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS):
|
| + t_drmemory_bots.append('Windows Browser (DrMemory full) (%d)' % (i+1))
|
| +
|
| +# Windows Dr. Memory x64 build-bot list
|
| +t_drmemory_64_bots=[
|
| + 'Windows Unit (DrMemory x64)',
|
| + ]
|
| +
|
| +s_chromium_win_drmemory_trigger = Triggerable(
|
| + 'chromium_win_drmemory',
|
| + t_drmemory_bots)
|
| +
|
| +s_chromium_win_drmemory_64_trigger = Triggerable(
|
| + 'chromium_win_drmemory_64',
|
| + t_drmemory_64_bots)
|
| +
|
| +s_chromium_linux_tsan = Triggerable(
|
| + name='linux_tsan',
|
| + builderNames=['Linux TSan Tests'])
|
| +
|
| +s_chromium_linux_msan = Triggerable(
|
| + name='linux_msan',
|
| + builderNames=['Linux MSan Tests'])
|
| +
|
| +s_chromium_linux_chromeos_msan = Triggerable(
|
| + name='linux_chromeos_msan',
|
| + builderNames=['Linux ChromeOS MSan Tests'])
|
| +
|
| +c['schedulers'] = [s_chromium,
|
| + s_chromium_win_drmemory_trigger,
|
| + s_chromium_win_drmemory_64_trigger,
|
| + s_chromium_linux_tsan,
|
| + s_chromium_linux_msan,
|
| + s_chromium_linux_chromeos_msan]
|
| +
|
| +####### BUILDERS
|
| +
|
| +# buildbot/process/factory.py provides several BuildFactory classes you can
|
| +# start with, which implement build processes for common targets (GNU
|
| +# autoconf projects, CPAN perl modules, etc). The factory.BuildFactory is the
|
| +# base class, and is configured with a series of BuildSteps. When the build
|
| +# is run, the appropriate buildslave is told to execute each Step in turn.
|
| +
|
| +# the first BuildStep is typically responsible for obtaining a copy of the
|
| +# sources. There are source-obtaining Steps in buildbot/process/step.py for
|
| +# CVS, SVN, and others.
|
| +
|
| +builders = []
|
| +
|
| +# ----------------------------------------------------------------------------
|
| +# FACTORIES
|
| +
|
| +m_win = chromium_factory.ChromiumFactory('src/build', 'win32')
|
| +m_win_ninja = chromium_factory.ChromiumFactory('src/out', 'win32')
|
| +m_linux = chromium_factory.ChromiumFactory('src/out', 'linux2')
|
| +m_chromeos = chromium_factory.ChromiumFactory('src/out', 'linux2')
|
| +
|
| +# Some shortcut to simplify the code below.
|
| +F_WIN = m_win.ChromiumFactory
|
| +F_WIN_NINJA = m_win_ninja.ChromiumFactory
|
| +F_LINUX = m_linux.ChromiumFactory
|
| +F_CR_OS = m_chromeos.ChromiumOSFactory
|
| +
|
| +m_annotator = annotator_factory.AnnotatorFactory()
|
| +
|
| +chromium_win_drmemory_archive = master_config.GetGSUtilUrl(
|
| + 'chromium-memory-fyi', 'drm-cr')
|
| +
|
| +chromium_win_drmemory_64_archive = master_config.GetGSUtilUrl(
|
| + 'chromium-memory-fyi', 'drm-cr-64')
|
| +
|
| +# IMPORTANT NOTE about adding new tests.
|
| +# If you want to add a new test, make sure it's:
|
| +# a) buildable,
|
| +# b) runnable by all the tools,
|
| +# c) green locally under all tools (at least mostly) and
|
| +# d) the e-mail notifier is configured to watch for its failures.
|
| +# [See details below]
|
| +#
|
| +# Also, please do your best to estimate the time it takes to run the new test
|
| +# under the tool and order the tests in a short-job-first manner if possible.
|
| +#
|
| +# Regarding (a),
|
| +# New DrMemory/Win tests must first be added as dependencies to the
|
| +# 'chromium_builder_dbg_drmemory_win' target in src/build/all.gyp;
|
| +#
|
| +# Regarding (b),
|
| +# 'chrome_tests.py' must be updated to handle the test name,
|
| +# without the 'TOOL_' prefix, where 'chrome_tests.py' is located
|
| +# at tools/valgrind/ for other tools.
|
| +#
|
| +# Regarding (d),
|
| +# See notifier_cfg.py for the existing tests and see the 'category' of the
|
| +# builder you're dealing with.
|
| +#
|
| +# Please coordinate with the current and upcoming memory sheriff and help them
|
| +# get the new tests green on all the bots after the master restart.
|
| +
|
| +# ThreadSanitizer bots:
|
| +# Dr.Memory bots:
|
| +f_chromium_rel_win_drmemory_builder = F_WIN_NINJA(
|
| + # TODO(timurrrr): reuse the builder for TSan/Win too once
|
| + # http://crbug.com/108155 is resolved.
|
| + slave_type='Builder',
|
| + target='Release',
|
| + # TODO(bruening): remove "_dbg" from this name in all.gyp as it is
|
| + # not limited to just Debug.
|
| + # TODO(timurrrr): Might wanna remove chromium_builder_dbg_drmemory_win
|
| + # entirely as ninja supports target lists similar to what we always had
|
| + # on Linux.
|
| + options=['--build-tool=ninja', '--', 'chromium_builder_dbg_drmemory_win'],
|
| + factory_properties={
|
| + 'gclient_env': {'GYP_DEFINES': ('build_for_tool=drmemory '
|
| + 'component=shared_library '),
|
| + 'GYP_GENERATORS': 'ninja'},
|
| + 'package_pdb_files': True,
|
| + 'trigger': 'chromium_win_drmemory',
|
| + 'build_url': chromium_win_drmemory_archive,
|
| + 'use_mb': True,
|
| + }
|
| +)
|
| +
|
| +f_chromium_rel_win_drmemory = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + 'drmemory_light_url',
|
| + 'drmemory_light_printing',
|
| + 'drmemory_light_media',
|
| + 'drmemory_light_midi',
|
| + 'drmemory_light_sql',
|
| + 'drmemory_light_crypto',
|
| + 'drmemory_light_remoting',
|
| + 'drmemory_light_ipc_tests',
|
| + 'drmemory_light_base_unittests',
|
| + 'drmemory_light_net',
|
| + 'drmemory_light_components',
|
| + 'drmemory_light_device',
|
| + 'drmemory_light_jingle',
|
| + 'drmemory_light_gcm',
|
| + 'drmemory_light_gpu',
|
| + 'drmemory_light_content',
|
| + 'drmemory_light_cacheinvalidation',
|
| + 'drmemory_light_addressinput',
|
| + 'drmemory_light_phonenumber',
|
| + 'drmemory_light_mojo_system',
|
| + 'drmemory_light_mojo_public_system',
|
| + 'drmemory_light_mojo_public_bindings',
|
| + 'drmemory_light_mojo_public_sysperf',
|
| + 'drmemory_light_mojo_common',
|
| + 'drmemory_light_accessibility',
|
| + 'drmemory_light_angle',
|
| + 'drmemory_light_aura',
|
| + 'drmemory_light_blink_heap',
|
| + 'drmemory_light_blink_platform',
|
| + 'drmemory_light_cast',
|
| + 'drmemory_light_cc',
|
| + 'drmemory_light_chrome_app',
|
| + 'drmemory_light_chrome_elf',
|
| + 'drmemory_light_chromedriver',
|
| + 'drmemory_light_compositor',
|
| + 'drmemory_light_courgette',
|
| + 'drmemory_light_display',
|
| + 'drmemory_light_extensions',
|
| + 'drmemory_light_events',
|
| + 'drmemory_light_gin',
|
| + 'drmemory_light_google_apis',
|
| + 'drmemory_light_gfx',
|
| + 'drmemory_light_installer_util',
|
| + 'drmemory_light_keyboard',
|
| + 'drmemory_light_unit',
|
| + ],
|
| +)
|
| +
|
| +# Windows Content Browser (DrMemory)
|
| +f_chromium_rel_win_drmemory_content = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + tests=[
|
| + 'drmemory_light_content_browsertests',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True}
|
| +)
|
| +
|
| +# Windows Unit (DrMemory full) (1)
|
| +f_chromium_rel_win_drmemory_full_1 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + # We split into 2 for faster reports on errors found in 1st half.
|
| + 'drmemory_full_net_1_of_2',
|
| + 'drmemory_full_net_2_of_2',
|
| + 'drmemory_full_mojo_system',
|
| + 'drmemory_full_mojo_public_system',
|
| + 'drmemory_full_mojo_public_bindings',
|
| + 'drmemory_full_mojo_public_sysperf',
|
| + 'drmemory_full_mojo_common',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True},
|
| +)
|
| +
|
| +# Windows Unit (DrMemory full) (2)
|
| +f_chromium_rel_win_drmemory_full_2 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + # The 1st 3 unit_ shards are fast, so we can fit these as well:
|
| + 'drmemory_full_media',
|
| + 'drmemory_full_midi',
|
| + 'drmemory_full_base_unittests',
|
| + # Full mode has a high memory overhead currently, so shard the tests
|
| + # more.
|
| + 'drmemory_full_unit_1_of_6',
|
| + 'drmemory_full_unit_2_of_6',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True},
|
| +)
|
| +
|
| +# Windows Unit (DrMemory full) (3)
|
| +f_chromium_rel_win_drmemory_full_3 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + # Full mode has a high memory overhead currently, so shard the tests
|
| + # more.
|
| + 'drmemory_full_url',
|
| + 'drmemory_full_printing',
|
| + 'drmemory_full_sql',
|
| + 'drmemory_full_crypto',
|
| + 'drmemory_full_remoting',
|
| + 'drmemory_full_ipc_tests',
|
| + 'drmemory_full_gpu',
|
| + 'drmemory_full_device',
|
| + 'drmemory_full_jingle',
|
| + 'drmemory_full_gcm',
|
| + 'drmemory_full_content',
|
| + 'drmemory_full_cacheinvalidation',
|
| + 'drmemory_full_addressinput',
|
| + 'drmemory_full_unit_3_of_6',
|
| + 'drmemory_full_unit_4_of_6',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True},
|
| +)
|
| +
|
| +# Windows Unit (DrMemory full) (4)
|
| +f_chromium_rel_win_drmemory_full_4 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + # Full mode has a high memory overhead currently, so shard the tests
|
| + # more.
|
| + 'drmemory_full_phonenumber',
|
| + 'drmemory_full_unit_5_of_6',
|
| + 'drmemory_full_unit_6_of_6',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True},
|
| +)
|
| +
|
| +# Windows Unit (DrMemory full) (5)
|
| +f_chromium_rel_win_drmemory_full_5 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + # See IMPORTANT NOTE above before adding new tests.
|
| + tests=[
|
| + 'drmemory_full_accessibility',
|
| + 'drmemory_full_angle',
|
| + 'drmemory_full_aura',
|
| + 'drmemory_full_blink_heap',
|
| + 'drmemory_full_blink_platform',
|
| + 'drmemory_full_cast',
|
| + 'drmemory_full_cc',
|
| + 'drmemory_full_chrome_app',
|
| + 'drmemory_full_chrome_elf',
|
| + 'drmemory_full_chromedriver',
|
| + 'drmemory_full_compositor',
|
| + 'drmemory_full_courgette',
|
| + 'drmemory_full_display',
|
| + 'drmemory_full_extensions',
|
| + 'drmemory_full_events',
|
| + 'drmemory_full_gin',
|
| + 'drmemory_full_google_apis',
|
| + 'drmemory_full_gfx',
|
| + 'drmemory_full_installer_util',
|
| + 'drmemory_full_keyboard',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True},
|
| +)
|
| +
|
| +# DrMemory x64 Builder
|
| +f_chromium_rel_win_drmemory_64_builder = F_WIN_NINJA(
|
| + slave_type='Builder',
|
| + target='Release_x64',
|
| + # TODO(bruening): remove "_dbg" from this name in all.gyp as it is
|
| + # not limited to just Debug.
|
| + options=['--build-tool=ninja', '--', 'chromium_builder_dbg_drmemory_win'],
|
| + factory_properties={
|
| + 'gclient_env': {
|
| + 'GYP_DEFINES' : (
|
| + 'build_for_tool=drmemory component=shared_library '
|
| + 'target_arch=x64'),
|
| + 'GYP_GENERATORS': 'ninja',
|
| + },
|
| + 'package_pdb_files': True,
|
| + 'trigger': 'chromium_win_drmemory_64',
|
| + 'build_url': chromium_win_drmemory_64_archive,
|
| + 'use_mb': True,
|
| + }
|
| +)
|
| +
|
| +# Windows Unit (DrMemory x64)
|
| +f_chromium_rel_win_drmemory_64 = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release_x64',
|
| + build_url=chromium_win_drmemory_64_archive,
|
| + tests=[
|
| + 'drmemory_light_url',
|
| + 'drmemory_light_printing',
|
| + 'drmemory_light_media',
|
| + 'drmemory_light_midi',
|
| + 'drmemory_light_sql',
|
| + 'drmemory_light_crypto',
|
| + 'drmemory_light_remoting',
|
| + 'drmemory_light_ipc_tests',
|
| + 'drmemory_light_base_unittests',
|
| + 'drmemory_light_net',
|
| + 'drmemory_light_components',
|
| + 'drmemory_light_device',
|
| + 'drmemory_light_jingle',
|
| + 'drmemory_light_gcm',
|
| + 'drmemory_light_gpu',
|
| + 'drmemory_light_content',
|
| + 'drmemory_light_cacheinvalidation',
|
| + 'drmemory_light_addressinput',
|
| + 'drmemory_light_phonenumber',
|
| + 'drmemory_light_mojo_system',
|
| + 'drmemory_light_mojo_public_system',
|
| + 'drmemory_light_mojo_public_bindings',
|
| + 'drmemory_light_mojo_public_sysperf',
|
| + 'drmemory_light_mojo_common',
|
| + 'drmemory_light_accessibility',
|
| + 'drmemory_light_angle',
|
| + 'drmemory_light_aura',
|
| + 'drmemory_light_blink_heap',
|
| + 'drmemory_light_blink_platform',
|
| + 'drmemory_light_cast',
|
| + 'drmemory_light_cc',
|
| + 'drmemory_light_chrome_app',
|
| + 'drmemory_light_chrome_elf',
|
| + 'drmemory_light_chromedriver',
|
| + 'drmemory_light_compositor',
|
| + 'drmemory_light_courgette',
|
| + 'drmemory_light_display',
|
| + 'drmemory_light_extensions',
|
| + 'drmemory_light_events',
|
| + 'drmemory_light_gin',
|
| + 'drmemory_light_google_apis',
|
| + 'drmemory_light_gfx',
|
| + 'drmemory_light_installer_util',
|
| + 'drmemory_light_keyboard',
|
| + 'drmemory_light_unit',
|
| + ],
|
| + factory_properties={'halt_on_missing_build': True}
|
| +)
|
| +
|
| +# 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',
|
| + 'display_unittests',
|
| + 'events_unittests',
|
| + 'extensions_unittests',
|
| + 'gcm_unit_tests',
|
| + 'gpu_unittests',
|
| + 'jingle_unittests',
|
| + 'media_unittests',
|
| + 'midi_unittests',
|
| + 'net_unittests',
|
| + 'ppapi_unittests',
|
| + 'printing_unittests',
|
| + 'remoting_unittests',
|
| + 'sync_integration_tests',
|
| + 'sync_unit_tests',
|
| + 'ui_base_unittests',
|
| + 'ui_touch_selection_unittests',
|
| + 'unit_tests',
|
| + 'views_unittests',
|
| +]
|
| +
|
| +
|
| +# ----------------------------------------------------------------------------
|
| +# BUILDER DEFINITIONS
|
| +
|
| +# The 'builders' list defines the Builders. Each one is configured with a
|
| +# dictionary, using the following keys:
|
| +# name (required): the name used to describe this bilder
|
| +# slavename (required): which slave to use, must appear in c['slaves']
|
| +# builddir (required): which subdirectory to run the builder in
|
| +# factory (required): a BuildFactory to define how the build is run
|
| +# periodicBuildTime (optional): if set, force a build every N seconds
|
| +# category (optional): it is not used in the normal 'buildbot' meaning. It is
|
| +# used by gatekeeper to determine which steps it should
|
| +# look for to close the tree.
|
| +#
|
| +
|
| +b_chromium_rel_win_drmemory_builder = {
|
| + 'name': 'Chromium Windows Builder (DrMemory)',
|
| + # make the dir short for ninja build
|
| + 'builddir': 'drm-cr',
|
| + 'factory': f_chromium_rel_win_drmemory_builder,
|
| + 'category': '6DrMemory Light|compile',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory = {
|
| + 'name': 'Windows Unit (DrMemory)',
|
| + 'builddir': 'chromium-dbg-win-drmemory',
|
| + 'factory': f_chromium_rel_win_drmemory,
|
| + 'category': '6DrMemory Light|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_content = {
|
| + 'name': 'Windows Content Browser (DrMemory)',
|
| + 'builddir': 'windows-content-drm-light',
|
| + 'factory': f_chromium_rel_win_drmemory_content,
|
| + 'category': '6DrMemory Light|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_full_1 = {
|
| + 'name': 'Windows Unit (DrMemory full) (1)',
|
| + 'builddir': 'chromium-dbg-win-drmemory-full-1',
|
| + 'factory': f_chromium_rel_win_drmemory_full_1,
|
| + 'category': '7DrMemory Full|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_full_2 = {
|
| + 'name': 'Windows Unit (DrMemory full) (2)',
|
| + 'builddir': 'chromium-dbg-win-drmemory-full-2',
|
| + 'factory': f_chromium_rel_win_drmemory_full_2,
|
| + 'category': '7DrMemory Full|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_full_3 = {
|
| + 'name': 'Windows Unit (DrMemory full) (3)',
|
| + 'builddir': 'chromium-dbg-win-drmemory-full-3',
|
| + 'factory': f_chromium_rel_win_drmemory_full_3,
|
| + 'category': '7DrMemory Full|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_full_4 = {
|
| + 'name': 'Windows Unit (DrMemory full) (4)',
|
| + 'builddir': 'chromium-dbg-win-drmemory-full-4',
|
| + 'factory': f_chromium_rel_win_drmemory_full_4,
|
| + 'category': '7DrMemory Full|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_full_5 = {
|
| + 'name': 'Windows Unit (DrMemory full) (5)',
|
| + 'builddir': 'chromium-dbg-win-drmemory-full-5',
|
| + 'factory': f_chromium_rel_win_drmemory_full_5,
|
| + 'category': '7DrMemory Full|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_64_builder = {
|
| + 'name': 'Chromium Windows Builder (DrMemory x64)',
|
| + 'builddir': 'drm-cr-64',
|
| + 'factory': f_chromium_rel_win_drmemory_64_builder,
|
| + 'category': '9DrMemory x64|compile',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_win_drmemory_64 = {
|
| + 'name': 'Windows Unit (DrMemory x64)',
|
| + 'builddir': 'chromium-dbg-win-drm-64',
|
| + 'factory': f_chromium_rel_win_drmemory_64,
|
| + 'category': '9DrMemory x64|drmemory_tester',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_tsan_builder = {
|
| + 'name': 'Chromium Linux TSan Builder',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium',
|
| + triggers=['linux_tsan']),
|
| + 'category': '10TSan v2|compile',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_tsan = {
|
| + 'name': 'Linux TSan Tests',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
|
| + 'category': '10TSan v2',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_msan_builder = {
|
| + 'name': 'Chromium Linux MSan Builder',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium',
|
| + triggers=['linux_msan']),
|
| + 'category': '11Linux MSan|compile',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_msan = {
|
| + 'name': 'Linux MSan Tests',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
|
| + 'category': '11Linux MSan',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_chromeos_msan_builder = {
|
| + 'name': 'Chromium Linux ChromeOS MSan Builder',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium',
|
| + triggers=['linux_chromeos_msan']),
|
| + 'category': '12ChromeOS MSan|compile',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +b_chromium_rel_linux_chromeos_msan = {
|
| + 'name': 'Linux ChromeOS MSan Tests',
|
| + 'factory': annotator_factory.AnnotatorFactory().BaseFactory('chromium'),
|
| + 'category': '12ChromeOS MSan',
|
| + 'auto_reboot': True,
|
| +}
|
| +
|
| +
|
| +# DrMemory test bots
|
| +b_win_drmemory = [
|
| + b_chromium_rel_win_drmemory_builder,
|
| + b_chromium_rel_win_drmemory,
|
| + b_chromium_rel_win_drmemory_content,
|
| + b_chromium_rel_win_drmemory_full_1,
|
| + b_chromium_rel_win_drmemory_full_2,
|
| + b_chromium_rel_win_drmemory_full_3,
|
| + b_chromium_rel_win_drmemory_full_4,
|
| + b_chromium_rel_win_drmemory_full_5,
|
| + b_chromium_rel_win_drmemory_64_builder,
|
| + b_chromium_rel_win_drmemory_64,
|
| +]
|
| +
|
| +# We shard content_browsertests within each bot to reduce timeout consequences.
|
| +DRMEMORY_CONTENT_SHARDS_PER_BOT = 10
|
| +def windows_content_browser_drmemory_full_tester(shard, total):
|
| + if shard < 1 or shard > total:
|
| + raise
|
| + ret = {'category': '7DrMemory Full|drmemory_tester'}
|
| + ret['name'] = 'Windows Content Browser (DrMemory full) (%d)' % shard
|
| + ret['builddir'] = 'windows-content-browser-drm-full-%d' % shard
|
| + ret['auto_reboot'] = True
|
| + testlist = []
|
| + for i in range(DRMEMORY_CONTENT_SHARDS_PER_BOT):
|
| + testlist.append(
|
| + 'drmemory_full_content_browsertests_%d_of_%d' %
|
| + ((shard-1)*DRMEMORY_CONTENT_SHARDS_PER_BOT+i+1,
|
| + total*DRMEMORY_CONTENT_SHARDS_PER_BOT))
|
| + ret['factory'] = F_WIN_NINJA(
|
| + slave_type='Tester',
|
| + target='Release',
|
| + build_url=chromium_win_drmemory_archive,
|
| + tests=testlist,
|
| + options=['content_browsertests'],
|
| + factory_properties={ 'halt_on_missing_build': True})
|
| + return ret
|
| +
|
| +# Windows Content Browser (DrMemory full)
|
| +for i in range(WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS):
|
| + b_win_drmemory.append(
|
| + windows_content_browser_drmemory_full_tester(
|
| + i + 1, WINDOWS_CONTENT_BROWSER_DRMEMORY_FULL_TESTERS))
|
| +
|
| +DRMEMORY_BROWSER_SHARDS_PER_BOT = 4
|
| +def windows_browser_drmemory_full_tester(shard, total):
|
| + if shard < 1 or shard > total:
|
| + raise
|
| + ret = {'category': '8DrMemory Full (Browser Tests)|drmemory_tester'}
|
| + ret['name'] = 'Windows Browser (DrMemory full) (%d)' % shard
|
| + ret['builddir'] = 'windows-browser-drm-full-%d' % shard
|
| + testlist = []
|
| + for i in range(DRMEMORY_BROWSER_SHARDS_PER_BOT):
|
| + testlist.append(
|
| + 'drmemory_full_browser_tests_%d_of_%d' %
|
| + ((shard-1)*DRMEMORY_BROWSER_SHARDS_PER_BOT+i+1,
|
| + total*DRMEMORY_BROWSER_SHARDS_PER_BOT))
|
| + ret['factory'] = F_WIN_NINJA(
|
| + target='Release',
|
| + slave_type='Tester',
|
| + build_url=chromium_win_drmemory_archive,
|
| + tests=testlist,
|
| + options=['browser_tests'],
|
| + factory_properties={ 'halt_on_missing_build': True})
|
| + return ret
|
| +
|
| +# Windows Browser (DrMemory full)
|
| +for i in range(WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS):
|
| + b_win_drmemory.append(
|
| + windows_browser_drmemory_full_tester(
|
| + i + 1, WINDOWS_BROWSER_DRMEMORY_FULL_TESTERS))
|
| +
|
| +c['builders'] = b_win_drmemory
|
| +
|
| +c['builders'].extend([
|
| + b_chromium_rel_linux_tsan_builder,
|
| + b_chromium_rel_linux_tsan,
|
| + b_chromium_rel_linux_msan_builder,
|
| + b_chromium_rel_linux_msan,
|
| + b_chromium_rel_linux_chromeos_msan_builder,
|
| + b_chromium_rel_linux_chromeos_msan,
|
| +])
|
| +
|
| +# Associate the slaves to the manual builders. The configuration is in
|
| +# slaves.cfg.
|
| +slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumMemoryFYI')
|
| +for builder in c['builders']:
|
| + builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
|
| +
|
| +####### BUILDSLAVES
|
| +
|
| +# The 'slaves' list defines the set of allowable buildslaves. List all the
|
| +# slaves registered to a builder. Remove dupes.
|
| +c['slaves'] = master_utils.AutoSetupSlaves(c['builders'],
|
| + config.Master.GetBotPassword())
|
| +
|
| +# Make sure everything works together.
|
| +master_utils.VerifySetup(c, slaves)
|
| +
|
| +####### STATUS TARGETS
|
| +
|
| +# Buildbot master url:
|
| +# Must come before AutoSetupMaster().
|
| +c['buildbotURL'] = ActiveMaster.buildbot_url
|
| +
|
| +# Adds common status and tools to this master.
|
| +master_utils.AutoSetupMaster(c, ActiveMaster,
|
| + public_html='../master.chromium/public_html',
|
| + templates=['../master.chromium/templates'],
|
| + tagComparator=master_poller.comparator,
|
| + enable_http_status_push=ActiveMaster.is_production_host)
|
| +
|
| +if ActiveMaster.is_production_host:
|
| + import notifier_cfg
|
| + notifier_cfg.Update(config, ActiveMaster, c)
|
|
|