OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """Buildbot recipe definition for the various Crashpad continuous builders. | 5 """Buildbot recipe definition for the various Crashpad continuous builders. |
6 """ | 6 """ |
7 | 7 |
8 DEPS = [ | 8 DEPS = [ |
9 'file', | 9 'file', |
10 'gclient', | 10 'gclient', |
(...skipping 12 matching lines...) Expand all Loading... |
23 | 23 |
24 if 'clobber' in api.properties: | 24 if 'clobber' in api.properties: |
25 api.file.rmtree('out', api.path['checkout'].join('out')) | 25 api.file.rmtree('out', api.path['checkout'].join('out')) |
26 | 26 |
27 buildername = api.properties['buildername'] | 27 buildername = api.properties['buildername'] |
28 env = {} | 28 env = {} |
29 if '_x86' in buildername: | 29 if '_x86' in buildername: |
30 env = {'GYP_DEFINES': 'target_arch=ia32'} | 30 env = {'GYP_DEFINES': 'target_arch=ia32'} |
31 api.gclient.runhooks(env=env) | 31 api.gclient.runhooks(env=env) |
32 | 32 |
| 33 # On Windows, we need to test: |
| 34 # a) x64 OS, x64 handler, x64 client |
| 35 # b) x64 OS, x64 handler, x86 client |
| 36 # c) x64 OS, x86 handler, x86 client |
| 37 # d) x86 OS, x86 handler, x86 client |
| 38 # |
| 39 # c) is tested on the _x86_wow64 bots. |
| 40 # |
| 41 # d) is untested pending http://crbug.com/531663. |
| 42 # |
| 43 # a) and b) are tested on the _x64 bots. Crashpad's gclient takes care of |
| 44 # generating Debug == x86 and Debug_x64 == x64 when target_arch==x64 (the |
| 45 # default). So, we just need to make sure to build both the suffixed and |
| 46 # unsuffixed trees, and then make sure to run the tests from the _x64 tree. |
33 dirname = 'Debug' if '_dbg' in buildername else 'Release' | 47 dirname = 'Debug' if '_dbg' in buildername else 'Release' |
34 path = api.path['checkout'].join('out', dirname) | 48 path = api.path['checkout'].join('out', dirname) |
35 api.step('compile with ninja', ['ninja', '-C', path]) | 49 api.step('compile with ninja', ['ninja', '-C', path]) |
| 50 |
| 51 if '_x64' in buildername: |
| 52 # Note that we modify the dirname on x64 because we want to handle variants |
| 53 # a) and b) above. |
| 54 dirname += '_x64' |
| 55 path = api.path['checkout'].join('out', dirname) |
| 56 api.step('compile with ninja', ['ninja', '-C', path]) |
| 57 |
36 api.python('run tests', | 58 api.python('run tests', |
37 api.path['checkout'].join('build', 'run_tests.py'), | 59 api.path['checkout'].join('build', 'run_tests.py'), |
38 args=[dirname]) | 60 args=[dirname]) |
39 | 61 |
40 | 62 |
41 def GenTests(api): | 63 def GenTests(api): |
42 tests = [ | 64 tests = [ |
43 'crashpad_mac_dbg', | 65 'crashpad_mac_dbg', |
44 'crashpad_mac_rel', | 66 'crashpad_mac_rel', |
45 'crashpad_win_dbg', | 67 'crashpad_win_x64_dbg', |
46 'crashpad_win_rel', | 68 'crashpad_win_x64_rel', |
47 'crashpad_win_x86_dbg', | 69 'crashpad_win_x86_wow64_dbg', |
48 'crashpad_win_x86_rel', | 70 'crashpad_win_x86_wow64_rel', |
| 71 # TODO(scottmg): Add native x86 bots. |
49 ] | 72 ] |
50 for t in tests: | 73 for t in tests: |
51 yield(api.test(t) + api.properties.generic(buildername=t)) | 74 yield(api.test(t) + api.properties.generic(buildername=t)) |
52 yield(api.test(t + '_clobber') + | 75 yield(api.test(t + '_clobber') + |
53 api.properties.generic(buildername=t, clobber=True)) | 76 api.properties.generic(buildername=t, clobber=True)) |
OLD | NEW |