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 DEPS = [ | 5 DEPS = [ |
6 'adb', | 6 'adb', |
7 'bot_update', | 7 'bot_update', |
8 'chromium', | 8 'chromium', |
9 'chromium_android', | 9 'chromium_android', |
10 'filter', | 10 'filter', |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 [ 'media_unittests', None ], | 71 [ 'media_unittests', None ], |
72 [ 'net_unittests', None ], | 72 [ 'net_unittests', None ], |
73 [ 'sandbox_linux_unittests', None ], | 73 [ 'sandbox_linux_unittests', None ], |
74 [ 'sql_unittests', None ], | 74 [ 'sql_unittests', None ], |
75 [ 'sync_unit_tests', None ], | 75 [ 'sync_unit_tests', None ], |
76 [ 'ui_unittests', None ], | 76 [ 'ui_unittests', None ], |
77 [ 'unit_tests', None ], | 77 [ 'unit_tests', None ], |
78 [ 'webkit_unit_tests', None ], | 78 [ 'webkit_unit_tests', None ], |
79 ] | 79 ] |
80 | 80 |
| 81 JAVA_UNIT_TESTS = [ |
| 82 'junit_unit_tests', |
| 83 ] |
| 84 |
81 TELEMETRY_UNIT_TESTS = [ | 85 TELEMETRY_UNIT_TESTS = [ |
82 [ 'telemetry_unittests', None ], | 86 [ 'telemetry_unittests', None ], |
83 [ 'telemetry_perf_unittests', None ], | 87 [ 'telemetry_perf_unittests', None ], |
84 ] | 88 ] |
85 | 89 |
86 BUILDERS = { | 90 BUILDERS = { |
87 'tryserver.chromium.linux': { | 91 'tryserver.chromium.linux': { |
88 'android_dbg_tests_recipe': { | 92 'android_dbg_tests_recipe': { |
89 'config': 'main_builder', | 93 'config': 'main_builder', |
90 'instrumentation_tests': INSTRUMENTATION_TESTS, | 94 'instrumentation_tests': INSTRUMENTATION_TESTS, |
91 'unittests': UNIT_TESTS, | 95 'unittests': UNIT_TESTS, |
| 96 'java_unittests': JAVA_UNIT_TESTS, |
92 'target': 'Debug', | 97 'target': 'Debug', |
93 'try': True, | 98 'try': True, |
94 }, | 99 }, |
95 'android_rel_tests_recipe': { | 100 'android_rel_tests_recipe': { |
96 'config': 'main_builder', | 101 'config': 'main_builder', |
97 'instrumentation_tests': INSTRUMENTATION_TESTS, | 102 'instrumentation_tests': INSTRUMENTATION_TESTS, |
98 'unittests': TELEMETRY_UNIT_TESTS, | 103 'unittests': TELEMETRY_UNIT_TESTS, |
| 104 'java_unittests': JAVA_UNIT_TESTS, |
99 'target': 'Release', | 105 'target': 'Release', |
100 'try': True, | 106 'try': True, |
101 }, | 107 }, |
102 } | 108 } |
103 } | 109 } |
104 | 110 |
105 def GenSteps(api): | 111 def GenSteps(api): |
106 # Required for us to be able to use filter. | 112 # Required for us to be able to use filter. |
107 api.chromium_android.set_config('base_config') | 113 api.chromium_android.set_config('base_config') |
108 | 114 |
(...skipping 12 matching lines...) Expand all Loading... |
121 api.gclient.apply_config('android') | 127 api.gclient.apply_config('android') |
122 api.gclient.apply_config('chrome_internal') | 128 api.gclient.apply_config('chrome_internal') |
123 | 129 |
124 api.bot_update.ensure_checkout() | 130 api.bot_update.ensure_checkout() |
125 api.chromium_android.clean_local_files() | 131 api.chromium_android.clean_local_files() |
126 api.chromium_android.runhooks() | 132 api.chromium_android.runhooks() |
127 | 133 |
128 compile_targets = None | 134 compile_targets = None |
129 instrumentation_tests = bot_config.get('instrumentation_tests', []) | 135 instrumentation_tests = bot_config.get('instrumentation_tests', []) |
130 unittests = bot_config.get('unittests', []) | 136 unittests = bot_config.get('unittests', []) |
| 137 java_unittests = bot_config.get('java_unittests', []) |
131 is_trybot = bot_config.get('try', False) | 138 is_trybot = bot_config.get('try', False) |
132 if is_trybot: | 139 if is_trybot: |
133 api.tryserver.maybe_apply_issue() | 140 api.tryserver.maybe_apply_issue() |
134 | 141 |
135 # Early out if we haven't changed any relevant code. | 142 # Early out if we haven't changed any relevant code. |
136 test_names = [] | 143 test_names = [] |
137 test_names.extend([suite['gyp_target'] for suite in instrumentation_tests]) | 144 test_names.extend([suite['gyp_target'] for suite in instrumentation_tests]) |
138 test_names.extend([suite for suite, _ in unittests]) | 145 test_names.extend([suite for suite, _ in unittests]) |
| 146 test_names.extend(java_unittests) |
139 | 147 |
140 compile_targets = api.chromium.c.compile_py.default_targets | 148 compile_targets = api.chromium.c.compile_py.default_targets |
141 api.filter.does_patch_require_compile( | 149 api.filter.does_patch_require_compile( |
142 exes=test_names, | 150 exes=test_names, |
143 compile_targets=compile_targets, | 151 compile_targets=compile_targets, |
144 additional_name='chromium', | 152 additional_name='chromium', |
145 config_file_name='trybot_analyze_config.json') | 153 config_file_name='trybot_analyze_config.json') |
146 if not api.filter.result: | 154 if not api.filter.result: |
147 return | 155 return |
148 compile_targets = list(set(compile_targets) & | 156 compile_targets = list(set(compile_targets) & |
149 set(api.filter.compile_targets)) if \ | 157 set(api.filter.compile_targets)) if \ |
150 compile_targets else api.filter.compile_targets | 158 compile_targets else api.filter.compile_targets |
151 instrumentation_tests = [i for i in instrumentation_tests if \ | 159 instrumentation_tests = [i for i in instrumentation_tests if \ |
152 i['gyp_target'] in api.filter.matching_exes] | 160 i['gyp_target'] in api.filter.matching_exes] |
153 unittests = [i for i in unittests if i[0] in api.filter.matching_exes] | 161 unittests = [i for i in unittests if i[0] in api.filter.matching_exes] |
| 162 java_unittests = [i for i in java_unittests |
| 163 if i in api.filter.matching_exes] |
154 | 164 |
155 api.chromium_android.run_tree_truth() | 165 api.chromium_android.run_tree_truth() |
156 api.chromium_android.compile(targets=compile_targets) | 166 api.chromium_android.compile(targets=compile_targets) |
157 | 167 |
158 if not instrumentation_tests and not unittests: | 168 if not instrumentation_tests and not unittests and not java_unittests: |
159 return | 169 return |
160 | 170 |
161 api.adb.root_devices() | 171 api.adb.root_devices() |
162 | 172 |
163 api.chromium_android.spawn_logcat_monitor() | 173 api.chromium_android.spawn_logcat_monitor() |
164 api.chromium_android.detect_and_setup_devices() | 174 api.chromium_android.detect_and_setup_devices() |
165 | 175 |
166 with api.step.defer_results(): | 176 with api.step.defer_results(): |
167 for suite in instrumentation_tests: | 177 for suite in instrumentation_tests: |
168 api.chromium_android.run_instrumentation_suite( | 178 api.chromium_android.run_instrumentation_suite( |
169 suite['test'], verbose=True, **suite.get('kwargs', {})) | 179 suite['test'], verbose=True, **suite.get('kwargs', {})) |
170 | 180 |
171 for suite, isolate_path in unittests: | 181 for suite, isolate_path in unittests: |
172 if isolate_path: | 182 if isolate_path: |
173 isolate_path = api.path['checkout'].join(*isolate_path) | 183 isolate_path = api.path['checkout'].join(*isolate_path) |
174 api.chromium_android.run_test_suite( | 184 api.chromium_android.run_test_suite( |
175 suite, | 185 suite, |
176 isolate_file_path=isolate_path) | 186 isolate_file_path=isolate_path) |
177 | 187 |
| 188 for suite in java_unittests: |
| 189 api.chromium_android.run_java_unit_test_suite(suite) |
| 190 |
178 api.chromium_android.logcat_dump(gs_bucket='chromium-android') | 191 api.chromium_android.logcat_dump(gs_bucket='chromium-android') |
179 api.chromium_android.stack_tool_steps() | 192 api.chromium_android.stack_tool_steps() |
180 api.chromium_android.test_report() | 193 api.chromium_android.test_report() |
181 | 194 |
182 def GenTests(api): | 195 def GenTests(api): |
183 for mastername in BUILDERS: | 196 for mastername in BUILDERS: |
184 for buildername in BUILDERS[mastername]: | 197 for buildername in BUILDERS[mastername]: |
185 yield ( | 198 yield ( |
186 api.test(buildername) + | 199 api.test(buildername) + |
187 api.properties.generic( | 200 api.properties.generic( |
188 revision='4f4b02f6b7fa20a3a25682c457bbc8ad589c8a00', | 201 revision='4f4b02f6b7fa20a3a25682c457bbc8ad589c8a00', |
189 parent_buildername='parent_buildername', | 202 parent_buildername='parent_buildername', |
190 parent_buildnumber='1729', | 203 parent_buildnumber='1729', |
191 mastername=mastername, | 204 mastername=mastername, |
192 buildername=buildername, | 205 buildername=buildername, |
193 slavename='slavename', | 206 slavename='slavename', |
194 buildnumber='1337') + | 207 buildnumber='1337') + |
195 api.override_step_data( | 208 api.override_step_data( |
196 'analyze', | 209 'analyze', |
197 api.json.output({'status': 'Found dependency', | 210 api.json.output({'status': 'Found dependency', |
198 'targets': ['breakpad_unittests', | 211 'targets': ['breakpad_unittests', |
199 'chrome_shell_test_apk'], | 212 'chrome_shell_test_apk', |
| 213 'junit_unit_tests'], |
200 'build_targets': ['breakpad_unittests', | 214 'build_targets': ['breakpad_unittests', |
201 'chrome_shell_test_apk']})) | 215 'chrome_shell_test_apk', |
| 216 'junit_unit_tests']})) |
202 ) | 217 ) |
203 | 218 |
204 yield ( | 219 yield ( |
205 api.test('android_dbg_tests_recipe__content_browsertests_failure') + | 220 api.test('android_dbg_tests_recipe__content_browsertests_failure') + |
206 api.properties.generic( | 221 api.properties.generic( |
207 mastername='tryserver.chromium.linux', | 222 mastername='tryserver.chromium.linux', |
208 buildername='android_dbg_tests_recipe', | 223 buildername='android_dbg_tests_recipe', |
209 slavename='slavename') + | 224 slavename='slavename') + |
210 api.override_step_data( | 225 api.override_step_data( |
211 'analyze', | 226 'analyze', |
(...skipping 20 matching lines...) Expand all Loading... |
232 yield ( | 247 yield ( |
233 api.test('no_compile_because_of_analyze') + | 248 api.test('no_compile_because_of_analyze') + |
234 api.properties.generic( | 249 api.properties.generic( |
235 mastername='tryserver.chromium.linux', | 250 mastername='tryserver.chromium.linux', |
236 buildername='android_dbg_tests_recipe', | 251 buildername='android_dbg_tests_recipe', |
237 slavename='slavename') + | 252 slavename='slavename') + |
238 api.override_step_data( | 253 api.override_step_data( |
239 'analyze', | 254 'analyze', |
240 api.json.output({'status': 'No compile necessary'})) | 255 api.json.output({'status': 'No compile necessary'})) |
241 ) | 256 ) |
OLD | NEW |