Index: masters/master.chromium.memory/master_win_cfg.py |
diff --git a/masters/master.chromium.memory/master_win_cfg.py b/masters/master.chromium.memory/master_win_cfg.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..006e13d39241d7183cfcc60531a076be87ec20d7 |
--- /dev/null |
+++ b/masters/master.chromium.memory/master_win_cfg.py |
@@ -0,0 +1,123 @@ |
+# 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 |
+ |
+defaults = {} |
+ |
+helper = master_config.Helper(defaults) |
+B = helper.Builder |
+F = helper.Factory |
+S = helper.Scheduler |
+T = helper.Triggerable |
+ |
+def win(): |
+ return chromium_factory.ChromiumFactory('src/out', 'win32') |
+ |
+defaults['category'] = '4win asan' |
+ |
+# |
+# Main asan release scheduler for src/ |
+# |
+S('win_asan_rel', branch='src', treeStableTimer=60) |
+ |
+# |
+# Triggerable scheduler for the rel asan builder |
+# |
+T('win_asan_rel_trigger') |
+ |
+win_asan_archive = master_config.GetArchiveUrl('ChromiumMemory', |
+ 'Win ASAN Builder', |
+ 'Win_ASAN_Builder', |
+ 'win32') |
+ |
+# tests_1 and tests_2 are lists like: |
+# (build_target_name, test_name) |
+# This would be much less ugly if there was a naming convention in place for |
+# these things. |
+tests_1 = \ |
M-A Ruel
2012/11/21 09:06:32
?
tests_1 = [
iannucci
2012/11/21 18:27:42
Done.
|
+ [ |
+ (x+'_unittests', x) for x in [ |
+ 'base', |
+ 'cacheinvalidation', |
+ 'crypto', |
+ 'gpu', |
+ 'jingle', |
+ 'net'] |
+ ]+[ |
M-A Ruel
2012/11/21 09:06:32
] + [
iannucci
2012/11/21 18:27:42
Done.
|
+ (x+'_tests', x) for x in [ |
+ 'safe_browsing'] |
+ ]+[ |
+ (x, x) for x in [ |
+ 'browser_tests'] |
+ ] |
+ |
+tests_2 = \ |
+ [ |
+ (x+'_unittests', x) for x in [ |
+ 'googleurl', |
+ 'media', |
+ 'printing', |
+ 'remoting'] |
+ ]+[ |
+ (x+'_tests', x) for x in [ |
+ 'unit'] |
+ ]+[ |
+ (x, x) for x in [ |
+ 'browser_tests', |
+ 'content_browsertests', |
+ 'ppapi_unittests'] |
+ ] |
+ |
+# |
+# Windows ASAN Rel Builder |
+# |
+B('Win ASAN Builder', 'win_asan_rel', 'compile', 'win_asan_rel', |
+ auto_reboot=False, notify_on_missing=True) |
+F('win_asan_rel', win().ChromiumASANFactory( |
+ slave_type='Builder', |
+ options=[ |
M-A Ruel
2012/11/21 09:06:32
This is too complex to be done inside the function
iannucci
2012/11/21 18:27:42
Done.
|
+ '--compiler=goma', |
+ '--build-tool=ninja', |
+ ]+list( # extract the build target names from the tests_[12] |
+ zip(*tests_1)[0] |
+ )+list( |
+ zip(*tests_2)[0] |
+ ), |
+ compile_timeout=4800, |
+ factory_properties={ |
+ 'asan': True, |
+ 'gclient_env': { |
+ 'GYP_DEFINES': ('asan=1 win_z7=1 chromium_win_pch=0 ' |
M-A Ruel
2012/11/21 09:06:32
God kills a kitten everytime people align the GYP_
iannucci
2012/11/21 18:27:42
:(
Done.
|
+ 'component=static_library '), |
+ 'GYP_GENERATORS': 'ninja', }, |
+ 'trigger': 'win_asan_rel_trigger' })) |
+ |
+# |
+# Win ASAN Rel testers |
+# |
+B('Win ASAN Tests (1)', 'win_asan_rel_tests_1', 'testers', |
+ 'win_asan_rel_trigger', notify_on_missing=True) |
+F('win_asan_rel_tests_1', win().ChromiumASANFactory( |
+ slave_type='Tester', |
+ build_url=win_asan_archive, |
+ tests=list(zip(*tests_1)[1]), # extract the tests from tests_1 |
+ factory_properties={'asan': True, |
M-A Ruel
2012/11/21 09:06:32
same
iannucci
2012/11/21 18:27:42
Done.
|
+ 'browser_total_shards': 2, |
+ 'browser_shard_index': 1 })) |
+ |
+B('Win ASAN Tests (2)', 'win_asan_rel_tests_2', 'testers', |
+ 'win_asan_rel_trigger', notify_on_missing=True) |
+F('win_asan_rel_tests_2', win().ChromiumASANFactory( |
+ slave_type='Tester', |
+ build_url=win_asan_archive, |
+ tests=list(zip(*tests_2)[1]), # extract the tests from tests_2 |
+ factory_properties={'asan': True, |
+ 'browser_total_shards': 2, |
+ 'browser_shard_index': 2 })) |
+ |
+def Update(config, active_master, c): |
+ return helper.Update(c) |
+ |
M-A Ruel
2012/11/21 09:06:32
remove
iannucci
2012/11/21 18:27:42
Done.
|