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

Unified Diff: tools/telemetry/telemetry/web_perf/metrics/smoothness_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/smoothness_unittest.py
diff --git a/tools/telemetry/telemetry/web_perf/metrics/smoothness_unittest.py b/tools/telemetry/telemetry/web_perf/metrics/smoothness_unittest.py
deleted file mode 100644
index c87f7c292486f114e976b2b00075ba8a97a3936c..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/web_perf/metrics/smoothness_unittest.py
+++ /dev/null
@@ -1,285 +0,0 @@
-# Copyright 2014 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 unittest
-
-from telemetry.internal.results import page_test_results
-from telemetry.page import page as page_module
-from telemetry.web_perf.metrics import rendering_stats
-from telemetry.web_perf.metrics import smoothness
-
-
-class _MockRenderingStats(object):
-
- stats = ['refresh_period', 'frame_timestamps', 'frame_times', 'paint_times',
- 'painted_pixel_counts', 'record_times',
- 'recorded_pixel_counts', 'approximated_pixel_percentages',
- 'checkerboarded_pixel_percentages', 'input_event_latency',
- 'frame_queueing_durations', 'main_thread_scroll_latency',
- 'gesture_scroll_update_latency']
-
- def __init__(self, **kwargs):
- self.errors = {}
- for stat in self.stats:
- value = kwargs[stat] if stat in kwargs else None
- setattr(self, stat, value)
-
-
-#pylint: disable=protected-access
-class SmoothnessMetricUnitTest(unittest.TestCase):
-
- def setUp(self):
- self.metric = smoothness.SmoothnessMetric()
- self.page = page_module.Page('file://blank.html')
- self.good_timestamps = [[10, 20], [30, 40, 50]]
- self.not_enough_frames_timestamps = [[10], [20, 30, 40]]
-
- def testPopulateResultsFromStats(self):
- stats = _MockRenderingStats()
- for stat in _MockRenderingStats.stats:
- # Just set fake data for all of the relevant arrays of stats typically
- # found in a RenderingStats object.
- setattr(stats, stat, [[10, 20], [30, 40, 50]])
- results = page_test_results.PageTestResults()
- results.WillRunPage(self.page)
- self.metric._PopulateResultsFromStats(results, stats, False)
- current_page_run = results.current_page_run
- self.assertTrue(current_page_run.ok)
- expected_values_count = 12
- self.assertEquals(expected_values_count, len(current_page_run.values))
-
- def testHasEnoughFrames(self):
- # This list will pass since every sub-array has at least 2 frames.
- has_enough_frames = self.metric._HasEnoughFrames(self.good_timestamps)
- self.assertTrue(has_enough_frames)
-
- def testHasEnoughFramesWithNotEnoughFrames(self):
- # This list will fail since the first sub-array only has a single frame.
- has_enough_frames = self.metric._HasEnoughFrames(
- self.not_enough_frames_timestamps)
- self.assertFalse(has_enough_frames)
-
- def testComputeSurfaceFlingerMetricNoJank(self):
- stats = _MockRenderingStats(refresh_period=10,
- frame_timestamps=[[10, 20], [130, 140, 150]],
- frame_times=[[10], [10, 10]])
- avg_surface_fps, jank_count, max_frame_delay, frame_lengths = (
- self.metric._ComputeSurfaceFlingerMetric(self.page, stats))
- self.assertEquals([1, 1, 1], frame_lengths.values)
- self.assertEquals(1, max_frame_delay.value)
- self.assertEquals(0, jank_count.value)
- self.assertEquals(100, avg_surface_fps.value)
-
- def testComputeSurfaceFlingerMetricJank(self):
- stats = _MockRenderingStats(
- refresh_period=10,
- frame_timestamps=[[10, 20, 50], [130, 140, 150, 170, 180]],
- frame_times=[[10, 30], [10, 10, 20, 10]])
- avg_surface_fps, jank_count, max_frame_delay, frame_lengths = (
- self.metric._ComputeSurfaceFlingerMetric(self.page, stats))
- self.assertEquals([1, 3, 1, 1, 2, 1], frame_lengths.values)
- self.assertEquals(3, max_frame_delay.value)
- self.assertEquals(2, jank_count.value)
- self.assertEquals(67, avg_surface_fps.value)
-
- def testComputeFrameTimeMetricWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- refresh_period=10,
- frame_timestamps=self.not_enough_frames_timestamps,
- frame_times=[[10, 20], [30, 40, 50]])
- avg_surface_fps, jank_count, max_frame_delay, frame_lengths = (
- self.metric._ComputeSurfaceFlingerMetric(self.page, stats))
- self.assertEquals(None, avg_surface_fps.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- avg_surface_fps.none_value_reason)
- self.assertEquals(None, jank_count.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- jank_count.none_value_reason)
- self.assertEquals(None, max_frame_delay.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- max_frame_delay.none_value_reason)
- self.assertEquals(None, frame_lengths.values)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- frame_lengths.none_value_reason)
-
- def testComputeLatencyMetric(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- input_event_latency=[[10, 20], [30, 40, 50]])
- # pylint: disable=unbalanced-tuple-unpacking
- mean_value, discrepancy_value = self.metric._ComputeLatencyMetric(
- self.page, stats, 'input_event_latency', stats.input_event_latency)
- self.assertEquals(30, mean_value.value)
- self.assertEquals(60, discrepancy_value.value)
-
- def testComputeLatencyMetricWithMissingData(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- input_event_latency=[[], []])
- value = self.metric._ComputeLatencyMetric(
- self.page, stats, 'input_event_latency', stats.input_event_latency)
- self.assertEquals((), value)
-
- def testComputeLatencyMetricWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- input_event_latency=[[], []])
- # pylint: disable=unbalanced-tuple-unpacking
- mean_value, discrepancy_value = self.metric._ComputeLatencyMetric(
- self.page, stats, 'input_event_latency', stats.input_event_latency)
- self.assertEquals(None, mean_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- mean_value.none_value_reason)
- self.assertEquals(None, discrepancy_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- discrepancy_value.none_value_reason)
-
- def testComputeGestureScrollUpdateLatencies(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.good_timestamps,
- gesture_scroll_update_latency=[[10, 20], [30, 40, 50]])
- gesture_value = self.metric._ComputeFirstGestureScrollUpdateLatencies(
- self.page, stats)
- self.assertEquals([10, 30], gesture_value.values)
-
- def testComputeGestureScrollUpdateLatenciesWithMissingData(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.good_timestamps,
- gesture_scroll_update_latency=[[], []])
- value = self.metric._ComputeFirstGestureScrollUpdateLatencies(
- self.page, stats)
- self.assertEquals(None, value.values)
-
- def testComputeGestureScrollUpdateLatenciesWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- gesture_scroll_update_latency=[[10, 20], [30, 40, 50]])
- gesture_value = self.metric._ComputeFirstGestureScrollUpdateLatencies(
- self.page, stats)
- self.assertEquals(None, gesture_value.values)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- gesture_value.none_value_reason)
-
- def testComputeQueueingDuration(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- frame_queueing_durations=[[10, 20], [30, 40]])
- list_of_scalar_values = self.metric._ComputeQueueingDuration(self.page,
- stats)
- self.assertEquals([10, 20, 30, 40], list_of_scalar_values.values)
-
- def testComputeQueueingDurationWithMissingData(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- frame_queueing_durations=[[], []])
- list_of_scalar_values = self.metric._ComputeQueueingDuration(
- self.page, stats)
- self.assertEquals(None, list_of_scalar_values.values)
- self.assertEquals('No frame queueing durations recorded.',
- list_of_scalar_values.none_value_reason)
-
- def testComputeQueueingDurationWithMissingDataAndErrorValue(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- frame_queueing_durations=[[], []])
- stats.errors['frame_queueing_durations'] = (
- 'Current chrome version does not support the queueing delay metric.')
- list_of_scalar_values = self.metric._ComputeQueueingDuration(
- self.page, stats)
- self.assertEquals(None, list_of_scalar_values.values)
- self.assertEquals(
- 'Current chrome version does not support the queueing delay metric.',
- list_of_scalar_values.none_value_reason)
-
- def testComputeQueueingDurationWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- frame_queueing_durations=[[10, 20], [30, 40, 50]])
- list_of_scalar_values = self.metric._ComputeQueueingDuration(self.page,
- stats)
- self.assertEquals(None, list_of_scalar_values.values)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- list_of_scalar_values.none_value_reason)
-
- def testComputeFrameTimeMetric(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps,
- frame_times=[[10, 20], [30, 40, 50]])
- frame_times_value, mean_frame_time_value, percentage_smooth_value = (
- self.metric._ComputeFrameTimeMetric(self.page, stats))
- self.assertEquals([10, 20, 30, 40, 50], frame_times_value.values)
- self.assertEquals(30, mean_frame_time_value.value)
- self.assertEquals(20, percentage_smooth_value.value)
-
- def testComputeFrameTimeMetricWithNotEnoughFrames2(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- frame_times=[[10, 20], [30, 40, 50]])
- frame_times_value, mean_frame_time_value, percentage_smooth_value = (
- self.metric._ComputeFrameTimeMetric(self.page, stats))
- self.assertEquals(None, frame_times_value.values)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- frame_times_value.none_value_reason)
- self.assertEquals(None, mean_frame_time_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- mean_frame_time_value.none_value_reason)
- self.assertEquals(None, percentage_smooth_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- percentage_smooth_value.none_value_reason)
-
- def testComputeFrameTimeDiscrepancy(self):
- stats = _MockRenderingStats(frame_timestamps=self.good_timestamps)
- frame_time_discrepancy_value = self.metric._ComputeFrameTimeDiscrepancy(
- self.page, stats)
- self.assertEquals(10, frame_time_discrepancy_value.value)
-
- def testComputeFrameTimeDiscrepancyWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps)
- frame_time_discrepancy_value = self.metric._ComputeFrameTimeDiscrepancy(
- self.page, stats)
- self.assertEquals(None, frame_time_discrepancy_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- frame_time_discrepancy_value.none_value_reason)
-
- def testComputeMeanPixelsApproximated(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.good_timestamps,
- approximated_pixel_percentages=[[10, 20], [30, 40, 50]])
- mean_pixels_value = self.metric._ComputeMeanPixelsApproximated(
- self.page, stats)
- self.assertEquals(30, mean_pixels_value.value)
-
- def testComputeMeanPixelsApproximatedWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- approximated_pixel_percentages=[[10, 20], [30, 40, 50]])
- mean_pixels_value = self.metric._ComputeMeanPixelsApproximated(
- self.page, stats)
- self.assertEquals(None, mean_pixels_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- mean_pixels_value.none_value_reason)
-
- def testComputeMeanPixelsCheckerboarded(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.good_timestamps,
- checkerboarded_pixel_percentages=[[10, 20], [30, 40, 50]])
- mean_pixels_value = self.metric._ComputeMeanPixelsCheckerboarded(
- self.page, stats)
- self.assertEquals(30, mean_pixels_value.value)
-
- def testComputeMeanPixelsCheckerboardedWithNotEnoughFrames(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.not_enough_frames_timestamps,
- checkerboarded_pixel_percentages=[[10, 20], [30, 40, 50]])
- mean_pixels_value = self.metric._ComputeMeanPixelsCheckerboarded(
- self.page, stats)
- self.assertEquals(None, mean_pixels_value.value)
- self.assertEquals(smoothness.NOT_ENOUGH_FRAMES_MESSAGE,
- mean_pixels_value.none_value_reason)
-
- def testComputeMeanPixelsCheckerboardedWithNoData(self):
- stats = _MockRenderingStats(
- frame_timestamps=self.good_timestamps,
- checkerboarded_pixel_percentages=None)
- stats.errors[rendering_stats.CHECKERBOARDED_PIXEL_ERROR] = 'test error'
- mean_pixels_value = self.metric._ComputeMeanPixelsCheckerboarded(
- self.page, stats)
- self.assertEquals(None, mean_pixels_value.value)
- self.assertEquals('test error',
- mean_pixels_value.none_value_reason)
« no previous file with comments | « tools/telemetry/telemetry/web_perf/metrics/smoothness.py ('k') | tools/telemetry/telemetry/web_perf/metrics/startup.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698