Reviewers: Benedikt Meurer,

Message:
PTAL

Description:
Add mapping of test groups to test driver.

BUG=

Please review this at https://codereview.chromium.org/524373002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+39, -4 lines):
  M tools/run-tests.py


Index: tools/run-tests.py
diff --git a/tools/run-tests.py b/tools/run-tests.py
index e7c3f7ffd1796296bc3c7a30bb25fb52f212739a..78c1901b89b75acedb1f5842a7d3d9773e63d30a 100755
--- a/tools/run-tests.py
+++ b/tools/run-tests.py
@@ -28,6 +28,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


+from collections import OrderedDict
 import itertools
 import multiprocessing
 import optparse
@@ -54,6 +55,31 @@ DEFAULT_TESTS = ["mjsunit", "fuzz-natives", "base-unittests",
                  "cctest", "compiler-unittests", "heap-unittests",
                  "libplatform-unittests", "runtime-unittests",
                  "message", "preparser"]
+
+# Map of test name synonyms to lists of test suites. Should be ordered by
+# expected runtimes (suites with slow test cases first). These groups are
+# invoked in seperate steps on the bots.
+TEST_MAP = {
+  "default": [
+    "mjsunit",
+    "fuzz-natives",
+    "cctest",
+    "message",
+    "preparser",
+  ],
+  "optimize_for_size": [
+    "mjsunit",
+    "cctest",
+    "webkit",
+  ],
+  "unittests": [
+    "heap-unittests",
+    "libplatform-unittests",
+    "compiler-unittests",
+    "base-unittests",
+  ],
+}
+
 TIMEOUT_DEFAULT = 60
 TIMEOUT_SCALEFACTOR = {"debug"   : 4,
                        "release" : 1 }
@@ -379,14 +405,23 @@ def Main():

   suite_paths = utils.GetSuitePaths(join(workspace, "test"))

+ # Expand arguments with grouped tests. The args should reflect the list of
+  # suites as otherwise filters would break.
+  def ExpandTestGroups(name):
+    if name in TEST_MAP:
+      return [suite for suite in TEST_MAP[arg]]
+    else:
+      return [name]
+  args = reduce(lambda x, y: x + y,
+         [ExpandTestGroups(arg) for arg in args],
+         [])
+
   if len(args) == 0:
     suite_paths = [ s for s in DEFAULT_TESTS if s in suite_paths ]
   else:
-    args_suites = set()
+    args_suites = OrderedDict() # Used as set
     for arg in args:
-      suite = arg.split(os.path.sep)[0]
-      if not suite in args_suites:
-        args_suites.add(suite)
+      args_suites[arg.split(os.path.sep)[0]] = True
     suite_paths = [ s for s in args_suites if s in suite_paths ]

   suites = []


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to