Chromium Code Reviews| 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 |
|
Jakob Kummerow
2015/07/23 12:55:46
nit: "asterisk" is the more common spelling
Michael Achenbach
2015/07/23 12:59:21
Done.
|
| + 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): |