OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2012 the V8 project authors. All rights reserved. | 3 # Copyright 2012 the V8 project authors. All rights reserved. |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 "--concurrent-recompilation"] | 75 "--concurrent-recompilation"] |
76 | 76 |
77 SUPPORTED_ARCHS = ["android_arm", | 77 SUPPORTED_ARCHS = ["android_arm", |
78 "android_ia32", | 78 "android_ia32", |
79 "arm", | 79 "arm", |
80 "ia32", | 80 "ia32", |
81 "mipsel", | 81 "mipsel", |
82 "nacl_ia32", | 82 "nacl_ia32", |
83 "nacl_x64", | 83 "nacl_x64", |
84 "x64", | 84 "x64", |
85 "a64", | |
86 "arm64"] | 85 "arm64"] |
87 # Double the timeout for these: | 86 # Double the timeout for these: |
88 SLOW_ARCHS = ["android_arm", | 87 SLOW_ARCHS = ["android_arm", |
89 "android_ia32", | 88 "android_ia32", |
90 "arm", | 89 "arm", |
91 "mipsel", | 90 "mipsel", |
92 "nacl_ia32", | 91 "nacl_ia32", |
93 "nacl_x64", | 92 "nacl_x64", |
94 "a64"] | 93 "arm64"] |
95 | 94 |
96 | 95 |
97 def BuildOptions(): | 96 def BuildOptions(): |
98 result = optparse.OptionParser() | 97 result = optparse.OptionParser() |
99 result.add_option("--arch", | 98 result.add_option("--arch", |
100 help=("The architecture to run tests for, " | 99 help=("The architecture to run tests for, " |
101 "'auto' or 'native' for auto-detect"), | 100 "'auto' or 'native' for auto-detect"), |
102 default="ia32,x64,arm") | 101 default="ia32,x64,arm") |
103 result.add_option("--arch-and-mode", | 102 result.add_option("--arch-and-mode", |
104 help="Architecture and mode in the format 'arch.mode'", | 103 help="Architecture and mode in the format 'arch.mode'", |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 os.path.join(workspace, "test", root)) | 345 os.path.join(workspace, "test", root)) |
347 if suite: | 346 if suite: |
348 suites.append(suite) | 347 suites.append(suite) |
349 | 348 |
350 if options.download_data: | 349 if options.download_data: |
351 for s in suites: | 350 for s in suites: |
352 s.DownloadData() | 351 s.DownloadData() |
353 | 352 |
354 for (arch, mode) in options.arch_and_mode: | 353 for (arch, mode) in options.arch_and_mode: |
355 try: | 354 try: |
356 if arch == "arm64": | |
357 arch = "a64" | |
358 code = Execute(arch, mode, args, options, suites, workspace) | 355 code = Execute(arch, mode, args, options, suites, workspace) |
359 except KeyboardInterrupt: | 356 except KeyboardInterrupt: |
360 return 2 | 357 return 2 |
361 exit_code = exit_code or code | 358 exit_code = exit_code or code |
362 return exit_code | 359 return exit_code |
363 | 360 |
364 | 361 |
365 def Execute(arch, mode, args, options, suites, workspace): | 362 def Execute(arch, mode, args, options, suites, workspace): |
366 print(">>> Running tests for %s.%s" % (arch, mode)) | 363 print(">>> Running tests for %s.%s" % (arch, mode)) |
367 | 364 |
(...skipping 23 matching lines...) Expand all Loading... |
391 timeout *= TIMEOUT_SCALEFACTOR[mode] | 388 timeout *= TIMEOUT_SCALEFACTOR[mode] |
392 ctx = context.Context(arch, mode, shell_dir, | 389 ctx = context.Context(arch, mode, shell_dir, |
393 mode_flags, options.verbose, | 390 mode_flags, options.verbose, |
394 timeout, options.isolates, | 391 timeout, options.isolates, |
395 options.command_prefix, | 392 options.command_prefix, |
396 options.extra_flags, | 393 options.extra_flags, |
397 options.no_i18n) | 394 options.no_i18n) |
398 | 395 |
399 # TODO(all): Combine "simulator" and "simulator_run". | 396 # TODO(all): Combine "simulator" and "simulator_run". |
400 simulator_run = not options.dont_skip_simulator_slow_tests and \ | 397 simulator_run = not options.dont_skip_simulator_slow_tests and \ |
401 arch in ['a64', 'arm', 'mips'] and ARCH_GUESS and arch != ARCH_GUESS | 398 arch in ['arm64', 'arm', 'mips'] and ARCH_GUESS and arch != ARCH_GUESS |
402 # Find available test suites and read test cases from them. | 399 # Find available test suites and read test cases from them. |
403 variables = { | 400 variables = { |
404 "arch": arch, | 401 "arch": arch, |
405 "asan": options.asan, | 402 "asan": options.asan, |
406 "deopt_fuzzer": False, | 403 "deopt_fuzzer": False, |
407 "gc_stress": options.gc_stress, | 404 "gc_stress": options.gc_stress, |
408 "isolates": options.isolates, | 405 "isolates": options.isolates, |
409 "mode": mode, | 406 "mode": mode, |
410 "no_i18n": options.no_i18n, | 407 "no_i18n": options.no_i18n, |
411 "simulator_run": simulator_run, | 408 "simulator_run": simulator_run, |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 except KeyboardInterrupt: | 483 except KeyboardInterrupt: |
487 raise | 484 raise |
488 | 485 |
489 if options.time: | 486 if options.time: |
490 verbose.PrintTestDurations(suites, overall_duration) | 487 verbose.PrintTestDurations(suites, overall_duration) |
491 return exit_code | 488 return exit_code |
492 | 489 |
493 | 490 |
494 if __name__ == "__main__": | 491 if __name__ == "__main__": |
495 sys.exit(Main()) | 492 sys.exit(Main()) |
OLD | NEW |