Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Side by Side Diff: tools/run-tests.py

Issue 2203013002: [test] Enable test status filtering by variant (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Move status lines and deprecate --ignition-turbofan flag Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/run-deopt-fuzzer.py ('k') | tools/testrunner/local/testsuite.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 help="Prepended to each shell command used to run a test", 264 help="Prepended to each shell command used to run a test",
265 default="") 265 default="")
266 result.add_option("--download-data", help="Download missing test suite data", 266 result.add_option("--download-data", help="Download missing test suite data",
267 default=False, action="store_true") 267 default=False, action="store_true")
268 result.add_option("--download-data-only", 268 result.add_option("--download-data-only",
269 help="Download missing test suite data and exit", 269 help="Download missing test suite data and exit",
270 default=False, action="store_true") 270 default=False, action="store_true")
271 result.add_option("--extra-flags", 271 result.add_option("--extra-flags",
272 help="Additional flags to pass to each test command", 272 help="Additional flags to pass to each test command",
273 default="") 273 default="")
274 # TODO(machenbach): Remove this flag when not reference by infrastructure.
274 result.add_option("--ignition-turbofan", 275 result.add_option("--ignition-turbofan",
275 help="Skip tests which don't run in ignition_turbofan", 276 help="Deprecated",
276 default=False, action="store_true") 277 default=False, action="store_true")
277 result.add_option("--isolates", help="Whether to test isolates", 278 result.add_option("--isolates", help="Whether to test isolates",
278 default=False, action="store_true") 279 default=False, action="store_true")
279 result.add_option("-j", help="The number of parallel tasks to run", 280 result.add_option("-j", help="The number of parallel tasks to run",
280 default=0, type="int") 281 default=0, type="int")
281 result.add_option("-m", "--mode", 282 result.add_option("-m", "--mode",
282 help="The test modes in which to run (comma-separated," 283 help="The test modes in which to run (comma-separated,"
283 " uppercase for ninja and buildbot builds): %s" % MODES.keys (), 284 " uppercase for ninja and buildbot builds): %s" % MODES.keys (),
284 default="release,debug") 285 default="release,debug")
285 result.add_option("--no-harness", "--noharness", 286 result.add_option("--no-harness", "--noharness",
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 arch in ['arm64', 'arm', 'mipsel', 'mips', 'mips64', 'mips64el', \ 773 arch in ['arm64', 'arm', 'mipsel', 'mips', 'mips64', 'mips64el', \
773 'ppc', 'ppc64'] and \ 774 'ppc', 'ppc64'] and \
774 ARCH_GUESS and arch != ARCH_GUESS 775 ARCH_GUESS and arch != ARCH_GUESS
775 # Find available test suites and read test cases from them. 776 # Find available test suites and read test cases from them.
776 variables = { 777 variables = {
777 "arch": arch, 778 "arch": arch,
778 "asan": options.asan, 779 "asan": options.asan,
779 "deopt_fuzzer": False, 780 "deopt_fuzzer": False,
780 "gc_stress": options.gc_stress, 781 "gc_stress": options.gc_stress,
781 "gcov_coverage": options.gcov_coverage, 782 "gcov_coverage": options.gcov_coverage,
782 "ignition_turbofan": options.ignition_turbofan,
783 "isolates": options.isolates, 783 "isolates": options.isolates,
784 "mode": MODES[mode]["status_mode"], 784 "mode": MODES[mode]["status_mode"],
785 "no_i18n": options.no_i18n, 785 "no_i18n": options.no_i18n,
786 "no_snap": options.no_snap, 786 "no_snap": options.no_snap,
787 "simulator_run": simulator_run, 787 "simulator_run": simulator_run,
788 "simulator": utils.UseSimulator(arch), 788 "simulator": utils.UseSimulator(arch),
789 "system": utils.GuessOS(), 789 "system": utils.GuessOS(),
790 "tsan": options.tsan, 790 "tsan": options.tsan,
791 "msan": options.msan, 791 "msan": options.msan,
792 "dcheck_always_on": options.dcheck_always_on, 792 "dcheck_always_on": options.dcheck_always_on,
793 "novfp3": options.novfp3, 793 "novfp3": options.novfp3,
794 "predictable": options.predictable, 794 "predictable": options.predictable,
795 "byteorder": sys.byteorder, 795 "byteorder": sys.byteorder,
796 } 796 }
797 all_tests = [] 797 all_tests = []
798 num_tests = 0 798 num_tests = 0
799 for s in suites: 799 for s in suites:
800 s.ReadStatusFile(variables) 800 s.ReadStatusFile(variables)
801 s.ReadTestCases(ctx) 801 s.ReadTestCases(ctx)
802 if len(args) > 0: 802 if len(args) > 0:
803 s.FilterTestCasesByArgs(args) 803 s.FilterTestCasesByArgs(args)
804 all_tests += s.tests 804 all_tests += s.tests
805
806 # First filtering by status applying the generic rules (independent of
807 # variants).
805 s.FilterTestCasesByStatus(options.warn_unused, options.slow_tests, 808 s.FilterTestCasesByStatus(options.warn_unused, options.slow_tests,
806 options.pass_fail_tests) 809 options.pass_fail_tests)
810
807 if options.cat: 811 if options.cat:
808 verbose.PrintTestSource(s.tests) 812 verbose.PrintTestSource(s.tests)
809 continue 813 continue
810 variant_gen = s.CreateVariantGenerator(VARIANTS) 814 variant_gen = s.CreateVariantGenerator(VARIANTS)
811 variant_tests = [ t.CopyAddingFlags(v, flags) 815 variant_tests = [ t.CopyAddingFlags(v, flags)
812 for t in s.tests 816 for t in s.tests
813 for v in variant_gen.FilterVariantsByTest(t) 817 for v in variant_gen.FilterVariantsByTest(t)
814 for flags in variant_gen.GetFlagSets(t, v) ] 818 for flags in variant_gen.GetFlagSets(t, v) ]
815 819
816 if options.random_seed_stress_count > 1: 820 if options.random_seed_stress_count > 1:
817 # Duplicate test for random seed stress mode. 821 # Duplicate test for random seed stress mode.
818 def iter_seed_flags(): 822 def iter_seed_flags():
819 for i in range(0, options.random_seed_stress_count): 823 for i in range(0, options.random_seed_stress_count):
820 # Use given random seed for all runs (set by default in execution.py) 824 # Use given random seed for all runs (set by default in execution.py)
821 # or a new random seed if none is specified. 825 # or a new random seed if none is specified.
822 if options.random_seed: 826 if options.random_seed:
823 yield [] 827 yield []
824 else: 828 else:
825 yield ["--random-seed=%d" % RandomSeed()] 829 yield ["--random-seed=%d" % RandomSeed()]
826 s.tests = [ 830 s.tests = [
827 t.CopyAddingFlags(t.variant, flags) 831 t.CopyAddingFlags(t.variant, flags)
828 for t in variant_tests 832 for t in variant_tests
829 for flags in iter_seed_flags() 833 for flags in iter_seed_flags()
830 ] 834 ]
831 else: 835 else:
832 s.tests = variant_tests 836 s.tests = variant_tests
833 837
838 # Second filtering by status applying the rules for virtual test cases
839 # (i.e. contrieved test paths containing the variant name and the test
Jakob Kummerow 2016/08/02 14:13:09 nit: s/contrieved/contrived/
840 # name).
841 s.FilterTestCasesByStatus(options.warn_unused, options.slow_tests,
842 options.pass_fail_tests, virtual=True)
843
834 s.tests = ShardTests(s.tests, options) 844 s.tests = ShardTests(s.tests, options)
835 num_tests += len(s.tests) 845 num_tests += len(s.tests)
836 846
837 if options.cat: 847 if options.cat:
838 return 0 # We're done here. 848 return 0 # We're done here.
839 849
840 if options.report: 850 if options.report:
841 verbose.PrintReport(all_tests) 851 verbose.PrintReport(all_tests)
842 852
843 # Run the tests, either locally or distributed on the network. 853 # Run the tests, either locally or distributed on the network.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 "--coverage-dir=%s" % options.sancov_dir]) 912 "--coverage-dir=%s" % options.sancov_dir])
903 except: 913 except:
904 print >> sys.stderr, "Error: Merging sancov files failed." 914 print >> sys.stderr, "Error: Merging sancov files failed."
905 exit_code = 1 915 exit_code = 1
906 916
907 return exit_code 917 return exit_code
908 918
909 919
910 if __name__ == "__main__": 920 if __name__ == "__main__":
911 sys.exit(Main()) 921 sys.exit(Main())
OLDNEW
« no previous file with comments | « tools/run-deopt-fuzzer.py ('k') | tools/testrunner/local/testsuite.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698