| Index: tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py
|
| diff --git a/tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py b/tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py
|
| index 0e86d351a53085c6d3071d06f01756fe021eb6f3..3b8f321b93876cef34b6d980ee35a82ae1736ab5 100644
|
| --- a/tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py
|
| +++ b/tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py
|
| @@ -12,6 +12,9 @@ from telemetry.core.timeline import async_slice
|
| from telemetry.page import page_measurement_results
|
| from telemetry.page import page_measurement_unittest_base
|
| from telemetry.page import page_set
|
| +from telemetry.page import page as page_module
|
| +# pylint: disable=W0401,W0614
|
| +from telemetry.page.actions.all_page_actions import *
|
| from telemetry.unittest import options_for_unittests
|
| from telemetry.web_perf import timeline_based_measurement as tbm_module
|
| from telemetry.web_perf.metrics import timeline_based_metric
|
| @@ -32,7 +35,7 @@ class TimelineBasedMetricsTests(unittest.TestCase):
|
| timestamp=0, duration=20,
|
| start_thread=renderer_thread, end_thread=renderer_thread))
|
| renderer_thread.async_slices.append(async_slice.AsyncSlice(
|
| - 'cat', 'Interaction.LogicalName2/is_loading_resources',
|
| + 'cat', 'Interaction.LogicalName2/is_responsive',
|
| timestamp=25, duration=5,
|
| start_thread=renderer_thread, end_thread=renderer_thread))
|
| model.FinalizeImport()
|
| @@ -49,7 +52,7 @@ class TimelineBasedMetricsTests(unittest.TestCase):
|
| self.assertEquals(0, interactions[0].start)
|
| self.assertEquals(20, interactions[0].end)
|
|
|
| - self.assertTrue(interactions[1].is_loading_resources)
|
| + self.assertTrue(interactions[1].is_responsive)
|
| self.assertEquals(25, interactions[1].start)
|
| self.assertEquals(30, interactions[1].end)
|
|
|
| @@ -71,7 +74,7 @@ class TimelineBasedMetricsTests(unittest.TestCase):
|
| res = []
|
| if interaction.is_smooth:
|
| res.append(FakeSmoothMetric())
|
| - if interaction.is_loading_resources:
|
| + if interaction.is_responsive:
|
| res.append(FakeLoadingMetric())
|
| return res
|
|
|
| @@ -91,6 +94,19 @@ class TimelineBasedMetricsTests(unittest.TestCase):
|
| self.assertEquals(len(v), 1)
|
|
|
|
|
| +class TestTimelinebasedMeasurementPage(page_module.Page):
|
| +
|
| + def __init__(self, ps, base_dir):
|
| + super(TestTimelinebasedMeasurementPage, self).__init__(
|
| + 'file://interaction_enabled_page.html', ps, base_dir)
|
| +
|
| + def RunSmoothness(self, action_runner):
|
| + action_runner.RunAction(WaitAction({'seconds': 2}))
|
| + action_runner.RunAction(TapAction(
|
| + {'selector': '#drawer', 'automatically_record_interaction': False}))
|
| + action_runner.RunAction(WaitAction({'seconds': 1}))
|
| +
|
| +
|
| class TimelineBasedMeasurementTest(
|
| page_measurement_unittest_base.PageMeasurementUnitTestBase):
|
| def setUp(self):
|
| @@ -99,7 +115,7 @@ class TimelineBasedMeasurementTest(
|
|
|
| # Disabled due to flakiness: crbug.com/368386
|
| @test.Disabled
|
| - def testTimelineBasedForSmoke(self):
|
| + def testSmoothnessTimelineBasedMeasurementForSmoke(self):
|
| ps = self.CreatePageSetFromFileInUnittestDataDir(
|
| 'interaction_enabled_page.html')
|
| setattr(ps.pages[0], 'RunSmoothness', {'action': 'wait',
|
| @@ -113,3 +129,18 @@ class TimelineBasedMeasurementTest(
|
| v = results.FindAllPageSpecificValuesNamed('DrawerAnimation-jank')
|
| self.assertEquals(len(v), 1)
|
|
|
| + def testMainthreadJankTimelineBasedMeasurement(self):
|
| + ps = self.CreateEmptyPageSet()
|
| + ps.AddPage(TestTimelinebasedMeasurementPage(ps, ps.base_dir))
|
| +
|
| + measurement = tbm_module.TimelineBasedMeasurement()
|
| + results = self.RunMeasurement(measurement, ps,
|
| + options=self._options)
|
| + self.assertEquals(0, len(results.failures))
|
| + v = results.FindAllPageSpecificValuesNamed('JankThreadJSRun-num_big_janks')
|
| + self.assertEquals(len(v), 1)
|
| + self.assertEquals(v[0].value, 1)
|
| +
|
| + v = results.FindAllPageSpecificValuesNamed(
|
| + 'JankThreadJSRun-biggest_jank_thread_time')
|
| + self.assertGreaterEqual(v[0].value, 50)
|
|
|