| 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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 return runtime in ['ie9', 'ie10', 'chrome', 'safari', 'opera', 'ff', 'drt', | 114 return runtime in ['ie9', 'ie10', 'chrome', 'safari', 'opera', 'ff', 'drt', |
| 115 'dartium'] | 115 'dartium'] |
| 116 | 116 |
| 117 | 117 |
| 118 def TestStepName(name, flags): | 118 def TestStepName(name, flags): |
| 119 # Filter out flags with '=' as this breaks the /stats feature of the | 119 # Filter out flags with '=' as this breaks the /stats feature of the |
| 120 # build bot. | 120 # build bot. |
| 121 flags = [x for x in flags if not '=' in x] | 121 flags = [x for x in flags if not '=' in x] |
| 122 return ('%s tests %s' % (name, ' '.join(flags))).strip() | 122 return ('%s tests %s' % (name, ' '.join(flags))).strip() |
| 123 | 123 |
| 124 # TODO(ricow): remove this once we have browser controller drivers for all | |
| 125 # supported platforms. | |
| 126 def UseBrowserController(runtime, system): | |
| 127 supported_platforms = { | |
| 128 'linux': ['ff', 'chromeOnAndroid', 'chrome', 'dartium'], | |
| 129 'mac': ['safari', 'chrome', 'dartium'], | |
| 130 'windows': ['ie9', 'ie10', 'ff', 'chrome', 'dartium'] | |
| 131 } | |
| 132 # Platforms that we run on the fyi waterfall only. | |
| 133 fyi_supported_platforms = { | |
| 134 'linux': [], | |
| 135 'mac': [], | |
| 136 'windows': [] | |
| 137 } | |
| 138 | |
| 139 if (runtime in supported_platforms[system]): | |
| 140 return True | |
| 141 | |
| 142 if (os.environ.get('BUILDBOT_SCHEDULER') == "fyi-main" and | |
| 143 runtime in fyi_supported_platforms[system]): | |
| 144 return True | |
| 145 | |
| 146 return False | |
| 147 | |
| 148 | 124 |
| 149 IsFirstTestStepCall = True | 125 IsFirstTestStepCall = True |
| 150 def TestStep(name, mode, system, compiler, runtime, targets, flags, arch): | 126 def TestStep(name, mode, system, compiler, runtime, targets, flags, arch): |
| 151 step_name = TestStepName(name, flags) | 127 step_name = TestStepName(name, flags) |
| 152 with bot.BuildStep(step_name, swallow_error=True): | 128 with bot.BuildStep(step_name, swallow_error=True): |
| 153 sys.stdout.flush() | 129 sys.stdout.flush() |
| 154 if NeedsXterm(compiler, runtime) and system == 'linux': | 130 if NeedsXterm(compiler, runtime) and system == 'linux': |
| 155 cmd = ['xvfb-run', '-a'] | 131 cmd = ['xvfb-run', '-a'] |
| 156 else: | 132 else: |
| 157 cmd = [] | 133 cmd = [] |
| (...skipping 10 matching lines...) Expand all Loading... |
| 168 '--time', | 144 '--time', |
| 169 '--use-sdk', | 145 '--use-sdk', |
| 170 '--report', | 146 '--report', |
| 171 '--write-debug-log']) | 147 '--write-debug-log']) |
| 172 | 148 |
| 173 if user_test == 'yes': | 149 if user_test == 'yes': |
| 174 cmd.append('--progress=color') | 150 cmd.append('--progress=color') |
| 175 else: | 151 else: |
| 176 cmd.extend(['--progress=buildbot', '-v']) | 152 cmd.extend(['--progress=buildbot', '-v']) |
| 177 | 153 |
| 178 if UseBrowserController(runtime, system): | |
| 179 cmd.append('--use_browser_controller') | |
| 180 if runtime == 'safari': | 154 if runtime == 'safari': |
| 181 cmd.append('--clear_safari_cache') | 155 cmd.append('--clear_safari_cache') |
| 182 | 156 |
| 183 global IsFirstTestStepCall | 157 global IsFirstTestStepCall |
| 184 if IsFirstTestStepCall: | 158 if IsFirstTestStepCall: |
| 185 IsFirstTestStepCall = False | 159 IsFirstTestStepCall = False |
| 186 else: | 160 else: |
| 187 cmd.append('--append_logs') | 161 cmd.append('--append_logs') |
| 188 | 162 |
| 189 if flags: | 163 if flags: |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 """ | 377 """ |
| 404 with bot.BuildStep('Build SDK and d8'): | 378 with bot.BuildStep('Build SDK and d8'): |
| 405 args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode, | 379 args = [sys.executable, './tools/build.py', '--mode=' + build_info.mode, |
| 406 '--arch=' + build_info.arch, 'dart2js_bot'] | 380 '--arch=' + build_info.arch, 'dart2js_bot'] |
| 407 print 'Build SDK and d8: %s' % (' '.join(args)) | 381 print 'Build SDK and d8: %s' % (' '.join(args)) |
| 408 bot.RunProcess(args) | 382 bot.RunProcess(args) |
| 409 | 383 |
| 410 | 384 |
| 411 if __name__ == '__main__': | 385 if __name__ == '__main__': |
| 412 bot.RunBot(GetBuildInfo, RunCompilerTests, build_step=BuildCompiler) | 386 bot.RunBot(GetBuildInfo, RunCompilerTests, build_step=BuildCompiler) |
| OLD | NEW |