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

Unified Diff: tools/perf/measurements/rasterize_and_record_micro.py

Issue 100443007: telemetry: handle tests that are not supported on a platform. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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/measurements/rasterize_and_record_micro.py
diff --git a/tools/perf/measurements/rasterize_and_record_micro.py b/tools/perf/measurements/rasterize_and_record_micro.py
index 0928d3330e01a78a8fa3e6d36f459abf5f2ba423..12f86cff4ef22bf1fd87da519abaff1a2f9fe036 100644
--- a/tools/perf/measurements/rasterize_and_record_micro.py
+++ b/tools/perf/measurements/rasterize_and_record_micro.py
@@ -7,10 +7,12 @@ import time
from telemetry.core.util import TimeoutException
from telemetry.page import page_measurement
+from telemetry.page import page_test
class RasterizeAndRecordMicro(page_measurement.PageMeasurement):
def __init__(self):
super(RasterizeAndRecordMicro, self).__init__('', True)
+ self._compositing_features_enabled = False
def AddCommandLineOptions(self, parser):
parser.add_option('--start-wait-time', dest='start_wait_time',
@@ -38,15 +40,29 @@ class RasterizeAndRecordMicro(page_measurement.PageMeasurement):
'--enable-gpu-benchmarking'
])
+ def DidStartBrowser(self, browser):
+ # Check if the we actually have threaded forced compositing enabled.
vmpstr 2013/12/20 23:20:10 nit: s/the // and possibly s/forced //
+ system_info = browser.GetSystemInfo()
+ if (system_info.gpu.feature_status
+ and system_info.gpu.feature_status.get(
vmpstr 2013/12/20 23:20:10 nit: I don't really know the (chromium) python sty
+ 'compositing', None) == 'enabled_force_threaded'):
vmpstr 2013/12/20 23:20:10 I think None is not needed here, assuming feature_
+ self._compositing_features_enabled = True
+
def MeasurePage(self, page, tab, results):
+ # Throw an exception if threaded forced compositing is not enabled.
+ if (not self._compositing_features_enabled):
+ raise page_test.TestNotSupportedOnPlatformFailure(
+ 'Compositing feature status unknown or not '+
+ 'forced and threaded. Skipping measurement.')
+
# TODO(vmpstr): Remove this temporary workaround when reference build has
# been updated to branch 1713 or later.
backend = tab.browser._browser_backend # pylint: disable=W0212
if (not hasattr(backend, 'chrome_branch_number') or
(sys.platform != 'android' and backend.chrome_branch_number < 1713)):
- print ('Warning: rasterize_and_record_micro requires Chrome branch 1713 '
- 'or later. Skipping measurement.')
- sys.exit(0)
+ raise page_test.TestNotSupportedOnPlatformFailure(
+ 'rasterize_and_record_micro requires Chrome branch 1713 '
+ 'or later. Skipping measurement.')
try:
tab.WaitForJavaScriptExpression("document.readyState == 'complete'", 10)
@@ -91,4 +107,3 @@ class RasterizeAndRecordMicro(page_measurement.PageMeasurement):
results.Add('record_time', 'ms', record_time)
results.Add('pixels_rasterized', '', pixels_rasterized)
results.Add('rasterize_time', 'ms', rasterize_time)
-

Powered by Google App Engine
This is Rietveld 408576698