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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 # Map of test name synonyms to lists of test suites. Should be ordered by | 62 # Map of test name synonyms to lists of test suites. Should be ordered by |
63 # expected runtimes (suites with slow test cases first). These groups are | 63 # expected runtimes (suites with slow test cases first). These groups are |
64 # invoked in seperate steps on the bots. | 64 # invoked in seperate steps on the bots. |
65 TEST_MAP = { | 65 TEST_MAP = { |
66 # This needs to stay in sync with test/bot_default.isolate. | 66 # This needs to stay in sync with test/bot_default.isolate. |
67 "bot_default": [ | 67 "bot_default": [ |
68 "mjsunit", | 68 "mjsunit", |
69 "cctest", | 69 "cctest", |
70 "webkit", | 70 "webkit", |
| 71 "inspector", |
71 "fuzzer", | 72 "fuzzer", |
72 "message", | 73 "message", |
73 "preparser", | 74 "preparser", |
74 "intl", | 75 "intl", |
75 "unittests", | 76 "unittests", |
76 ], | 77 ], |
77 # This needs to stay in sync with test/default.isolate. | 78 # This needs to stay in sync with test/default.isolate. |
78 "default": [ | 79 "default": [ |
79 "mjsunit", | 80 "mjsunit", |
80 "cctest", | 81 "cctest", |
81 "fuzzer", | 82 "fuzzer", |
82 "message", | 83 "message", |
83 "preparser", | 84 "preparser", |
84 "intl", | 85 "intl", |
85 "unittests", | 86 "unittests", |
86 ], | 87 ], |
87 # This needs to stay in sync with test/optimize_for_size.isolate. | 88 # This needs to stay in sync with test/optimize_for_size.isolate. |
88 "optimize_for_size": [ | 89 "optimize_for_size": [ |
89 "mjsunit", | 90 "mjsunit", |
90 "cctest", | 91 "cctest", |
91 "webkit", | 92 "webkit", |
| 93 "inspector", |
92 "intl", | 94 "intl", |
93 ], | 95 ], |
94 "unittests": [ | 96 "unittests": [ |
95 "unittests", | 97 "unittests", |
96 ], | 98 ], |
97 } | 99 } |
98 | 100 |
99 TIMEOUT_DEFAULT = 60 | 101 TIMEOUT_DEFAULT = 60 |
100 | 102 |
101 VARIANTS = ["default", "turbofan", "ignition_staging"] | 103 VARIANTS = ["default", "turbofan", "ignition_staging"] |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 help="Uses executables instrumented for gcov coverage", | 250 help="Uses executables instrumented for gcov coverage", |
249 default=False, action="store_true") | 251 default=False, action="store_true") |
250 result.add_option("--command-prefix", | 252 result.add_option("--command-prefix", |
251 help="Prepended to each shell command used to run a test", | 253 help="Prepended to each shell command used to run a test", |
252 default="") | 254 default="") |
253 result.add_option("--download-data", help="Download missing test suite data", | 255 result.add_option("--download-data", help="Download missing test suite data", |
254 default=False, action="store_true") | 256 default=False, action="store_true") |
255 result.add_option("--download-data-only", | 257 result.add_option("--download-data-only", |
256 help="Deprecated", | 258 help="Deprecated", |
257 default=False, action="store_true") | 259 default=False, action="store_true") |
| 260 result.add_option("--enable-inspector", |
| 261 help="Indicates a build with inspector support", |
| 262 default=False, action="store_true") |
258 result.add_option("--extra-flags", | 263 result.add_option("--extra-flags", |
259 help="Additional flags to pass to each test command", | 264 help="Additional flags to pass to each test command", |
260 default="") | 265 default="") |
261 result.add_option("--isolates", help="Whether to test isolates", | 266 result.add_option("--isolates", help="Whether to test isolates", |
262 default=False, action="store_true") | 267 default=False, action="store_true") |
263 result.add_option("-j", help="The number of parallel tasks to run", | 268 result.add_option("-j", help="The number of parallel tasks to run", |
264 default=0, type="int") | 269 default=0, type="int") |
265 result.add_option("-m", "--mode", | 270 result.add_option("-m", "--mode", |
266 help="The test modes in which to run (comma-separated," | 271 help="The test modes in which to run (comma-separated," |
267 " uppercase for ninja and buildbot builds): %s" % MODES.keys
(), | 272 " uppercase for ninja and buildbot builds): %s" % MODES.keys
(), |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 return False | 464 return False |
460 options.auto_detect = True | 465 options.auto_detect = True |
461 | 466 |
462 options.arch_and_mode = None | 467 options.arch_and_mode = None |
463 options.arch = build_config["v8_target_cpu"] | 468 options.arch = build_config["v8_target_cpu"] |
464 if options.arch == 'x86': | 469 if options.arch == 'x86': |
465 # TODO(machenbach): Transform all to x86 eventually. | 470 # TODO(machenbach): Transform all to x86 eventually. |
466 options.arch = 'ia32' | 471 options.arch = 'ia32' |
467 options.asan = build_config["is_asan"] | 472 options.asan = build_config["is_asan"] |
468 options.dcheck_always_on = build_config["dcheck_always_on"] | 473 options.dcheck_always_on = build_config["dcheck_always_on"] |
| 474 options.enable_inspector = build_config["v8_enable_inspector"] |
469 options.mode = 'debug' if build_config["is_debug"] else 'release' | 475 options.mode = 'debug' if build_config["is_debug"] else 'release' |
470 options.msan = build_config["is_msan"] | 476 options.msan = build_config["is_msan"] |
471 options.no_i18n = not build_config["v8_enable_i18n_support"] | 477 options.no_i18n = not build_config["v8_enable_i18n_support"] |
472 options.no_snap = not build_config["v8_use_snapshot"] | 478 options.no_snap = not build_config["v8_use_snapshot"] |
473 options.tsan = build_config["is_tsan"] | 479 options.tsan = build_config["is_tsan"] |
474 | 480 |
475 # Architecture and mode related stuff. | 481 # Architecture and mode related stuff. |
476 if options.arch_and_mode: | 482 if options.arch_and_mode: |
477 options.arch_and_mode = [arch_and_mode.split(".") | 483 options.arch_and_mode = [arch_and_mode.split(".") |
478 for arch_and_mode in options.arch_and_mode.split(",")] | 484 for arch_and_mode in options.arch_and_mode.split(",")] |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 print "Unknown %s mode %s" % (name, option) | 591 print "Unknown %s mode %s" % (name, option) |
586 return False | 592 return False |
587 return True | 593 return True |
588 if not CheckTestMode("slow test", options.slow_tests): | 594 if not CheckTestMode("slow test", options.slow_tests): |
589 return False | 595 return False |
590 if not CheckTestMode("pass|fail test", options.pass_fail_tests): | 596 if not CheckTestMode("pass|fail test", options.pass_fail_tests): |
591 return False | 597 return False |
592 if options.no_i18n: | 598 if options.no_i18n: |
593 TEST_MAP["bot_default"].remove("intl") | 599 TEST_MAP["bot_default"].remove("intl") |
594 TEST_MAP["default"].remove("intl") | 600 TEST_MAP["default"].remove("intl") |
| 601 if not options.enable_inspector: |
| 602 TEST_MAP["bot_default"].remove("inspector") |
| 603 TEST_MAP["optimize_for_size"].remove("inspector") |
595 return True | 604 return True |
596 | 605 |
597 | 606 |
598 def ShardTests(tests, options): | 607 def ShardTests(tests, options): |
599 # Read gtest shard configuration from environment (e.g. set by swarming). | 608 # Read gtest shard configuration from environment (e.g. set by swarming). |
600 # If none is present, use values passed on the command line. | 609 # If none is present, use values passed on the command line. |
601 shard_count = int(os.environ.get('GTEST_TOTAL_SHARDS', options.shard_count)) | 610 shard_count = int(os.environ.get('GTEST_TOTAL_SHARDS', options.shard_count)) |
602 shard_run = os.environ.get('GTEST_SHARD_INDEX') | 611 shard_run = os.environ.get('GTEST_SHARD_INDEX') |
603 if shard_run is not None: | 612 if shard_run is not None: |
604 # The v8 shard_run starts at 1, while GTEST_SHARD_INDEX starts at 0. | 613 # The v8 shard_run starts at 1, while GTEST_SHARD_INDEX starts at 0. |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 "--coverage-dir=%s" % options.sancov_dir]) | 908 "--coverage-dir=%s" % options.sancov_dir]) |
900 except: | 909 except: |
901 print >> sys.stderr, "Error: Merging sancov files failed." | 910 print >> sys.stderr, "Error: Merging sancov files failed." |
902 exit_code = 1 | 911 exit_code = 1 |
903 | 912 |
904 return exit_code | 913 return exit_code |
905 | 914 |
906 | 915 |
907 if __name__ == "__main__": | 916 if __name__ == "__main__": |
908 sys.exit(Main()) | 917 sys.exit(Main()) |
OLD | NEW |