| Index: tools/testrunner/local/testsuite.py
|
| diff --git a/tools/testrunner/local/testsuite.py b/tools/testrunner/local/testsuite.py
|
| index 91a3e045258f3c7509b4d7cfe1806ecbd0dcbafe..133c74eefba74c13c95b4043c5f05cd4022d1522 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 asterisk in the end will match all test cases
|
| + that have the argument as a prefix. Without asterisk, 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):
|
|
|