| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
| 5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
| 6 | 6 |
| 7 """ | 7 """ |
| 8 Dart2js buildbot steps | 8 Dart2js buildbot steps |
| 9 | 9 |
| 10 Runs tests for the dart2js compiler. | 10 Runs tests for the dart2js compiler. |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 def NeedsXterm(compiler, runtime): | 101 def NeedsXterm(compiler, runtime): |
| 102 return runtime in ['ie9', 'ie10', 'chrome', 'safari', 'opera', 'ff', 'drt'] | 102 return runtime in ['ie9', 'ie10', 'chrome', 'safari', 'opera', 'ff', 'drt'] |
| 103 | 103 |
| 104 | 104 |
| 105 def TestStepName(name, flags): | 105 def TestStepName(name, flags): |
| 106 # Filter out flags with '=' as this breaks the /stats feature of the | 106 # Filter out flags with '=' as this breaks the /stats feature of the |
| 107 # build bot. | 107 # build bot. |
| 108 flags = [x for x in flags if not '=' in x] | 108 flags = [x for x in flags if not '=' in x] |
| 109 return ('%s tests %s' % (name, ' '.join(flags))).strip() | 109 return ('%s tests %s' % (name, ' '.join(flags))).strip() |
| 110 | 110 |
| 111 # TODO(ricow): remove this once we have browser controller drivers for all |
| 112 # supported platforms. |
| 113 def UseBrowserController(runtime, system): |
| 114 supported_platforms = { |
| 115 'linux': ['ff', 'chromeOnAndroid', 'chrome'], |
| 116 'mac': [], |
| 117 'windows': [] |
| 118 } |
| 119 # Platforms that we run on the fyi waterfall only. |
| 120 fyi_supported_platforms = { |
| 121 'linux': [], |
| 122 'mac': ['safari'], |
| 123 'windows': [] |
| 124 } |
| 125 |
| 126 if (runtime in supported_platforms[system]): |
| 127 return True |
| 128 |
| 129 if (os.environ.get('BUILDBOT_SCHEDULER') == "fyi-main" and |
| 130 runtime in fyi_supported_platforms[system]): |
| 131 return True |
| 132 |
| 133 return False |
| 134 |
| 135 |
| 111 IsFirstTestStepCall = True | 136 IsFirstTestStepCall = True |
| 112 def TestStep(name, mode, system, compiler, runtime, targets, flags): | 137 def TestStep(name, mode, system, compiler, runtime, targets, flags): |
| 113 step_name = TestStepName(name, flags) | 138 step_name = TestStepName(name, flags) |
| 114 with bot.BuildStep(step_name, swallow_error=True): | 139 with bot.BuildStep(step_name, swallow_error=True): |
| 115 sys.stdout.flush() | 140 sys.stdout.flush() |
| 116 if NeedsXterm(compiler, runtime) and system == 'linux': | 141 if NeedsXterm(compiler, runtime) and system == 'linux': |
| 117 cmd = ['xvfb-run', '-a'] | 142 cmd = ['xvfb-run', '-a'] |
| 118 else: | 143 else: |
| 119 cmd = [] | 144 cmd = [] |
| 120 | 145 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 133 | 158 |
| 134 # TODO(ricow/kustermann): Issue 7339 | 159 # TODO(ricow/kustermann): Issue 7339 |
| 135 if runtime == "safari": | 160 if runtime == "safari": |
| 136 cmd.append('--nobatch') | 161 cmd.append('--nobatch') |
| 137 | 162 |
| 138 if user_test == 'yes': | 163 if user_test == 'yes': |
| 139 cmd.append('--progress=color') | 164 cmd.append('--progress=color') |
| 140 else: | 165 else: |
| 141 cmd.extend(['--progress=buildbot', '-v']) | 166 cmd.extend(['--progress=buildbot', '-v']) |
| 142 | 167 |
| 143 # TODO(ricow): temporary hack to run on fyi with --use_browser_controller | 168 if UseBrowserController(runtime, system): |
| 144 if (os.environ.get('BUILDBOT_SCHEDULER') == "fyi-main" and | |
| 145 runtime in ['chrome', 'ff', 'chromeOnAndroid']): | |
| 146 cmd.append('--use_browser_controller') | 169 cmd.append('--use_browser_controller') |
| 147 | 170 |
| 148 global IsFirstTestStepCall | 171 global IsFirstTestStepCall |
| 149 if IsFirstTestStepCall: | 172 if IsFirstTestStepCall: |
| 150 IsFirstTestStepCall = False | 173 IsFirstTestStepCall = False |
| 151 else: | 174 else: |
| 152 cmd.append('--append_logs') | 175 cmd.append('--append_logs') |
| 153 | 176 |
| 154 if flags: | 177 if flags: |
| 155 cmd.extend(flags) | 178 cmd.extend(flags) |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 """ | 378 """ |
| 356 with bot.BuildStep('Build SDK and d8'): | 379 with bot.BuildStep('Build SDK and d8'): |
| 357 args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode, | 380 args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode, |
| 358 'dart2js_bot'] | 381 'dart2js_bot'] |
| 359 print 'Build SDK and d8: %s' % (' '.join(args)) | 382 print 'Build SDK and d8: %s' % (' '.join(args)) |
| 360 bot.RunProcess(args) | 383 bot.RunProcess(args) |
| 361 | 384 |
| 362 | 385 |
| 363 if __name__ == '__main__': | 386 if __name__ == '__main__': |
| 364 bot.RunBot(GetBuildInfo, RunCompilerTests, build_step=BuildCompiler) | 387 bot.RunBot(GetBuildInfo, RunCompilerTests, build_step=BuildCompiler) |
| OLD | NEW |