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

Unified Diff: telemetry/telemetry/internal/story_runner_unittest.py

Issue 2749633004: Track telemetry benchmark cycle time (Closed)
Patch Set: Add tests Created 3 years, 9 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
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')
+
« telemetry/telemetry/internal/story_runner.py ('K') | « telemetry/telemetry/internal/story_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698