OLD | NEW |
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2012 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 16 matching lines...) Expand all Loading... |
27 | 27 |
28 | 28 |
29 import imp | 29 import imp |
30 import os | 30 import os |
31 | 31 |
32 from . import commands | 32 from . import commands |
33 from . import statusfile | 33 from . import statusfile |
34 from . import utils | 34 from . import utils |
35 from ..objects import testcase | 35 from ..objects import testcase |
36 | 36 |
| 37 # Use this to run several variants of the tests. |
| 38 VARIANT_FLAGS = { |
| 39 "default": [], |
| 40 "stress": ["--stress-opt", "--always-opt"], |
| 41 "turbofan": ["--turbo-asm", "--turbo-filter=*", "--always-opt"], |
| 42 "nocrankshaft": ["--nocrankshaft"]} |
| 43 |
| 44 FAST_VARIANT_FLAGS = [ |
| 45 f for v, f in VARIANT_FLAGS.iteritems() if v in ["default", "turbofan"] |
| 46 ] |
| 47 |
37 class TestSuite(object): | 48 class TestSuite(object): |
38 | 49 |
39 @staticmethod | 50 @staticmethod |
40 def LoadTestSuite(root): | 51 def LoadTestSuite(root): |
41 name = root.split(os.path.sep)[-1] | 52 name = root.split(os.path.sep)[-1] |
42 f = None | 53 f = None |
43 try: | 54 try: |
44 (f, pathname, description) = imp.find_module("testcfg", [root]) | 55 (f, pathname, description) = imp.find_module("testcfg", [root]) |
45 module = imp.load_module("testcfg", f, pathname, description) | 56 module = imp.load_module("testcfg", f, pathname, description) |
46 return module.GetSuite(name, root) | 57 return module.GetSuite(name, root) |
(...skipping 28 matching lines...) Expand all Loading... |
75 else: | 86 else: |
76 return testcase.path | 87 return testcase.path |
77 | 88 |
78 def ListTests(self, context): | 89 def ListTests(self, context): |
79 raise NotImplementedError | 90 raise NotImplementedError |
80 | 91 |
81 def VariantFlags(self, testcase, default_flags): | 92 def VariantFlags(self, testcase, default_flags): |
82 if testcase.outcomes and statusfile.OnlyStandardVariant(testcase.outcomes): | 93 if testcase.outcomes and statusfile.OnlyStandardVariant(testcase.outcomes): |
83 return [[]] | 94 return [[]] |
84 if testcase.outcomes and statusfile.OnlyFastVariants(testcase.outcomes): | 95 if testcase.outcomes and statusfile.OnlyFastVariants(testcase.outcomes): |
85 return filter(lambda v: v in ["default", "turbofan"], default_flags) | 96 return filter(lambda flags: flags in FAST_VARIANT_FLAGS, default_flags) |
86 return default_flags | 97 return default_flags |
87 | 98 |
88 def DownloadData(self): | 99 def DownloadData(self): |
89 pass | 100 pass |
90 | 101 |
91 def ReadStatusFile(self, variables): | 102 def ReadStatusFile(self, variables): |
92 (self.rules, self.wildcards) = \ | 103 (self.rules, self.wildcards) = \ |
93 statusfile.ReadStatusFile(self.status_file(), variables) | 104 statusfile.ReadStatusFile(self.status_file(), variables) |
94 | 105 |
95 def ReadTestCases(self, context): | 106 def ReadTestCases(self, context): |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 return tests | 261 return tests |
251 | 262 |
252 def GetFlagsForTestCase(self, testcase, context): | 263 def GetFlagsForTestCase(self, testcase, context): |
253 return (testcase.flags + ["--gtest_filter=" + testcase.path] + | 264 return (testcase.flags + ["--gtest_filter=" + testcase.path] + |
254 ["--gtest_random_seed=%s" % context.random_seed] + | 265 ["--gtest_random_seed=%s" % context.random_seed] + |
255 ["--gtest_print_time=0"] + | 266 ["--gtest_print_time=0"] + |
256 context.mode_flags) | 267 context.mode_flags) |
257 | 268 |
258 def shell(self): | 269 def shell(self): |
259 return self.name | 270 return self.name |
OLD | NEW |