OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from master import master_config | 5 from master import master_config |
6 from master.factory import chromium_factory | 6 from master.factory import chromium_factory |
7 | 7 |
8 defaults = {} | 8 defaults = {} |
9 | 9 |
10 helper = master_config.Helper(defaults) | 10 helper = master_config.Helper(defaults) |
(...skipping 18 matching lines...) Expand all Loading... |
29 # Tests that are single-machine shard-safe. For now we only use the sharding | 29 # Tests that are single-machine shard-safe. For now we only use the sharding |
30 # supervisor for long tests (more than 30 seconds) that are known to be stable. | 30 # supervisor for long tests (more than 30 seconds) that are known to be stable. |
31 sharded_tests = [ | 31 sharded_tests = [ |
32 'base_unittests', | 32 'base_unittests', |
33 'browser_tests', | 33 'browser_tests', |
34 'content_browsertests', | 34 'content_browsertests', |
35 'content_unittests', | 35 'content_unittests', |
36 'media_unittests', | 36 'media_unittests', |
37 ] | 37 ] |
38 | 38 |
39 linux_options = [ | 39 linux_chromeos_tests = [ |
40 'aura_builder', | 40 ('ash_unittests', 'aura_builder', 1), |
41 'base_unittests', | 41 ('aura', 'aura_builder', 1), |
42 'browser_tests', | 42 ('base', 'base_unittests', 1), |
43 'cacheinvalidation_unittests', | 43 ('browser_tests', 'browser_tests', 2), |
44 'compositor_unittests', | 44 ('cacheinvalidation', 'cacheinvalidation_unittests', 1), |
45 'content_browsertests', | 45 ('chromeos_unittests', 'chromeos_unittests', 1), |
46 'content_unittests', | 46 ('compositor', 'compositor_unittests', 1), |
47 'crypto_unittests', | 47 ('content_browsertests', 'content_browsertests', 2), |
48 'dbus_unittests', | 48 ('content_unittests', 'content_unittests', 1), |
49 'device_unittests', | 49 ('crypto', 'crypto_unittests', 1), |
50 'gpu_unittests', | 50 ('dbus', 'dbus_unittests', 1), |
51 'googleurl_unittests', | 51 ('device_unittests', 'device_unittests', 1), |
52 'interactive_ui_tests', | 52 ('googleurl', 'googleurl_unittests', 1), |
53 'ipc_tests', | 53 (None, 'googleurl_unittests', 1), |
54 'jingle_unittests', | 54 ('gpu', 'gpu_unittests', 1), |
55 'media_unittests', | 55 ('interactive_ui', 'interactive_ui_tests', 3), |
56 'net_unittests', | 56 ('jingle', 'jingle_unittests', 1), |
57 'ppapi_unittests', | 57 ('media', 'media_unittests', 1), |
58 'printing_unittests', | 58 ('net', 'net_unittests', 1), |
59 'remoting_unittests', | 59 ('ppapi_unittests', 'ppapi_unittests', 1), |
60 'sql_unittests', | 60 ('printing', 'printing_unittests', 1), |
61 'sync_unit_tests', | 61 ('remoting', 'remoting_unittests', 1), |
62 'ui_unittests', | 62 #('safe_browsing', 'safe_browsing_tests', 0), |
63 'unit_tests', | 63 ('sandbox_linux_unittests', 'sandbox_linux_unittests', 1), |
64 'views_unittests', | 64 ('ui_unittests', 'ui_unittests', 1), |
| 65 ('unit_ipc', 'ipc_tests', 1), |
| 66 ('unit_sql', 'sql_unittests', 1), |
| 67 ('unit_sync', 'sync_unit_tests', 1), |
| 68 ('unit_unit', 'unit_tests', 1), |
| 69 ('views', 'views_unittests', 1), |
65 ] | 70 ] |
66 | 71 |
67 linux_tests_1 = [ | 72 def without_tests(pairs, without): |
68 'ash_unittests', | 73 return [(a, b, c) for (a, b, c) in pairs if not a in without] |
69 'aura', | |
70 'base', | |
71 'cacheinvalidation', | |
72 'compositor', | |
73 'content_unittests', | |
74 'crypto', | |
75 'dbus', | |
76 'device_unittests', | |
77 'googleurl', | |
78 'gpu', | |
79 'jingle', | |
80 'media', | |
81 'net', | |
82 'ppapi_unittests', | |
83 'printing', | |
84 'remoting', | |
85 'unit_ipc', | |
86 'unit_sql', | |
87 'unit_sync', | |
88 'unit_unit', | |
89 'ui_unittests', | |
90 'views', | |
91 ] | |
92 | 74 |
93 linux_tests_2 = [ | 75 def extract_tests(pairs, shard): |
94 'browser_tests', | 76 return list(set(a for (a, _, c) in pairs if a and c == shard)) |
95 'content_browsertests', | |
96 ] | |
97 | 77 |
98 linux_tests_3 = [ 'interactive_ui' ] | 78 def extract_options(pairs): |
| 79 return list(set(b for (_, b, c) in pairs if b and c)) |
| 80 |
| 81 def prepend_type(prefix, tests): |
| 82 return ['%s_%s' % (prefix, value) for value in tests] |
| 83 |
99 | 84 |
100 B('Linux ChromiumOS Full', | 85 B('Linux ChromiumOS Full', |
101 factory='fullbuilder', | 86 factory='fullbuilder', |
102 gatekeeper='compile', | 87 gatekeeper='compile', |
103 # This shows up in the archived artifacts. | 88 # This shows up in the archived artifacts. |
104 builddir='Linux_ChromiumOS', | 89 builddir='Linux_ChromiumOS', |
105 scheduler='chromium_local', | 90 scheduler='chromium_local', |
106 auto_reboot=False, | 91 auto_reboot=False, |
107 notify_on_missing=True) | 92 notify_on_missing=True) |
108 F('fullbuilder', chromiumos().ChromiumOSFactory( | 93 F('fullbuilder', chromiumos().ChromiumOSFactory( |
109 slave_type='BuilderTester', | 94 slave_type='BuilderTester', |
110 clobber=True, | 95 clobber=True, |
111 options=['--compiler=goma'] + linux_options, | 96 options=['--compiler=goma'] + extract_options(linux_chromeos_tests), |
112 tests=['check_deps2git', | 97 tests=['check_deps2git', |
113 'check_licenses', | 98 'check_licenses', |
114 'check_perms',], | 99 'check_perms',], |
115 factory_properties={ | 100 factory_properties={ |
116 'archive_build': True, | 101 'archive_build': True, |
117 'gs_bucket': 'gs://chromium-browser-snapshots', | 102 'gs_bucket': 'gs://chromium-browser-snapshots', |
118 'gs_acl': 'public-read', | 103 'gs_acl': 'public-read', |
119 'show_perf_results': False, | 104 'show_perf_results': False, |
120 'generate_gtest_json': True, | 105 'generate_gtest_json': True, |
121 'gclient_env': { | 106 'gclient_env': { |
122 'GYP_DEFINES': ('chromeos=1' | 107 'GYP_DEFINES': ('chromeos=1' |
123 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' | 108 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' |
124 ' component=static_library')}, | 109 ' component=static_library')}, |
125 'window_manager': False})) | 110 'window_manager': False})) |
126 | 111 |
127 | 112 |
128 B('Linux ChromiumOS Builder', | 113 B('Linux ChromiumOS Builder', |
129 factory='builder', | 114 factory='builder', |
130 gatekeeper='compile', | 115 gatekeeper='compile', |
131 builddir='chromium-rel-linux-chromeos', | 116 builddir='chromium-rel-linux-chromeos', |
132 scheduler='chromium_local', | 117 scheduler='chromium_local', |
133 auto_reboot=False, | 118 auto_reboot=False, |
134 notify_on_missing=True) | 119 notify_on_missing=True) |
135 F('builder', chromiumos().ChromiumOSFactory( | 120 F('builder', chromiumos().ChromiumOSFactory( |
136 slave_type='Builder', | 121 slave_type='Builder', |
137 options=['--compiler=goma'] + linux_options, | 122 options=['--compiler=goma'] + extract_options(linux_chromeos_tests), |
138 factory_properties={ | 123 factory_properties={ |
139 'archive_build': False, | 124 'archive_build': False, |
140 'trigger': 'chromiumos_rel_trigger', | 125 'trigger': 'chromiumos_rel_trigger', |
141 'extra_archive_paths': 'chrome/tools/build/chromeos', | 126 'extra_archive_paths': 'chrome/tools/build/chromeos', |
142 'gclient_env': { | 127 'gclient_env': { |
143 'GYP_DEFINES': ('chromeos=1' | 128 'GYP_DEFINES': ('chromeos=1' |
144 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' | 129 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' |
145 ' component=shared_library')}, | 130 ' component=shared_library')}, |
146 'window_manager': False})) | 131 'window_manager': False})) |
147 | 132 |
148 B('Linux ChromiumOS Tests (1)', | 133 B('Linux ChromiumOS Tests (1)', |
149 factory='tester_1', | 134 factory='tester_1', |
150 scheduler='chromiumos_rel_trigger', | 135 scheduler='chromiumos_rel_trigger', |
151 gatekeeper='tester', | 136 gatekeeper='tester', |
152 notify_on_missing=True) | 137 notify_on_missing=True) |
153 F('tester_1', chromiumos().ChromiumOSFactory( | 138 F('tester_1', chromiumos().ChromiumOSFactory( |
154 slave_type='Tester', | 139 slave_type='Tester', |
155 build_url=rel_archive, | 140 build_url=rel_archive, |
156 tests=['ash_unittests', | 141 tests=extract_tests(linux_chromeos_tests, 1), |
157 'aura', | |
158 'base', | |
159 'cacheinvalidation', | |
160 'compositor', | |
161 'content_unittests', | |
162 'crypto', | |
163 'dbus', | |
164 'device_unittests', | |
165 'googleurl', | |
166 'gpu', | |
167 'jingle', | |
168 'media', | |
169 'net', | |
170 'ppapi_unittests', | |
171 'printing', | |
172 'remoting', | |
173 'unit_ipc', | |
174 'unit_sql', | |
175 'unit_sync', | |
176 'unit_unit', | |
177 'ui_unittests', | |
178 'views', | |
179 ], | |
180 factory_properties={'sharded_tests': sharded_tests, | 142 factory_properties={'sharded_tests': sharded_tests, |
181 'generate_gtest_json': True, | 143 'generate_gtest_json': True, |
182 'chromeos': 1})) | 144 'chromeos': 1})) |
183 | 145 |
184 | 146 |
185 B('Linux ChromiumOS Tests (2)', | 147 B('Linux ChromiumOS Tests (2)', |
186 factory='tester_2', | 148 factory='tester_2', |
187 scheduler='chromiumos_rel_trigger', | 149 scheduler='chromiumos_rel_trigger', |
188 gatekeeper='tester', | 150 gatekeeper='tester', |
189 notify_on_missing=True) | 151 notify_on_missing=True) |
190 F('tester_2', chromiumos().ChromiumOSFactory( | 152 F('tester_2', chromiumos().ChromiumOSFactory( |
191 slave_type='Tester', | 153 slave_type='Tester', |
192 build_url=rel_archive, | 154 build_url=rel_archive, |
193 tests=linux_tests_2 + linux_tests_3, | 155 tests=extract_tests(linux_chromeos_tests, 2) + |
| 156 extract_tests(linux_chromeos_tests, 3), |
194 factory_properties={'sharded_tests': sharded_tests, | 157 factory_properties={'sharded_tests': sharded_tests, |
195 'generate_gtest_json': True, | 158 'generate_gtest_json': True, |
196 'chromeos': 1})) | 159 'chromeos': 1})) |
197 | 160 |
198 | 161 |
199 B('Linux ChromiumOS (Clang dbg)', | 162 B('Linux ChromiumOS (Clang dbg)', |
200 factory='clang', | 163 factory='clang', |
201 gatekeeper='compile|tester', | 164 gatekeeper='compile|tester', |
202 builddir='chromium-dbg-linux-chromeos-clang', | 165 builddir='chromium-dbg-linux-chromeos-clang', |
203 scheduler='chromium_local', | 166 scheduler='chromium_local', |
204 auto_reboot=False, | 167 auto_reboot=False, |
205 notify_on_missing=True) | 168 notify_on_missing=True) |
206 F('clang', chromiumos().ChromiumOSFactory( | 169 F('clang', chromiumos().ChromiumOSFactory( |
207 target='Debug', | 170 target='Debug', |
208 tests=[], | 171 tests=[], |
209 options=['--compiler=clang', 'aura_builder'], | 172 options=['--compiler=clang'] + extract_options(linux_chromeos_tests), |
210 factory_properties={ | 173 factory_properties={ |
211 'gclient_env': { | 174 'gclient_env': { |
212 'GYP_DEFINES': ('chromeos=1 target_arch=ia32' | 175 'GYP_DEFINES': ('chromeos=1 target_arch=ia32' |
213 ' clang=1 clang_use_chrome_plugins=1' | 176 ' clang=1 clang_use_chrome_plugins=1' |
214 ' fastbuild=1' | 177 ' fastbuild=1' |
215 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' | 178 ' ffmpeg_branding=ChromeOS proprietary_codecs=1' |
216 ' component=shared_library' | 179 ' component=shared_library' |
217 )}})) | 180 )}})) |
218 # | 181 # |
219 # Triggerable scheduler for the dbg builders | 182 # Triggerable scheduler for the dbg builders |
220 # | 183 # |
221 T('chromiumos_dbg_trigger') | 184 T('chromiumos_dbg_trigger') |
222 | 185 |
223 dbg_archive = master_config.GetArchiveUrl('ChromiumChromiumOS', | 186 dbg_archive = master_config.GetArchiveUrl('ChromiumChromiumOS', |
224 'Linux ChromiumOS Builder (dbg)', | 187 'Linux ChromiumOS Builder (dbg)', |
225 'Linux_ChromiumOS_Builder__dbg_', | 188 'Linux_ChromiumOS_Builder__dbg_', |
226 'linux') | 189 'linux') |
227 | 190 |
228 B('Linux ChromiumOS Builder (dbg)', 'dbg', 'compile', | 191 B('Linux ChromiumOS Builder (dbg)', 'dbg', 'compile', |
229 'chromium_local', auto_reboot=False, notify_on_missing=True) | 192 'chromium_local', auto_reboot=False, notify_on_missing=True) |
230 F('dbg', chromiumos().ChromiumOSFactory( | 193 F('dbg', chromiumos().ChromiumOSFactory( |
231 slave_type='Builder', | 194 slave_type='Builder', |
232 target='Debug', | 195 target='Debug', |
233 options=['--compiler=goma'] + linux_options, | 196 options=['--compiler=goma'] + extract_options(linux_chromeos_tests), |
234 factory_properties={ | 197 factory_properties={ |
235 'gclient_env': { 'GYP_DEFINES' : 'chromeos=1 component=shared_library' }, | 198 'gclient_env': { 'GYP_DEFINES' : 'chromeos=1 component=shared_library' }, |
236 'trigger': 'chromiumos_dbg_trigger', | 199 'trigger': 'chromiumos_dbg_trigger', |
237 'window_manager': False, | 200 'window_manager': False, |
238 })) | 201 })) |
239 | 202 |
240 B('Linux ChromiumOS Tests (dbg)(1)', 'dbg_tests_1', 'tester', | 203 B('Linux ChromiumOS Tests (dbg)(1)', 'dbg_tests_1', 'tester', |
241 'chromiumos_dbg_trigger', notify_on_missing=True) | 204 'chromiumos_dbg_trigger', notify_on_missing=True) |
242 F('dbg_tests_1', chromiumos().ChromiumOSFactory( | 205 F('dbg_tests_1', chromiumos().ChromiumOSFactory( |
243 slave_type='Tester', | 206 slave_type='Tester', |
244 build_url=dbg_archive, | 207 build_url=dbg_archive, |
245 target='Debug', | 208 target='Debug', |
246 tests=linux_tests_1, | 209 tests=extract_tests(linux_chromeos_tests, 1), |
247 factory_properties={'chromeos': 1, | 210 factory_properties={'chromeos': 1, |
248 'sharded_tests': sharded_tests, | 211 'sharded_tests': sharded_tests, |
249 'generate_gtest_json': True,})) | 212 'generate_gtest_json': True,})) |
250 | 213 |
251 | 214 |
252 B('Linux ChromiumOS Tests (dbg)(2)', 'dbg_tests_2', 'tester', | 215 B('Linux ChromiumOS Tests (dbg)(2)', 'dbg_tests_2', 'tester', |
253 'chromiumos_dbg_trigger', notify_on_missing=True) | 216 'chromiumos_dbg_trigger', notify_on_missing=True) |
254 F('dbg_tests_2', chromiumos().ChromiumOSFactory( | 217 F('dbg_tests_2', chromiumos().ChromiumOSFactory( |
255 slave_type='Tester', | 218 slave_type='Tester', |
256 build_url=dbg_archive, | 219 build_url=dbg_archive, |
257 target='Debug', | 220 target='Debug', |
258 tests=linux_tests_2, | 221 tests=extract_tests(linux_chromeos_tests, 2), |
259 factory_properties={'chromeos': 1, | 222 factory_properties={'chromeos': 1, |
260 'sharded_tests': sharded_tests, | 223 'sharded_tests': sharded_tests, |
261 'generate_gtest_json': True,})) | 224 'generate_gtest_json': True,})) |
262 | 225 |
263 | 226 |
264 B('Linux ChromiumOS Tests (dbg)(3)', 'dbg_tests_3', 'tester', | 227 B('Linux ChromiumOS Tests (dbg)(3)', 'dbg_tests_3', 'tester', |
265 'chromiumos_dbg_trigger', notify_on_missing=True) | 228 'chromiumos_dbg_trigger', notify_on_missing=True) |
266 F('dbg_tests_3', chromiumos().ChromiumOSFactory( | 229 F('dbg_tests_3', chromiumos().ChromiumOSFactory( |
267 slave_type='Tester', | 230 slave_type='Tester', |
268 build_url=dbg_archive, | 231 build_url=dbg_archive, |
269 target='Debug', | 232 target='Debug', |
270 tests=linux_tests_3, | 233 tests=extract_tests(linux_chromeos_tests, 3), |
271 factory_properties={'chromeos': 1, | 234 factory_properties={'chromeos': 1, |
272 'sharded_tests': sharded_tests, | 235 'sharded_tests': sharded_tests, |
273 'generate_gtest_json': True,})) | 236 'generate_gtest_json': True,})) |
274 | 237 |
275 | 238 |
276 | 239 |
277 def Update(config, active_master, c): | 240 def Update(config, active_master, c): |
278 return helper.Update(c) | 241 return helper.Update(c) |
OLD | NEW |