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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 # Make sure we are in the frog directory | 185 # Make sure we are in the frog directory |
186 os.chdir(DART_PATH) | 186 os.chdir(DART_PATH) |
187 | 187 |
188 if system.startswith('win') and runtime == 'ie': | 188 if system.startswith('win') and runtime == 'ie': |
189 # There should not be more than one InternetExplorerDriver instance | 189 # There should not be more than one InternetExplorerDriver instance |
190 # running at a time. For details, see | 190 # running at a time. For details, see |
191 # http://code.google.com/p/selenium/wiki/InternetExplorerDriver. | 191 # http://code.google.com/p/selenium/wiki/InternetExplorerDriver. |
192 flags = flags + ['-j1'] | 192 flags = flags + ['-j1'] |
193 | 193 |
194 if compiler == 'dart2js': | 194 if compiler == 'dart2js': |
195 if (option == 'checked'): flags = flags + ['--host-checked'] | 195 if option == 'checked': flags = flags + ['--host-checked'] |
196 # Leg isn't self-hosted (yet) so we run the leg unit tests on the VM. | |
197 TestStep("dart2js_unit", mode, system, 'none', 'vm', ['leg'], ['--checked']) | |
198 | 196 |
199 extra_suites = ['leg_only', 'frog_native'] | 197 if runtime == 'd8': |
200 TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extra_suites, | 198 # The dart2js compiler isn't self-hosted (yet) so we run its |
201 flags) | 199 # unit tests on the VM. We avoid doing this on the builders |
| 200 # that run the browser tests to cut down on the cycle time. |
| 201 TestStep("dart2js_unit", mode, system, 'none', 'vm', ['leg'], flags) |
202 | 202 |
| 203 # Run the default set of test suites. |
203 TestStep("dart2js", mode, system, 'dart2js', runtime, [], flags) | 204 TestStep("dart2js", mode, system, 'dart2js', runtime, [], flags) |
204 | 205 |
205 elif runtime == 'd8' and compiler in ['frog']: | 206 # TODO(kasperl): Consider running peg and css tests too. |
| 207 extras = ['leg_only', 'frog_native'] |
| 208 TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extras, flags) |
| 209 |
| 210 elif compiler == 'frog': |
206 TestStep("frog", mode, system, compiler, runtime, [], flags) | 211 TestStep("frog", mode, system, compiler, runtime, [], flags) |
207 TestStep("frog_extra", mode, system, compiler, runtime, | 212 extras = ['frog', 'frog_native', 'peg', 'css'] |
208 ['frog', 'frog_native', 'peg', 'css'], flags) | 213 TestStep("frog_extra", mode, system, compiler, runtime, extras, flags) |
209 TestStep("sdk", mode, system, 'none', 'vm', ['dartdoc'], flags) | |
210 | |
211 else: | |
212 tests = ['dom', 'html', 'json', 'benchmark_smoke', | |
213 'isolate', 'frog', 'css', 'corelib', 'language', | |
214 'frog_native', 'peg'] | |
215 | |
216 # TODO(efortuna): Move Mac back to DumpRenderTree when we have a more stable | |
217 # solution for DRT. Right now DRT is flakier than regular Chrome for the | |
218 # isolate tests, so we're switching to use Chrome in the short term. | |
219 if runtime == 'chrome' and system == 'linux': | |
220 TestStep('browser', mode, system, 'frog', 'drt', tests, flags) | |
221 | |
222 # TODO(ngeoffray): Enable checked mode once dart2js supports type | |
223 # variables. | |
224 if not ('--checked' in flags): | |
225 TestStep('browser_dart2js', mode, system, 'dart2js', 'drt', [], flags) | |
226 TestStep('browser_dart2js_extra', mode, system, 'dart2js', 'drt', | |
227 ['leg_only', 'frog_native'], flags) | |
228 | |
229 else: | |
230 TestStep(runtime, mode, system, compiler, runtime, tests, flags) | |
231 | 214 |
232 return 0 | 215 return 0 |
233 | 216 |
234 def _DeleteFirefoxProfiles(directory): | 217 def _DeleteFirefoxProfiles(directory): |
235 """Find all the firefox profiles in a particular directory and delete them.""" | 218 """Find all the firefox profiles in a particular directory and delete them.""" |
236 for f in os.listdir(directory): | 219 for f in os.listdir(directory): |
237 item = os.path.join(directory, f) | 220 item = os.path.join(directory, f) |
238 if os.path.isdir(item) and f.startswith('tmp'): | 221 if os.path.isdir(item) and f.startswith('tmp'): |
239 subprocess.Popen('rm -rf %s' % item, shell=True) | 222 subprocess.Popen('rm -rf %s' % item, shell=True) |
240 | 223 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 if status == 0 and compiler != 'dart2js': | 280 if status == 0 and compiler != 'dart2js': |
298 status = TestCompiler(compiler, runtime, mode, system, option, | 281 status = TestCompiler(compiler, runtime, mode, system, option, |
299 test_flags + ['--checked']) | 282 test_flags + ['--checked']) |
300 | 283 |
301 if runtime != 'd8': CleanUpTemporaryFiles(system, runtime) | 284 if runtime != 'd8': CleanUpTemporaryFiles(system, runtime) |
302 if status != 0: print '@@@STEP_FAILURE@@@' | 285 if status != 0: print '@@@STEP_FAILURE@@@' |
303 return status | 286 return status |
304 | 287 |
305 if __name__ == '__main__': | 288 if __name__ == '__main__': |
306 sys.exit(main()) | 289 sys.exit(main()) |
OLD | NEW |