| Index: tools/run_perf.py
|
| diff --git a/tools/run_perf.py b/tools/run_perf.py
|
| index da139d7a6b871a43f71714e5785acf190755965e..3d388f6b4d899e767bdf22e7dde852c7afb98e04 100755
|
| --- a/tools/run_perf.py
|
| +++ b/tools/run_perf.py
|
| @@ -15,6 +15,7 @@ The suite json format is expected to be:
|
| "archs": [<architecture name for which this suite is run>, ...],
|
| "binary": <name of binary to run, default "d8">,
|
| "flags": [<flag to d8>, ...],
|
| + "test_flags": [<flag to the test file>, ...],
|
| "run_count": <how often will this suite run (optional)>,
|
| "run_count_XXX": <how often will this suite run for arch XXX (optional)>,
|
| "resources": [<js file to be loaded before main>, ...]
|
| @@ -54,6 +55,7 @@ Full example (suite with one runner):
|
| {
|
| "path": ["."],
|
| "flags": ["--expose-gc"],
|
| + "test_flags": ["5"],
|
| "archs": ["ia32", "x64"],
|
| "run_count": 5,
|
| "run_count_ia32": 3,
|
| @@ -89,6 +91,8 @@ Full example (suite with several runners):
|
| }
|
|
|
| Path pieces are concatenated. D8 is always run with the suite's path as cwd.
|
| +
|
| +The test flags are passed to the js test file after '--'.
|
| """
|
|
|
| from collections import OrderedDict
|
| @@ -171,6 +175,7 @@ class DefaultSentinel(Node):
|
| self.path = []
|
| self.graphs = []
|
| self.flags = []
|
| + self.test_flags = []
|
| self.resources = []
|
| self.results_regexp = None
|
| self.stddev_regexp = None
|
| @@ -190,12 +195,14 @@ class Graph(Node):
|
| assert isinstance(suite.get("path", []), list)
|
| assert isinstance(suite["name"], basestring)
|
| assert isinstance(suite.get("flags", []), list)
|
| + assert isinstance(suite.get("test_flags", []), list)
|
| assert isinstance(suite.get("resources", []), list)
|
|
|
| # Accumulated values.
|
| self.path = parent.path[:] + suite.get("path", [])
|
| self.graphs = parent.graphs[:] + [suite["name"]]
|
| self.flags = parent.flags[:] + suite.get("flags", [])
|
| + self.test_flags = parent.test_flags[:] + suite.get("test_flags", [])
|
| self.resources = parent.resources[:] + suite.get("resources", [])
|
|
|
| # Descrete values (with parent defaults).
|
| @@ -282,11 +289,13 @@ class Runnable(Graph):
|
|
|
| def GetCommand(self, shell_dir):
|
| # TODO(machenbach): This requires +.exe if run on windows.
|
| + suffix = ["--"] + self.test_flags if self.test_flags else []
|
| return (
|
| [os.path.join(shell_dir, self.binary)] +
|
| self.flags +
|
| self.resources +
|
| - [self.main]
|
| + [self.main] +
|
| + suffix
|
| )
|
|
|
| def Run(self, runner):
|
|
|