1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
7 from telemetry import test as test_module
8 from telemetry.core import util
9 from telemetry.page import page_set
10 from telemetry.page import page_test
12 data_path = os.path.join(
13 util.GetChromiumSrcDir(), 'content', 'test', 'data', 'gpu')
16 class _WebGLDebugRendererInfoValidator(page_test.PageTest):
18 super(_WebGLDebugRendererInfoValidator, self).__init__('ValidatePage')
20 def CustomizeBrowserOptions(self, options):
21 chrome_finch_option = options.finch_option
22 if options.finch_option == "bypassed":
23 chrome_finch_option = "enabled"
24 options.AppendExtraBrowserArgs('--disable-webgl-debug-renderer-info')
25 options.AppendExtraBrowserArgs(
26 '--force-fieldtrials=WebGLDebugRendererInfo/%s/' %
28 options.AppendExtraBrowserArgs('--google-base-url=http://127.0.0.1')
30 def InjectJavascript(self):
31 return [os.path.join(os.path.dirname(__file__),
32 'webgl_debug_renderer_info.js')]
34 def ValidatePage(self, page, tab, results):
35 if not tab.EvaluateJavaScript('window.domAutomationController._succeeded'):
36 raise page_test.Failure('Test failed')
38 class WebGLDebugRendererInfo(test_module.Test):
39 test = _WebGLDebugRendererInfoValidator
42 def AddTestCommandLineOptions(parser):
43 group = optparse.OptionGroup(parser, 'Finch experiment options')
44 group.add_option('--finch-option',
46 Options: enabled, disabled, bypassed
47 enabled = experiment forced on, expect extension to be present
48 disabled = experiment forced off, expect extension to be absent
49 bypassed = experiment forced on, disabled via command line flag,
50 expect extension to be absent
53 parser.add_option_group(group)
55 def CreatePageSet(self, options):
57 'description': 'Test cases for WEBGL_debug_renderer_info extension',
58 'user_agent_type': 'desktop',
62 'name': 'WEBGL_debug_render_info.%s' %
64 'url': 'file://webgl_debug_renderer_info.html?query=%s' %
67 { 'action': 'navigate' }
72 return page_set.PageSet.FromDict(page_set_dict, data_path)