OLD | NEW |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """Dart frog buildbot steps | 7 """Dart frog buildbot steps |
8 | 8 |
9 Runs tests for the frog or dart2js compiler. | 9 Runs tests for the frog or dart2js compiler. |
10 """ | 10 """ |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
174 - mode: either 'debug' or 'release' | 174 - mode: either 'debug' or 'release' |
175 - system: either 'linux', 'mac', or 'win7' | 175 - system: either 'linux', 'mac', or 'win7' |
176 - option: 'checked' | 176 - option: 'checked' |
177 - flags: extra flags to pass to test.dart | 177 - flags: extra flags to pass to test.dart |
178 """ | 178 """ |
179 | 179 |
180 # Make sure we are in the frog directory | 180 # Make sure we are in the frog directory |
181 os.chdir(DART_PATH) | 181 os.chdir(DART_PATH) |
182 | 182 |
183 if system.startswith('win') and runtime == 'ie': | 183 if system.startswith('win') and runtime == 'ie': |
184 # We don't do proper sharding on the IE bots, since the runtime is | |
185 # long for both. We have a "fast bot" and a "slow bot" that run specific | |
186 # tests instead. | |
187 for i in flags: | |
188 if i.startswith('--shard='): | |
189 bot_num = i.split('=')[1] | |
184 # There should not be more than one InternetExplorerDriver instance | 190 # There should not be more than one InternetExplorerDriver instance |
185 # running at a time. For details, see | 191 # running at a time. For details, see |
186 # http://code.google.com/p/selenium/wiki/InternetExplorerDriver. | 192 # http://code.google.com/p/selenium/wiki/InternetExplorerDriver. |
187 flags = flags + ['-j1'] | 193 flags = filter(lambda(item): not item.startswith('--shard'), flags) + ['-j1' ] |
ricow1
2012/07/05 11:10:39
you might also want to remove --shards to not have
Emily Fortuna
2012/07/05 12:01:28
this will remove both --shard= and --shards=
ricow1
2012/07/05 12:04:49
oh, .startswith, sorry
| |
188 | 194 |
189 if system == 'linux' and runtime == 'chrome': | 195 if system == 'linux' and runtime == 'chrome': |
190 # TODO(ngeoffray): We should install selenium on the buildbot. | 196 # TODO(ngeoffray): We should install selenium on the buildbot. |
191 runtime = 'drt' | 197 runtime = 'drt' |
192 | 198 |
193 if compiler == 'dart2js': | 199 if compiler == 'dart2js': |
194 if option == 'checked': flags = flags + ['--host-checked'] | 200 if option == 'checked': flags = flags + ['--host-checked'] |
195 | 201 |
196 if runtime == 'd8': | 202 if runtime == 'd8': |
197 # The dart2js compiler isn't self-hosted (yet) so we run its | 203 # The dart2js compiler isn't self-hosted (yet) so we run its |
198 # unit tests on the VM. We avoid doing this on the builders | 204 # unit tests on the VM. We avoid doing this on the builders |
199 # that run the browser tests to cut down on the cycle time. | 205 # that run the browser tests to cut down on the cycle time. |
200 TestStep("dart2js_unit", mode, system, 'none', 'vm', ['dart2js'], flags) | 206 TestStep("dart2js_unit", mode, system, 'none', 'vm', ['dart2js'], flags) |
201 | 207 |
202 # Run the default set of test suites. | 208 if not (system.startswith('win') and runtime == 'ie'): |
203 TestStep("dart2js", mode, system, 'dart2js', runtime, [], flags) | 209 # Run the default set of test suites. |
210 TestStep("dart2js", mode, system, 'dart2js', runtime, [], flags) | |
204 | 211 |
205 # TODO(kasperl): Consider running peg and css tests too. | 212 # TODO(kasperl): Consider running peg and css tests too. |
206 extras = ['dart2js_extra', 'dart2js_native'] | 213 extras = ['dart2js_extra', 'dart2js_native'] |
207 TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extras, flags) | 214 TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extras, flags) |
215 else: | |
216 if bot_num == '1': | |
217 TestStep("dart2js", mode, system, 'dart2js', runtime, ['html'], flags) | |
218 else: | |
219 TestStep("dart2js", mode, system, 'dart2js', runtime, ['dartc', | |
220 'samples', 'standalone', 'corelib', 'co19', 'language', 'isolate', | |
221 'vm', 'json', 'benchmark_smoke', 'dartdoc', 'utils', 'pub', 'lib'], | |
Emily Fortuna
2012/07/05 10:18:02
alternatively, instead of explicitly listing all o
| |
222 flags) | |
223 extras = ['dart2js_extra', 'dart2js_native'] | |
224 TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extras, | |
225 flags) | |
208 | 226 |
209 elif compiler == 'frog': | 227 elif compiler == 'frog': |
210 TestStep("frog", mode, system, compiler, runtime, [], flags) | 228 TestStep("frog", mode, system, compiler, runtime, [], flags) |
211 extras = ['frog', 'dart2js_native', 'peg', 'css'] | 229 extras = ['frog', 'dart2js_native', 'peg', 'css'] |
212 TestStep("frog_extra", mode, system, compiler, runtime, extras, flags) | 230 TestStep("frog_extra", mode, system, compiler, runtime, extras, flags) |
213 | 231 |
214 return 0 | 232 return 0 |
215 | 233 |
216 def _DeleteFirefoxProfiles(directory): | 234 def _DeleteFirefoxProfiles(directory): |
217 """Find all the firefox profiles in a particular directory and delete them.""" | 235 """Find all the firefox profiles in a particular directory and delete them.""" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
281 if status == 0 and option != 'checked' and runtime == 'd8': | 299 if status == 0 and option != 'checked' and runtime == 'd8': |
282 status = TestCompiler(compiler, runtime, mode, system, option, | 300 status = TestCompiler(compiler, runtime, mode, system, option, |
283 test_flags + ['--checked']) | 301 test_flags + ['--checked']) |
284 | 302 |
285 if runtime != 'd8': CleanUpTemporaryFiles(system, runtime) | 303 if runtime != 'd8': CleanUpTemporaryFiles(system, runtime) |
286 if status != 0: print '@@@STEP_FAILURE@@@' | 304 if status != 0: print '@@@STEP_FAILURE@@@' |
287 return status | 305 return status |
288 | 306 |
289 if __name__ == '__main__': | 307 if __name__ == '__main__': |
290 sys.exit(main()) | 308 sys.exit(main()) |
OLD | NEW |