Chromium Code Reviews| 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, '') |