Index: tools/telemetry/telemetry/test_runner.py |
diff --git a/tools/telemetry/telemetry/test_runner.py b/tools/telemetry/telemetry/test_runner.py |
index 7fbbd8f90c1ac0bb4651e495228cb1bb10d7adfd..e769ba1297c50cc5eb6e68f5da96b7106ad202f9 100644 |
--- a/tools/telemetry/telemetry/test_runner.py |
+++ b/tools/telemetry/telemetry/test_runner.py |
@@ -111,15 +111,23 @@ class Run(command_line.OptparseCommand): |
def AddCommandLineArgs(cls, parser): |
benchmark.AddCommandLineArgs(parser) |
+ # TODO(jbroman): This compensates for the fact that the "run" command |
+ # may or may not be given on the command line. It's inelegant. |
+ if len(sys.argv) > 2 and 'run'.startswith(sys.argv[1]): |
nednguyen
2014/09/19 15:38:43
+dtu: I wonder whether we can kill 'r', 'ru'.
|
+ test_name = sys.argv[2] |
+ elif len(sys.argv) > 1: |
+ test_name = sys.argv[1] |
+ else: |
+ # No arguments, so no more flags needed. |
+ return |
+ |
# Allow tests to add their own command line options. |
- matching_tests = [] |
- for arg in sys.argv[1:]: |
- matching_tests += _MatchTestName(arg) |
+ matching_tests = _MatchTestName(test_name) |
if matching_tests: |
# TODO(dtu): After move to argparse, add command-line args for all tests |
# to subparser. Using subparsers will avoid duplicate arguments. |
- matching_test = matching_tests.pop() |
+ matching_test = matching_tests[0] |
matching_test.AddCommandLineArgs(parser) |
# The test's options override the defaults! |
matching_test.SetArgumentDefaults(parser) |
@@ -246,6 +254,8 @@ def _MatchTestName(input_test_name, exact_matches=True): |
for test_class in _Tests(): |
if exact_match == test_class.Name(): |
return [test_class] |
+ # TODO(jbroman): [] is the correct result when no exact match is found. |
+ # However, some bots rely on this falling through right now. |
# Fuzzy matching. |
return [test_class for test_class in _Tests() |