OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 import json | 4 import json |
5 import optparse | 5 import optparse |
6 import os | 6 import os |
7 import sys | 7 import sys |
8 | 8 |
9 import gpu_test_base | 9 import gpu_test_base |
10 import path_util | 10 import path_util |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 class WebglConformanceValidator(gpu_test_base.ValidatorBase): | 76 class WebglConformanceValidator(gpu_test_base.ValidatorBase): |
77 def __init__(self): | 77 def __init__(self): |
78 super(WebglConformanceValidator, self).__init__() | 78 super(WebglConformanceValidator, self).__init__() |
79 | 79 |
80 def ValidateAndMeasurePage(self, page, tab, results): | 80 def ValidateAndMeasurePage(self, page, tab, results): |
81 if not _DidWebGLTestSucceed(tab): | 81 if not _DidWebGLTestSucceed(tab): |
82 raise page_test.Failure(_WebGLTestMessages(tab)) | 82 raise page_test.Failure(_WebGLTestMessages(tab)) |
83 | 83 |
84 def CustomizeBrowserOptions(self, options): | 84 def CustomizeBrowserOptions(self, options): |
| 85 # --test-type=gpu is used only to suppress the "Google API Keys are missing" |
| 86 # infobar, which causes flakiness in tests. |
85 options.AppendExtraBrowserArgs([ | 87 options.AppendExtraBrowserArgs([ |
86 '--disable-gesture-requirement-for-media-playback', | 88 '--disable-gesture-requirement-for-media-playback', |
87 '--disable-domain-blocking-for-3d-apis', | 89 '--disable-domain-blocking-for-3d-apis', |
88 '--disable-gpu-process-crash-limit' | 90 '--disable-gpu-process-crash-limit', |
| 91 '--test-type=gpu' |
89 ]) | 92 ]) |
90 browser = browser_finder.FindBrowser(options.finder_options) | 93 browser = browser_finder.FindBrowser(options.finder_options) |
91 if (browser.target_os.startswith('android') and | 94 if (browser.target_os.startswith('android') and |
92 browser.browser_type == 'android-webview-shell'): | 95 browser.browser_type == 'android-webview-shell'): |
93 # TODO(kbr): this is overly broad. We'd like to do this only on | 96 # TODO(kbr): this is overly broad. We'd like to do this only on |
94 # Nexus 9. It'll go away shortly anyway. crbug.com/499928 | 97 # Nexus 9. It'll go away shortly anyway. crbug.com/499928 |
95 # | 98 # |
96 # The --ignore_egl_sync_failures is only there to work around | 99 # The --ignore_egl_sync_failures is only there to work around |
97 # some strange failure on the Nexus 9 bot, not reproducible on | 100 # some strange failure on the Nexus 9 bot, not reproducible on |
98 # local hardware. | 101 # local hardware. |
99 options.AppendExtraBrowserArgs([ | 102 options.AppendExtraBrowserArgs([ |
100 '--disable-gl-extensions=GL_EXT_disjoint_timer_query', | 103 '--disable-gl-extensions=GL_EXT_disjoint_timer_query', |
101 '--ignore_egl_sync_failures' | 104 '--ignore_egl_sync_failures' |
102 ]) | 105 ]) |
103 | 106 |
104 | 107 |
105 class Webgl2ConformanceValidator(WebglConformanceValidator): | 108 class Webgl2ConformanceValidator(WebglConformanceValidator): |
106 def __init__(self): | 109 def __init__(self): |
107 super(Webgl2ConformanceValidator, self).__init__() | 110 super(Webgl2ConformanceValidator, self).__init__() |
108 | 111 |
109 def CustomizeBrowserOptions(self, options): | 112 def CustomizeBrowserOptions(self, options): |
| 113 # --test-type=gpu is used only to suppress the "Google API Keys are missing" |
| 114 # infobar, which causes flakiness in tests. |
110 options.AppendExtraBrowserArgs([ | 115 options.AppendExtraBrowserArgs([ |
111 '--disable-gesture-requirement-for-media-playback', | 116 '--disable-gesture-requirement-for-media-playback', |
112 '--disable-domain-blocking-for-3d-apis', | 117 '--disable-domain-blocking-for-3d-apis', |
113 '--disable-gpu-process-crash-limit', | 118 '--disable-gpu-process-crash-limit', |
114 '--enable-unsafe-es3-apis' | 119 '--enable-unsafe-es3-apis', |
| 120 '--test-type=gpu' |
115 ]) | 121 ]) |
116 | 122 |
117 class WebglConformancePage(gpu_test_base.PageBase): | 123 class WebglConformancePage(gpu_test_base.PageBase): |
118 def __init__(self, story_set, test, expectations): | 124 def __init__(self, story_set, test, expectations): |
119 super(WebglConformancePage, self).__init__( | 125 super(WebglConformancePage, self).__init__( |
120 url='file://' + test, page_set=story_set, base_dir=story_set.base_dir, | 126 url='file://' + test, page_set=story_set, base_dir=story_set.base_dir, |
121 shared_page_state_class=gpu_test_base.DesktopGpuSharedPageState, | 127 shared_page_state_class=gpu_test_base.DesktopGpuSharedPageState, |
122 name=('WebglConformance.%s' % | 128 name=('WebglConformance.%s' % |
123 test.replace('/', '_').replace('-', '_'). | 129 test.replace('/', '_').replace('-', '_'). |
124 replace('\\', '_').rpartition('.')[0].replace('.', '_')), | 130 replace('\\', '_').rpartition('.')[0].replace('.', '_')), |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 # We only check min-version >= 2.0.0 for the top level list. | 236 # We only check min-version >= 2.0.0 for the top level list. |
231 test_paths += WebglConformance._ParseTests( | 237 test_paths += WebglConformance._ParseTests( |
232 include_path, version, webgl2_only, min_version_to_compare) | 238 include_path, version, webgl2_only, min_version_to_compare) |
233 else: | 239 else: |
234 test = os.path.join(current_dir, test_name) | 240 test = os.path.join(current_dir, test_name) |
235 if webgl_version > 1: | 241 if webgl_version > 1: |
236 test += '?webglVersion=' + str(webgl_version) | 242 test += '?webglVersion=' + str(webgl_version) |
237 test_paths.append(test) | 243 test_paths.append(test) |
238 | 244 |
239 return test_paths | 245 return test_paths |
OLD | NEW |