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

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

Issue 1033733010: Adding checkerboard measurements to telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Using a single enum string instead of separate ones. Improving readability. Created 5 years, 8 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
« no previous file with comments | « tools/telemetry/telemetry/web_perf/metrics/smoothness.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
index 603af25a822965485779c06fb254f6036a385c1c..048efc98f3cfe1d11dac14b1dd88016d9a83ba7d 100644
--- a/tools/telemetry/telemetry/web_perf/metrics/smoothness_unittest.py
+++ b/tools/telemetry/telemetry/web_perf/metrics/smoothness_unittest.py
@@ -6,6 +6,7 @@ import unittest
from telemetry.page import page as page_module
from telemetry.results import page_test_results
+from telemetry.web_perf.metrics import rendering_stats
from telemetry.web_perf.metrics import smoothness
@@ -14,8 +15,9 @@ class _MockRenderingStats(object):
stats = ['refresh_period', 'frame_timestamps', 'frame_times', 'paint_times',
'painted_pixel_counts', 'record_times',
'recorded_pixel_counts', 'approximated_pixel_percentages',
- 'input_event_latency', 'frame_queueing_durations',
- 'scroll_update_latency', 'gesture_scroll_update_latency']
+ 'checkerboarded_pixel_percentages', 'input_event_latency',
+ 'frame_queueing_durations', 'scroll_update_latency',
+ 'gesture_scroll_update_latency']
def __init__(self, **kwargs):
self.errors = {}
@@ -44,7 +46,8 @@ class SmoothnessMetricUnitTest(unittest.TestCase):
self.metric._PopulateResultsFromStats(results, stats, False)
current_page_run = results.current_page_run
self.assertTrue(current_page_run.ok)
- self.assertEquals(11, len(current_page_run.values))
+ 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.
@@ -239,3 +242,32 @@ class SmoothnessMetricUnitTest(unittest.TestCase):
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') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698