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

Unified Diff: tools/telemetry/telemetry/web_perf/metrics/memory_timeline_unittest.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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: tools/telemetry/telemetry/web_perf/metrics/memory_timeline_unittest.py
diff --git a/tools/telemetry/telemetry/web_perf/metrics/memory_timeline_unittest.py b/tools/telemetry/telemetry/web_perf/metrics/memory_timeline_unittest.py
deleted file mode 100644
index 6a681b7584980dfc1ca95ffe2a9d5b0ad335baf2..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/web_perf/metrics/memory_timeline_unittest.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 2015 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import collections
-import unittest
-
-from telemetry.internal.results import page_test_results
-from telemetry.page import page
-import mock
-from telemetry.timeline import memory_dump_event
-from telemetry.web_perf.metrics import memory_timeline
-from telemetry.web_perf import timeline_interaction_record
-
-
-def MockProcessDumpEvent(dump_id, name, start, memory_usage):
- process_dump = mock.Mock()
- process_dump.dump_id = dump_id
- process_dump.process_name = name
- process_dump.start = start
- process_dump.end = start
- if memory_usage is None:
- memory_usage = {}
- elif not isinstance(memory_usage, dict):
- memory_usage = dict.fromkeys(memory_timeline.DEFAULT_METRICS, memory_usage)
- process_dump.has_mmaps = any(metric in memory_usage for metric
- in memory_timeline.DEFAULT_METRICS)
- process_dump.GetMemoryUsage = mock.Mock(return_value=memory_usage)
- return process_dump
-
-
-def MockTimelineModel(process_dumps):
- dumps_by_id = collections.defaultdict(list)
- for process_dump in process_dumps:
- dumps_by_id[process_dump.dump_id].append(process_dump)
-
- global_dumps = sorted((memory_dump_event.GlobalMemoryDump(dumps)
- for dumps in dumps_by_id.itervalues()),
- key=lambda dump: dump.start)
-
- mock_model = mock.Mock()
- mock_model.IterGlobalMemoryDumps = mock.Mock(return_value=global_dumps)
- return mock_model
-
-
-def TestInteraction(start, end):
- return timeline_interaction_record.TimelineInteractionRecord(
- 'Action_TestInteraction', start, end)
-
-
-class MemoryTimelineMetricUnitTest(unittest.TestCase):
- def getResultsDict(self, model, interactions):
- def strip_prefix(key, prefix):
- self.assertTrue(key.startswith(prefix))
- return key[len(prefix):]
-
- results = page_test_results.PageTestResults()
- test_page = page.Page('http://google.com')
- results.WillRunPage(test_page)
- metric = memory_timeline.MemoryTimelineMetric()
- metric.AddResults(model, None, interactions, results)
- result_dict = {strip_prefix(v.name, 'memory_'): v.values
- for v in results.current_page_run.values}
- results.DidRunPage(test_page)
- return result_dict
-
- def getOverallPssTotal(self, model, interactions):
- results = self.getResultsDict(model, interactions)
- self.assertTrue('mmaps_overall_pss_total' in results)
- return results['mmaps_overall_pss_total']
-
- def testSingleMemoryDump(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, 123)])
- interactions = [TestInteraction(1, 10)]
- self.assertEquals([123], self.getOverallPssTotal(model, interactions))
-
- def testMultipleMemoryDumps(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, 123),
- MockProcessDumpEvent('dump2', 'browser', 5, 456)])
- interactions = [TestInteraction(1, 10)]
- self.assertEquals([123, 456], self.getOverallPssTotal(model, interactions))
-
- def testMultipleInteractions(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, 123),
- MockProcessDumpEvent('dump2', 'browser', 5, 456),
- MockProcessDumpEvent('dump3', 'browser', 13, 789)])
- interactions = [TestInteraction(1, 10),
- TestInteraction(12, 15)]
- self.assertEquals([123, 456, 789],
- self.getOverallPssTotal(model, interactions))
-
- def testDumpsOutsideInteractionsAreFilteredOut(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 1, 111),
- MockProcessDumpEvent('dump2', 'browser', 5, 123),
- MockProcessDumpEvent('dump3', 'browser', 11, 456),
- MockProcessDumpEvent('dump4', 'browser', 13, 555),
- MockProcessDumpEvent('dump5', 'browser', 17, 789)])
- interactions = [TestInteraction(3, 10),
- TestInteraction(12, 15)]
- self.assertEquals([123, 555], self.getOverallPssTotal(model, interactions))
-
- def testDumpsWithNoMemoryMaps(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, {'blink': 123}),
- MockProcessDumpEvent('dump2', 'browser', 5, {'blink': 456})])
- interactions = [TestInteraction(1, 10)]
- results = self.getResultsDict(model, interactions)
- self.assertItemsEqual(['blink_total', 'blink_browser'], results.keys())
- self.assertListEqual([123, 456], results['blink_total'])
- self.assertListEqual([123, 456], results['blink_browser'])
-
- def testDumpsWithSomeMemoryMaps(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, 123),
- MockProcessDumpEvent('dump2', 'browser', 5, None)])
- interactions = [TestInteraction(1, 10)]
- self.assertRaises(AssertionError, self.getResultsDict, model, interactions)
-
- def testReturnsNoneWhenAllDumpsAreFilteredOut(self):
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'bowser', 0, 123),
- MockProcessDumpEvent('dump2', 'browser', 11, 789)])
- interactions = [TestInteraction(1, 10)]
- self.assertEquals(None, self.getOverallPssTotal(model, interactions))
-
- def testResultsBrokenDownByProcess(self):
- metrics = memory_timeline.DEFAULT_METRICS
- stats1 = {metric: value for value, metric in enumerate(metrics)}
- stats2 = {metric: value for value, metric in enumerate(reversed(metrics))}
- total = len(metrics) - 1
-
- expected = {}
- expected.update(('%s_browser' % metric, [value])
- for metric, value in stats1.iteritems())
- expected.update(('%s_gpu_process' % metric, [value])
- for metric, value in stats2.iteritems())
- expected.update(('%s_total' % metric, [total]) for metric in metrics)
-
- model = MockTimelineModel([
- MockProcessDumpEvent('dump1', 'browser', 2, stats1),
- MockProcessDumpEvent('dump1', 'GPU Process', 5, stats2)])
- interactions = [TestInteraction(1, 10)]
- self.assertEquals(expected, self.getResultsDict(model, interactions))

Powered by Google App Engine
This is Rietveld 408576698