Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1537)

Unified Diff: tools/unittests/run_perf_test.py

Issue 569213002: Make timeout configurable in performance test runner. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Formatting Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/run_perf.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/unittests/run_perf_test.py
diff --git a/tools/unittests/run_perf_test.py b/tools/unittests/run_perf_test.py
index 86c81993c7cfd7f8d71849feef243bc4a705787e..76e8d23e34328e916bec682c91baaca507c43013 100644
--- a/tools/unittests/run_perf_test.py
+++ b/tools/unittests/run_perf_test.py
@@ -77,7 +77,7 @@ V8_GENERIC_JSON = {
"units": "ms",
}
-Output = namedtuple("Output", "stdout, stderr")
+Output = namedtuple("Output", "stdout, stderr, timed_out")
class PerfTest(unittest.TestCase):
@classmethod
@@ -113,9 +113,12 @@ class PerfTest(unittest.TestCase):
with open(self._test_input, "w") as f:
f.write(json.dumps(json_content))
- def _MockCommand(self, *args):
+ def _MockCommand(self, *args, **kwargs):
# Fake output for each test run.
- test_outputs = [Output(stdout=arg, stderr=None) for arg in args[1]]
+ test_outputs = [Output(stdout=arg,
+ stderr=None,
+ timed_out=kwargs.get("timed_out", False))
+ for arg in args[1]]
def execute(*args, **kwargs):
return test_outputs.pop()
commands.Execute = MagicMock(side_effect=execute)
@@ -151,17 +154,18 @@ class PerfTest(unittest.TestCase):
def _VerifyErrors(self, errors):
self.assertEquals(errors, self._LoadResults()["errors"])
- def _VerifyMock(self, binary, *args):
+ def _VerifyMock(self, binary, *args, **kwargs):
arg = [path.join(path.dirname(self.base), binary)]
arg += args
- commands.Execute.assert_called_with(arg, timeout=60)
+ commands.Execute.assert_called_with(
+ arg, timeout=kwargs.get("timeout", 60))
- def _VerifyMockMultiple(self, *args):
+ def _VerifyMockMultiple(self, *args, **kwargs):
expected = []
for arg in args:
a = [path.join(path.dirname(self.base), arg[0])]
a += arg[1:]
- expected.append(((a,), {"timeout": 60}))
+ expected.append(((a,), {"timeout": kwargs.get("timeout", 60)}))
self.assertEquals(expected, commands.Execute.call_args_list)
def testOneRun(self):
@@ -347,3 +351,20 @@ class PerfTest(unittest.TestCase):
])
self._VerifyErrors([])
self._VerifyMock(path.join("out", "x64.release", "cc"), "--flag", "")
+
+ def testOneRunTimingOut(self):
+ test_input = dict(V8_JSON)
+ test_input["timeout"] = 70
+ self._WriteTestInput(test_input)
+ self._MockCommand(["."], [""], timed_out=True)
+ self.assertEquals(1, self._CallMain())
+ self._VerifyResults("test", "score", [
+ {"name": "Richards", "results": [], "stddev": ""},
+ {"name": "DeltaBlue", "results": [], "stddev": ""},
+ ])
+ self._VerifyErrors([
+ "Regexp \"^Richards: (.+)$\" didn't match for test Richards.",
+ "Regexp \"^DeltaBlue: (.+)$\" didn't match for test DeltaBlue.",
+ ])
+ self._VerifyMock(
+ path.join("out", "x64.release", "d7"), "--flag", "run.js", timeout=70)
« no previous file with comments | « tools/run_perf.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698