Reviewers: Jakob,

Message:
PTAL

Description:
[test] Let test runner only use exact matches of tests on the cmd-line.

BUG=chromium:511215
LOG=n

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

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+16, -3 lines):
  M tools/testrunner/local/testsuite.py


Index: tools/testrunner/local/testsuite.py
diff --git a/tools/testrunner/local/testsuite.py b/tools/testrunner/local/testsuite.py index 91a3e045258f3c7509b4d7cfe1806ecbd0dcbafe..b0c2a702f6af43393394d7ed8a8b188d107a751c 100644
--- a/tools/testrunner/local/testsuite.py
+++ b/tools/testrunner/local/testsuite.py
@@ -175,8 +175,15 @@ class TestSuite(object):
         print("Unused rule: %s -> %s" % (rule, self.wildcards[rule]))

   def FilterTestCasesByArgs(self, args):
+    """Filter test cases based on command-line arguments.
+
+    An argument with an asterisc in the end will match all test cases
+ that have the argument as a prefix. Without asterisc, only exact matches
+    will be used with the exeption of the test-suite name as argument.
+    """
     filtered = []
-    filtered_args = []
+    globs = []
+    exact_matches = []
     for a in args:
       argpath = a.split(os.path.sep)
       if argpath[0] != self.name:
@@ -186,12 +193,18 @@ class TestSuite(object):
       path = os.path.sep.join(argpath[1:])
       if path[-1] == '*':
         path = path[:-1]
-      filtered_args.append(path)
+        globs.append(path)
+      else:
+        exact_matches.append(path)
     for t in self.tests:
-      for a in filtered_args:
+      for a in globs:
         if t.path.startswith(a):
           filtered.append(t)
           break
+      for a in exact_matches:
+        if t.path == a:
+          filtered.append(t)
+          break
     self.tests = filtered

   def GetFlagsForTestCase(self, testcase, context):


--
--
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