[Telemetry] Kill PageTest.DidRunActions hook.
This can be merged to ValidateAndMeasurePage method. BUG=455391, 470147 CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:linux_perf_bisect;tryserver.chromium.perf:mac_perf_bisect;tryserver.chromium.perf:android_nexus5_perf_bisect Review URL: https://codereview.chromium.org/1124033004 Cr-Commit-Position: refs/heads/master@{#329468}
This commit is contained in:
@ -134,7 +134,6 @@ def _AddTracingResults(thread, results):
|
||||
class _OilpanGCTimesBase(page_test.PageTest):
|
||||
def __init__(self, action_name=''):
|
||||
super(_OilpanGCTimesBase, self).__init__(action_name)
|
||||
self._timeline_model = None
|
||||
|
||||
def WillNavigateToPage(self, page, tab):
|
||||
# FIXME: Remove webkit.console when blink.console lands in chromium and
|
||||
@ -148,12 +147,10 @@ class _OilpanGCTimesBase(page_test.PageTest):
|
||||
tab.browser.platform.tracing_controller.Start(options, category_filter,
|
||||
timeout=1000)
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
timeline_data = tab.browser.platform.tracing_controller.Stop()
|
||||
self._timeline_model = TimelineModel(timeline_data)
|
||||
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
threads = self._timeline_model.GetAllThreads()
|
||||
timeline_data = tab.browser.platform.tracing_controller.Stop()
|
||||
timeline_model = TimelineModel(timeline_data)
|
||||
threads = timeline_model.GetAllThreads()
|
||||
for thread in threads:
|
||||
if thread.name == _CR_RENDERER_MAIN:
|
||||
_AddTracingResults(thread, results)
|
||||
@ -173,9 +170,10 @@ class OilpanGCTimesForSmoothness(_OilpanGCTimesBase):
|
||||
self._interaction = runner.CreateInteraction(_RUN_SMOOTH_ACTIONS)
|
||||
self._interaction.Begin()
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
self._interaction.End()
|
||||
super(OilpanGCTimesForSmoothness, self).DidRunActions(page, tab)
|
||||
super(OilpanGCTimesForSmoothness, self).ValidateAndMeasurePage(
|
||||
page, tab, results)
|
||||
|
||||
|
||||
class OilpanGCTimesForBlinkPerf(_OilpanGCTimesBase):
|
||||
@ -189,9 +187,10 @@ class OilpanGCTimesForBlinkPerf(_OilpanGCTimesBase):
|
||||
page.script_to_evaluate_on_commit = self._blink_perf_js
|
||||
super(OilpanGCTimesForBlinkPerf, self).WillNavigateToPage(page, tab)
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
tab.WaitForJavaScriptExpression('testRunner.isDone', 600)
|
||||
super(OilpanGCTimesForBlinkPerf, self).DidRunActions(page, tab)
|
||||
super(OilpanGCTimesForBlinkPerf, self).ValidateAndMeasurePage(
|
||||
page, tab, results)
|
||||
|
||||
|
||||
class OilpanGCTimesForInternals(OilpanGCTimesForBlinkPerf):
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
from measurements import oilpan_gc_times
|
||||
|
||||
from telemetry.core import util
|
||||
from telemetry.results import page_test_results
|
||||
from telemetry.timeline import model
|
||||
from telemetry.timeline import slice as slice_data
|
||||
@ -11,6 +12,9 @@ from telemetry.unittest_util import options_for_unittests
|
||||
from telemetry.unittest_util import page_test_test_case
|
||||
from telemetry.page import page as page_module
|
||||
|
||||
util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock')
|
||||
import mock # pylint: disable=import-error
|
||||
|
||||
|
||||
class TestOilpanGCTimesPage(page_module.Page):
|
||||
def __init__(self, page_set):
|
||||
@ -90,9 +94,12 @@ class OilpanGCTimesTest(page_test_test_case.PageTestTestCase):
|
||||
data = self._GenerateDataForParsingOldFormat()
|
||||
|
||||
measurement = oilpan_gc_times._OilpanGCTimesBase()
|
||||
measurement._renderer_process = data._renderer_process
|
||||
measurement._timeline_model = data._model
|
||||
measurement.ValidateAndMeasurePage(None, None, data.results)
|
||||
|
||||
tab = mock.MagicMock()
|
||||
with mock.patch(
|
||||
'measurements.oilpan_gc_times.TimelineModel') as MockTimelineModel:
|
||||
MockTimelineModel.return_value = data._model
|
||||
measurement.ValidateAndMeasurePage(None, tab, data.results)
|
||||
|
||||
results = data.results
|
||||
self.assertEquals(7, len(getMetric(results, 'oilpan_coalesce')))
|
||||
@ -121,9 +128,12 @@ class OilpanGCTimesTest(page_test_test_case.PageTestTestCase):
|
||||
data = self._GenerateDataForParsing()
|
||||
|
||||
measurement = oilpan_gc_times._OilpanGCTimesBase()
|
||||
measurement._renderer_process = data._renderer_process
|
||||
measurement._timeline_model = data._model
|
||||
measurement.ValidateAndMeasurePage(None, None, data.results)
|
||||
tab = mock.MagicMock()
|
||||
with mock.patch(
|
||||
'measurements.oilpan_gc_times.TimelineModel') as MockTimelineModel:
|
||||
MockTimelineModel.return_value = data._model
|
||||
measurement.ValidateAndMeasurePage(None, tab, data.results)
|
||||
|
||||
results = data.results
|
||||
self.assertEquals(8, len(getMetric(results, 'oilpan_coalesce')))
|
||||
|
@ -53,14 +53,15 @@ class TaskExecutionTime(page_test.PageTest):
|
||||
tab.browser.platform.tracing_controller.Start(
|
||||
options, category_filter, self._TIME_OUT_IN_SECONDS)
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
trace_data = tab.browser.platform.tracing_controller.Stop()
|
||||
timeline_model = TimelineModel(trace_data)
|
||||
|
||||
self._renderer_process = timeline_model.GetRendererProcessFromTabId(tab.id)
|
||||
self._browser_process = timeline_model.browser_process
|
||||
self._AddResults(results)
|
||||
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
def _AddResults(self, results):
|
||||
self._results = results
|
||||
|
||||
for thread in self._BROWSER_THREADS:
|
||||
|
@ -161,7 +161,7 @@ class TaskExecutionTimeUnitTest(page_test_test_case.PageTestTestCase):
|
||||
data.AddSlice('task' + str(duration), 0, duration)
|
||||
|
||||
# Run the code we are testing.
|
||||
self._measurement.ValidateAndMeasurePage(None, None, data.results)
|
||||
self._measurement._AddResults(data.results)
|
||||
|
||||
# Check that the last (i.e. biggest) _NUMBER_OF_RESULTS_TO_DISPLAY get
|
||||
# returned in the results.
|
||||
@ -187,7 +187,7 @@ class TaskExecutionTimeUnitTest(page_test_test_case.PageTestTestCase):
|
||||
data.AddSlice('slow', 0, 1000)
|
||||
|
||||
# Run the code we are testing and return results.
|
||||
self._measurement.ValidateAndMeasurePage(None, None, data.results)
|
||||
self._measurement._AddResults(data.results)
|
||||
return data
|
||||
|
||||
def _GenerateResultsFromMockedIdleData(self):
|
||||
@ -217,7 +217,7 @@ class TaskExecutionTimeUnitTest(page_test_test_case.PageTestTestCase):
|
||||
data.AddSlice('not_idle', slice_start_time, fast_slice_duration)
|
||||
|
||||
# Run the code we are testing.
|
||||
self._measurement.ValidateAndMeasurePage(None, None, data.results)
|
||||
self._measurement._AddResults(data.results)
|
||||
|
||||
return data
|
||||
|
||||
|
@ -23,7 +23,6 @@ class V8GCTimes(page_test.PageTest):
|
||||
|
||||
def __init__(self):
|
||||
super(V8GCTimes, self).__init__()
|
||||
self._renderer_process = None
|
||||
|
||||
def WillNavigateToPage(self, page, tab):
|
||||
category_filter = tracing_category_filter.TracingCategoryFilter()
|
||||
@ -37,14 +36,11 @@ class V8GCTimes(page_test.PageTest):
|
||||
tab.browser.platform.tracing_controller.Start(
|
||||
options, category_filter, self._TIME_OUT_IN_SECONDS)
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
trace_data = tab.browser.platform.tracing_controller.Stop()
|
||||
timeline_model = TimelineModel(trace_data)
|
||||
|
||||
self._renderer_process = timeline_model.GetRendererProcessFromTabId(tab.id)
|
||||
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
self._AddV8MetricsToResults(self._renderer_process, results)
|
||||
renderer_process = timeline_model.GetRendererProcessFromTabId(tab.id)
|
||||
self._AddV8MetricsToResults(renderer_process, results)
|
||||
|
||||
def _AddV8MetricsToResults(self, process, results):
|
||||
if process is None:
|
||||
|
@ -53,7 +53,8 @@ class V8GCTimesTestPageHelper(object):
|
||||
self._model.FinalizeImport()
|
||||
|
||||
# Measure the V8GCTimes metric and return the results
|
||||
v8_gc_times_metric.ValidateAndMeasurePage(page, None, results)
|
||||
# pylint: disable=protected-access
|
||||
v8_gc_times_metric._AddV8MetricsToResults(self._renderer_process, results)
|
||||
results.DidRunPage(page)
|
||||
return results
|
||||
|
||||
|
@ -160,9 +160,6 @@ class PageTest(object):
|
||||
"""Override to do operations right after the page is navigated and after
|
||||
all waiting for completion has occurred."""
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
"""Override to do operations after running the actions on the page."""
|
||||
|
||||
def CleanUpAfterPage(self, page, tab):
|
||||
"""Called after the test run method was run, even if it failed."""
|
||||
|
||||
@ -207,7 +204,6 @@ class PageTest(object):
|
||||
action_runner = action_runner_module.ActionRunner(
|
||||
tab, skip_waits=page.skip_waits)
|
||||
page.RunPageInteractions(action_runner)
|
||||
self.DidRunActions(page, tab)
|
||||
self.ValidateAndMeasurePage(page, tab, results)
|
||||
|
||||
def RunNavigateSteps(self, page, tab):
|
||||
|
@ -43,10 +43,6 @@ class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223
|
||||
if self.page_test:
|
||||
self.page_test.DidNavigateToPage(page, tab)
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
if self.page_test:
|
||||
self.page_test.DidRunActions(page, tab)
|
||||
|
||||
def CleanUpAfterPage(self, page, tab):
|
||||
if self.page_test:
|
||||
self.page_test.CleanUpAfterPage(page, tab)
|
||||
|
@ -55,9 +55,6 @@ class MockPageTest(page_test.PageTest):
|
||||
def DidNavigateToPage(self, page, tab):
|
||||
self.func_calls.append('DidNavigateToPage')
|
||||
|
||||
def DidRunActions(self, page, tab):
|
||||
self.func_calls.append('DidRunActions')
|
||||
|
||||
def ValidateAndMeasurePage(self, page, tab, results):
|
||||
self.func_calls.append('ValidateAndMeasurePage')
|
||||
|
||||
@ -121,10 +118,9 @@ class RecordWprUnitTests(tab_test_case.TabTestCase):
|
||||
record_page_test.page_test = MockBenchmark().test()
|
||||
page = MockPage(page_set=MockPageSet(url=self._url), url=self._url)
|
||||
record_page_test.RunPage(page, self._tab, results=None)
|
||||
self.assertEqual(2, len(record_page_test.page_test.func_calls))
|
||||
self.assertEqual('DidRunActions', record_page_test.page_test.func_calls[0])
|
||||
self.assertEqual(1, len(record_page_test.page_test.func_calls))
|
||||
self.assertEqual('ValidateAndMeasurePage',
|
||||
record_page_test.page_test.func_calls[1])
|
||||
record_page_test.page_test.func_calls[0])
|
||||
|
||||
@decorators.Disabled('chromeos') # crbug.com/404868.
|
||||
def testWprRecorderWithPageSet(self):
|
||||
|
@ -130,14 +130,11 @@ class SmoothGestureTest(page_test_test_case.PageTestTestCase):
|
||||
tab.browser.platform.tracing_controller.Start(
|
||||
options, tracing_category_filter.TracingCategoryFilter())
|
||||
|
||||
def DidRunActions(self, _page, tab):
|
||||
def ValidateAndMeasurePage(self, _page, tab, _results):
|
||||
models.append(model_module.TimelineModel(
|
||||
tab.browser.platform.tracing_controller.Stop()))
|
||||
tab_ids.append(tab.id)
|
||||
|
||||
def ValidateAndMeasurePage(self, _page, _tab, _results):
|
||||
pass
|
||||
|
||||
self.RunMeasurement(ScrollingGestureTestMeasurement(), ps)
|
||||
timeline_model = models[0]
|
||||
renderer_thread = timeline_model.GetRendererThreadFromTabId(
|
||||
|
Reference in New Issue
Block a user