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

Unified Diff: tools/perf/metrics/speedindex_unittest.py

Issue 441873007: Move timeline and importers to use telemetry.value.TraceValue (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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/perf/metrics/speedindex_unittest.py
diff --git a/tools/perf/metrics/speedindex_unittest.py b/tools/perf/metrics/speedindex_unittest.py
index 25f3433a20ec5d84b7a6ab86f408c3225cf0ccf3..9275de20cac50951dc5be276642490e59c6e6cb1 100644
--- a/tools/perf/metrics/speedindex_unittest.py
+++ b/tools/perf/metrics/speedindex_unittest.py
@@ -10,18 +10,22 @@ import os
import unittest
from telemetry.core import bitmap
-from telemetry.timeline import inspector_timeline_data
from telemetry.timeline import model
+from telemetry.value import trace as trace_value_module
from metrics import speedindex
# Sample timeline data in the json format provided by devtools.
# The sample events will be used in several tests below.
+
_TEST_DIR = os.path.join(os.path.dirname(__file__), 'unittest_data')
-_SAMPLE_DATA = json.load(open(os.path.join(_TEST_DIR, 'sample_timeline.json')))
-_SAMPLE_TIMELINE_DATA = inspector_timeline_data.InspectorTimelineData(
- _SAMPLE_DATA)
-_SAMPLE_EVENTS = model.TimelineModel(
- timeline_data=_SAMPLE_TIMELINE_DATA).GetAllEvents()
+
+def _GetSampleEvents():
+ with open(os.path.join(_TEST_DIR, 'sample_timeline.json') as f:
+ data = json.load(f)
+ builder = trace_value_module.TraceValueBuilder()
+ builder.AddEventsTo(trace_value_module.INSPECTOR_TRACE_PART, data)
+ model = model.TimelineModel(builder.AsValue())
+ return model.GetAllEvents()
class FakeTimelineModel(object):
@@ -29,7 +33,7 @@ class FakeTimelineModel(object):
def __init__(self):
self._events = []
- def SetAllEvents(self, events):
+ def SetAllEventsOnFake(self, events):
self._events = events
def GetAllEvents(self, recursive=True):
@@ -94,14 +98,14 @@ class IncludedPaintEventsTest(unittest.TestCase):
impl = speedindex.PaintRectSpeedIndexImpl()
# In the sample data, there's one event that occurs before the layout event,
# and one paint event that's not a leaf paint event.
- events = impl._IncludedPaintEvents(_SAMPLE_EVENTS)
+ events = impl._IncludedPaintEvents(_GetSampleEvents())
self.assertEqual(len(events), 5)
class SpeedIndexImplTest(unittest.TestCase):
def testAdjustedAreaDict(self):
impl = speedindex.PaintRectSpeedIndexImpl()
- paint_events = impl._IncludedPaintEvents(_SAMPLE_EVENTS)
+ paint_events = impl._IncludedPaintEvents(_GetSampleEvents())
viewport = 1000, 1000
time_area_dict = impl._TimeAreaDict(paint_events, viewport)
self.assertEqual(len(time_area_dict), 4)
@@ -176,7 +180,7 @@ class SpeedIndexTest(unittest.TestCase):
parts.append(100 * 0.4)
parts.append(400 * 0.2)
expected = sum(parts) # 330.0
- tab.timeline_model.SetAllEvents(_SAMPLE_EVENTS)
+ tab.timeline_model.SetAllEventsOnFake(_GetSampleEvents())
tab.SetEvaluateJavaScriptResult(viewport)
actual = impl.CalculateSpeedIndex(tab)
self.assertEqual(actual, expected)
@@ -202,9 +206,10 @@ class WPTComparisonTest(unittest.TestCase):
file_path = os.path.join(_TEST_DIR, filename)
with open(file_path) as json_file:
raw_events = json.load(json_file)
- timeline_data = inspector_timeline_data.InspectorTimelineData(raw_events)
- tab.timeline_model.SetAllEvents(
- model.TimelineModel(timeline_data=timeline_data).GetAllEvents())
+ builder = trace_value_module.TraceValueBuilder()
+ builder.AddEventsTo(trace_value_module.INSPECTOR_TRACE_PART, raw_events)
+ all_events = model.TimelineModel(builder.AsValue()).GetAllEvents()
+ tab.timeline_model.SetAllEventsOnFake()
tab.SetEvaluateJavaScriptResult(viewport)
actual = impl.CalculateSpeedIndex(tab)
# The result might differ by 1 or more milliseconds due to rounding,

Powered by Google App Engine
This is Rietveld 408576698