Chromium Code Reviews| Index: telemetry/telemetry/internal/story_runner_unittest.py |
| diff --git a/telemetry/telemetry/internal/story_runner_unittest.py b/telemetry/telemetry/internal/story_runner_unittest.py |
| index 44523ba48abb358485fab1cc44991aecbd2abc5b..bc365cdece6c0ee37f5e660d13b2587543668a7f 100644 |
| --- a/telemetry/telemetry/internal/story_runner_unittest.py |
| +++ b/telemetry/telemetry/internal/story_runner_unittest.py |
| @@ -1036,3 +1036,32 @@ class StoryRunnerTest(unittest.TestCase): |
| mock.call.state.DidRunStory(root_mock.results), |
| mock.call.test.DidRunStory(root_mock.state.platform) |
| ]) |
| + |
| + def testRunBenchmarkTimeDuration(self): |
|
nednguyen
2017/03/17 20:49:32
Can you only mock time and not other story_runner.
nednguyen
2017/03/23 21:29:20
Ping
martiniss
2017/03/23 23:22:21
Done.
|
| + benchmark_mock = mock.Mock() |
| + opts = mock.MagicMock() |
| + opts.__class__.__name__ = '_FakeBrowserFinderOptions' |
| + opts.upload_results = False |
| + |
| + with mock.patch('telemetry.internal.story_runner.Run'): |
| + create_mock = mock.Mock() |
| + create_mock.failures = [] |
| + create_mock.AddSummaryValue = add_value = mock.Mock() |
| + |
| + c_mock = mock.MagicMock() |
| + c_mock.__enter__ = mock.Mock(return_value=create_mock) |
| + wrapper = mock.MagicMock(return_value=c_mock) |
| + with mock.patch( |
| + 'telemetry.internal.story_runner.results_options.CreateResults', |
| + new=wrapper): |
| + |
| + res = story_runner.RunBenchmark(benchmark_mock, opts) |
| + self.assertEqual(res, 0) |
| + |
| + self.assertEquals(len(add_value.call_args_list), 1) |
| + self.assertEquals(len(add_value.call_args_list[0][0]), 1) |
| + # First call -> index into the call object -> first item in call tuple |
| + arg = add_value.call_args_list[0][0][0] |
| + self.assertTrue(isinstance(arg, scalar.ScalarValue)) |
| + self.assertEqual(arg.name, 'BenchmarkDuration') |
| + |