- add sources.
[platform/framework/web/crosswalk.git] / src / content / test / gpu / gpu_tests / webgl_debug_renderer_info.py
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.
4 import optparse
5 import os
6
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
11
12 data_path = os.path.join(
13     util.GetChromiumSrcDir(), 'content', 'test', 'data', 'gpu')
14
15
16 class _WebGLDebugRendererInfoValidator(page_test.PageTest):
17   def __init__(self):
18     super(_WebGLDebugRendererInfoValidator, self).__init__('ValidatePage')
19
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/' %
27             chrome_finch_option)
28     options.AppendExtraBrowserArgs('--google-base-url=http://127.0.0.1')
29
30   def InjectJavascript(self):
31     return [os.path.join(os.path.dirname(__file__),
32             'webgl_debug_renderer_info.js')]
33
34   def ValidatePage(self, page, tab, results):
35     if not tab.EvaluateJavaScript('window.domAutomationController._succeeded'):
36       raise page_test.Failure('Test failed')
37
38 class WebGLDebugRendererInfo(test_module.Test):
39   test = _WebGLDebugRendererInfoValidator
40
41   @staticmethod
42   def AddTestCommandLineOptions(parser):
43     group = optparse.OptionGroup(parser, 'Finch experiment options')
44     group.add_option('--finch-option',
45         help = """
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
51 """,
52         default='enabled')
53     parser.add_option_group(group)
54
55   def CreatePageSet(self, options):
56     page_set_dict = {
57       'description': 'Test cases for WEBGL_debug_renderer_info extension',
58       'user_agent_type': 'desktop',
59       'serving_dirs': [''],
60       'pages': [
61         {
62           'name': 'WEBGL_debug_render_info.%s' %
63               options.finch_option,
64           'url': 'file://webgl_debug_renderer_info.html?query=%s' %
65               options.finch_option,
66           'navigate_steps': [
67             { 'action': 'navigate' }
68           ]
69         }
70       ]
71     }
72     return page_set.PageSet.FromDict(page_set_dict, data_path)