Commit 7a70c55d authored by Sergiy Belozorov's avatar Sergiy Belozorov Committed by Commit Bot

[tools] Replace yield-based output processing with explicit method calls

This also makes processing immediate, i.e. outputs are parsed into results as
soon as test run is finished, which will allow us to implement logic that checks
whether we have enough runs based on already-accumulated results.

Since we process each output immediately, we do not need Measurement class any
longer and its ConsumeOutput is now integrated directly into TraceConfig.
Similarly AccumulateResults is replaced with RunnableConfig.ProcessOutput as we
do not accumulate results any longer.

R=machenbach@chromium.org

No-Try: true
No-Tree-Checks: true
Bug: chromium:880724
Change-Id: I0fc4846024c43258c10ba8d568312aa4746d746f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584325
Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>
Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61048}
parent cbc34149
This diff is collapsed.
...@@ -381,14 +381,13 @@ class PerfTest(unittest.TestCase): ...@@ -381,14 +381,13 @@ class PerfTest(unittest.TestCase):
mock.MagicMock(return_value={'is_android': False})).start() mock.MagicMock(return_value={'is_android': False})).start()
self.assertEqual(1, self._CallMain('--buildbot')) self.assertEqual(1, self._CallMain('--buildbot'))
self._VerifyResults('test', 'score', [ self._VerifyResults('test', 'score', [
{'name': 'Richards', 'results': [], 'stddev': ''},
{'name': 'DeltaBlue', 'results': ['10657567.0'], 'stddev': ''}, {'name': 'DeltaBlue', 'results': ['10657567.0'], 'stddev': ''},
]) ])
self._VerifyErrors( self._VerifyErrors(
['Regexp "^Richards: (.+)$" ' ['Regexp "^Richards: (.+)$" '
'returned a non-numeric for test test/Richards.', 'returned a non-numeric for test test/Richards.',
'Not all traces have the same number of results. Can not compute ' 'Not all traces have produced results. Can not compute total for '
'total for test']) 'test.'])
self._VerifyMock(os.path.join('out', 'Release', 'd7'), '--flag', 'run.js') self._VerifyMock(os.path.join('out', 'Release', 'd7'), '--flag', 'run.js')
def testRegexpNoMatch(self): def testRegexpNoMatch(self):
...@@ -396,7 +395,6 @@ class PerfTest(unittest.TestCase): ...@@ -396,7 +395,6 @@ class PerfTest(unittest.TestCase):
self._MockCommand(['.'], ['x\nRichaards: 1.234\nDeltaBlue: 10657567\ny\n']) self._MockCommand(['.'], ['x\nRichaards: 1.234\nDeltaBlue: 10657567\ny\n'])
self.assertEqual(1, self._CallMain()) self.assertEqual(1, self._CallMain())
self._VerifyResults('test', 'score', [ self._VerifyResults('test', 'score', [
{'name': 'Richards', 'results': [], 'stddev': ''},
{'name': 'DeltaBlue', 'results': ['10657567.0'], 'stddev': ''}, {'name': 'DeltaBlue', 'results': ['10657567.0'], 'stddev': ''},
]) ])
self._VerifyErrors( self._VerifyErrors(
...@@ -409,10 +407,7 @@ class PerfTest(unittest.TestCase): ...@@ -409,10 +407,7 @@ class PerfTest(unittest.TestCase):
self._MockCommand( self._MockCommand(
['.'], ['x\nRichards: 1.234\nDeltaBlue: 10657567\ny\n'], exit_code=-1) ['.'], ['x\nRichards: 1.234\nDeltaBlue: 10657567\ny\n'], exit_code=-1)
self.assertEqual(1, self._CallMain()) self.assertEqual(1, self._CallMain())
self._VerifyResults('test', 'score', [ self._VerifyResults('test', 'score', [])
{'name': 'Richards', 'results': [], 'stddev': ''},
{'name': 'DeltaBlue', 'results': [], 'stddev': ''},
])
self._VerifyErrors([]) self._VerifyErrors([])
self._VerifyMock( self._VerifyMock(
os.path.join('out', 'x64.release', 'd7'), '--flag', 'run.js') os.path.join('out', 'x64.release', 'd7'), '--flag', 'run.js')
...@@ -423,10 +418,7 @@ class PerfTest(unittest.TestCase): ...@@ -423,10 +418,7 @@ class PerfTest(unittest.TestCase):
self._WriteTestInput(test_input) self._WriteTestInput(test_input)
self._MockCommand(['.'], [''], timed_out=True) self._MockCommand(['.'], [''], timed_out=True)
self.assertEqual(1, self._CallMain()) self.assertEqual(1, self._CallMain())
self._VerifyResults('test', 'score', [ self._VerifyResults('test', 'score', [])
{'name': 'Richards', 'results': [], 'stddev': ''},
{'name': 'DeltaBlue', 'results': [], 'stddev': ''},
])
self._VerifyErrors([]) self._VerifyErrors([])
self._VerifyMock(os.path.join('out', 'x64.release', 'd7'), self._VerifyMock(os.path.join('out', 'x64.release', 'd7'),
'--flag', 'run.js', timeout=70) '--flag', 'run.js', timeout=70)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment