Index: content/test/gpu/gpu_tests/accelerated.py |
diff --git a/content/test/gpu/gpu_tests/accelerated.py b/content/test/gpu/gpu_tests/accelerated.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5dde4da68fd8ff46a858733b4506476955b6fc35 |
--- /dev/null |
+++ b/content/test/gpu/gpu_tests/accelerated.py |
@@ -0,0 +1,68 @@ |
+# Copyright (c) 2012 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 accelerated_expectations |
+ |
+from telemetry import test |
+from telemetry.page import page_set |
+from telemetry.page import page_test |
+ |
+test_harness_script = r""" |
+ function VerifyHardwareAccelerated(feature) { |
+ feature += ': ' |
+ var list = document.querySelector('.feature-status-list'); |
+ for (var i=0; i < list.childElementCount; i++) { |
+ var span_list = list.children[i].getElementsByTagName('span'); |
+ var feature_str = span_list[0].textContent; |
+ var value_str = span_list[1].textContent; |
+ if ((feature_str == feature) && |
+ (value_str == 'Hardware accelerated')) { |
+ return true; |
+ } |
+ } |
+ return false; |
+ }; |
+"""; |
+ |
+class AcceleratedValidator(page_test.PageTest): |
+ def __init__(self): |
+ super(AcceleratedValidator, self).__init__('ValidatePage') |
+ |
+ def ValidatePage(self, page, tab, results): |
+ feature = page.feature |
+ if not tab.EvaluateJavaScript('VerifyHardwareAccelerated("%s")' % feature): |
+ raise page_test.Failure('%s not hardware accelerated' % feature) |
+ |
+def safe_feature_name(feature): |
+ return feature.lower().replace(' ', '_') |
+ |
+class Accelerated(test.Test): |
Ken Russell (switch to Gerrit)
2013/10/28 20:57:54
Please choose a more descriptive name. CheckHardwa
|
+ """Tests GPU acceleration is reported as active""" |
+ test = AcceleratedValidator |
+ |
+ def CreateExpectations(self, page_set): |
+ return accelerated_expectations.AcceleratedExpectations() |
+ |
+ def CreatePageSet(self, options): |
+ features = ['WebGL', 'Canvas', '3D CSS'] |
+ |
+ page_set_dict = { |
+ 'description': 'Tests GPU acceleration is reported as active', |
+ 'user_agent_type': 'desktop', |
+ 'pages': [] |
+ } |
+ |
+ pages = page_set_dict['pages'] |
+ |
+ for feature in features: |
+ pages.append({ |
+ 'name': 'Accelerated.%s_accelerated' % safe_feature_name(feature), |
+ 'url': 'chrome://gpu', |
+ 'navigate_steps': [ |
+ { "action": 'navigate' } |
+ ], |
+ 'script_to_evaluate_on_commit': test_harness_script, |
+ 'feature': feature |
+ }) |
+ |
+ return page_set.PageSet.FromDict(page_set_dict, '') |