OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 # Enable 'with' statements in Python 2.5 | 6 # Enable 'with' statements in Python 2.5 |
7 from __future__ import with_statement | 7 from __future__ import with_statement |
8 | 8 |
9 import os.path | 9 import os.path |
10 import re | 10 import re |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 cmd=[gn_path, '--dotfile=../native_client/.gn', | 183 cmd=[gn_path, '--dotfile=../native_client/.gn', |
184 '--root=..', 'gen', '../out']) | 184 '--root=..', 'gen', '../out']) |
185 Command(context, cmd=['ninja', '-C', '../out', '-j10'] + targets) | 185 Command(context, cmd=['ninja', '-C', '../out', '-j10'] + targets) |
186 | 186 |
187 if context['clang']: | 187 if context['clang']: |
188 with Step('update_clang', status): | 188 with Step('update_clang', status): |
189 Command(context, cmd=['../tools/clang/scripts/update.sh']) | 189 Command(context, cmd=['../tools/clang/scripts/update.sh']) |
190 | 190 |
191 # Just build both bitages of validator and test for --validator mode. | 191 # Just build both bitages of validator and test for --validator mode. |
192 if context['validator']: | 192 if context['validator']: |
193 with Step('build ncval-x86-32', status): | |
194 SCons(context, platform='x86-32', parallel=True, args=['ncval']) | |
195 with Step('build ncval-x86-64', status): | |
196 SCons(context, platform='x86-64', parallel=True, args=['ncval']) | |
197 | |
198 with Step('build ragel_validator-32', status): | 193 with Step('build ragel_validator-32', status): |
199 SCons(context, platform='x86-32', parallel=True, args=['ncval_new']) | 194 SCons(context, platform='x86-32', parallel=True, args=['ncval_new']) |
200 with Step('build ragel_validator-64', status): | 195 with Step('build ragel_validator-64', status): |
201 SCons(context, platform='x86-64', parallel=True, args=['ncval_new']) | 196 SCons(context, platform='x86-64', parallel=True, args=['ncval_new']) |
202 | 197 |
203 with Step('predownload validator corpus', status): | 198 with Step('predownload validator corpus', status): |
204 Command(context, | 199 Command(context, |
205 cmd=[sys.executable, | 200 cmd=[sys.executable, |
206 'tests/abi_corpus/validator_regression_test.py', | 201 'tests/abi_corpus/validator_regression_test.py', |
207 '--download-only']) | 202 '--download-only']) |
208 | 203 |
209 with Step('validator_regression_test current x86-32', status, | |
210 halt_on_fail=False): | |
211 ValidatorTest( | |
212 context, 'x86-32', 'scons-out/opt-linux-x86-32/staging/ncval') | |
213 with Step('validator_regression_test current x86-64', status, | |
214 halt_on_fail=False): | |
215 ValidatorTest( | |
216 context, 'x86-64', 'scons-out/opt-linux-x86-64/staging/ncval') | |
217 | |
218 with Step('validator_regression_test ragel x86-32', status, | 204 with Step('validator_regression_test ragel x86-32', status, |
219 halt_on_fail=False): | 205 halt_on_fail=False): |
220 ValidatorTest( | 206 ValidatorTest( |
221 context, 'x86-32', | 207 context, 'x86-32', |
222 'scons-out/opt-linux-x86-32/staging/ncval_new') | 208 'scons-out/opt-linux-x86-32/staging/ncval_new') |
223 with Step('validator_regression_test ragel x86-64', status, | 209 with Step('validator_regression_test ragel x86-64', status, |
224 halt_on_fail=False): | 210 halt_on_fail=False): |
225 ValidatorTest( | 211 ValidatorTest( |
226 context, 'x86-64', | 212 context, 'x86-64', |
227 'scons-out/opt-linux-x86-64/staging/ncval_new') | 213 'scons-out/opt-linux-x86-64/staging/ncval_new') |
228 | 214 |
229 with Step('validator_diff32_tests', status, halt_on_fail=False): | |
230 SCons(context, platform='x86-32', args=['validator_diff_tests']) | |
231 with Step('validator_diff64_tests', status, halt_on_fail=False): | |
232 SCons(context, platform='x86-64', args=['validator_diff_tests']) | |
233 return | 215 return |
234 | 216 |
235 # Run checkdeps script to vet #includes. | 217 # Run checkdeps script to vet #includes. |
236 with Step('checkdeps', status): | 218 with Step('checkdeps', status): |
237 Command(context, cmd=[sys.executable, 'tools/checkdeps/checkdeps.py']) | 219 Command(context, cmd=[sys.executable, 'tools/checkdeps/checkdeps.py']) |
238 | 220 |
239 # Make sure our Gyp build is working. | 221 # Make sure our Gyp build is working. |
240 if not context['no_gyp']: | 222 if not context['no_gyp']: |
241 with Step('gyp_compile', status): | 223 with Step('gyp_compile', status): |
242 CommandGypBuild(context) | 224 CommandGypBuild(context) |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 }[context['arch']] | 281 }[context['arch']] |
300 gn_sel_ldr = '../out/trusted_%s/sel_ldr' % arch_name | 282 gn_sel_ldr = '../out/trusted_%s/sel_ldr' % arch_name |
301 with Step('small_tests under GN', status, halt_on_fail=False): | 283 with Step('small_tests under GN', status, halt_on_fail=False): |
302 SCons(context, args=['small_tests', 'force_sel_ldr=' + gn_sel_ldr]) | 284 SCons(context, args=['small_tests', 'force_sel_ldr=' + gn_sel_ldr]) |
303 with Step('medium_tests under GN', status, halt_on_fail=False): | 285 with Step('medium_tests under GN', status, halt_on_fail=False): |
304 SCons(context, args=['medium_tests', 'force_sel_ldr=' + gn_sel_ldr]) | 286 SCons(context, args=['medium_tests', 'force_sel_ldr=' + gn_sel_ldr]) |
305 with Step('large_tests under GN', status, halt_on_fail=False): | 287 with Step('large_tests under GN', status, halt_on_fail=False): |
306 SCons(context, args=['large_tests', 'force_sel_ldr=' + gn_sel_ldr]) | 288 SCons(context, args=['large_tests', 'force_sel_ldr=' + gn_sel_ldr]) |
307 ### END GN tests ### | 289 ### END GN tests ### |
308 | 290 |
309 # Build with ragel-based validator using scons. | |
310 with Step('scons_compile_noragel', status): | |
311 SCons(context, parallel=True, args=['validator_ragel=0']) | |
312 | |
313 # Smoke tests for the R-DFA validator. | |
314 with Step('validator_noragel_tests', status): | |
315 args = ['validator_ragel=0', | |
316 'small_tests', | |
317 'medium_tests', | |
318 'large_tests', | |
319 ] | |
320 # Add nacl_irt_test mode to be able to run run_hello_world_test_irt that | |
321 # tests validation of the IRT. | |
322 SCons(context, | |
323 mode=context['default_scons_mode'] + ['nacl_irt_test'], | |
324 args=args) | |
325 | |
326 | 291 |
327 def Main(): | 292 def Main(): |
328 # TODO(ncbray) make buildbot scripts composable to support toolchain use case. | 293 # TODO(ncbray) make buildbot scripts composable to support toolchain use case. |
329 context = BuildContext() | 294 context = BuildContext() |
330 status = BuildStatus(context) | 295 status = BuildStatus(context) |
331 ParseStandardCommandLine(context) | 296 ParseStandardCommandLine(context) |
332 SetupContextVars(context) | 297 SetupContextVars(context) |
333 if context.Windows(): | 298 if context.Windows(): |
334 SetupWindowsEnvironment(context) | 299 SetupWindowsEnvironment(context) |
335 elif context.Linux(): | 300 elif context.Linux(): |
(...skipping 12 matching lines...) Expand all Loading... |
348 start_time = time.time() | 313 start_time = time.time() |
349 try: | 314 try: |
350 Main() | 315 Main() |
351 finally: | 316 finally: |
352 time_taken = time.time() - start_time | 317 time_taken = time.time() - start_time |
353 print 'RESULT BuildbotTime: total= %.3f minutes' % (time_taken / 60) | 318 print 'RESULT BuildbotTime: total= %.3f minutes' % (time_taken / 60) |
354 | 319 |
355 | 320 |
356 if __name__ == '__main__': | 321 if __name__ == '__main__': |
357 TimedMain() | 322 TimedMain() |
OLD | NEW |