| OLD | NEW |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 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 os | 4 import os |
| 5 | 5 |
| 6 from gpu_tests.gpu_test_expectations import GpuTestExpectations | 6 from gpu_tests.gpu_test_expectations import GpuTestExpectations |
| 7 | 7 |
| 8 # See the GpuTestExpectations class for documentation. | 8 # See the GpuTestExpectations class for documentation. |
| 9 | 9 |
| 10 class WebGLConformanceExpectations(GpuTestExpectations): | 10 class WebGLConformanceExpectations(GpuTestExpectations): |
| 11 def __init__(self, conformance_path, url_prefixes=None): | 11 def __init__(self, conformance_path): |
| 12 self.conformance_path = conformance_path | 12 self.conformance_path = conformance_path |
| 13 super(WebGLConformanceExpectations, self).__init__( | 13 super(WebGLConformanceExpectations, self).__init__() |
| 14 url_prefixes=url_prefixes) | |
| 15 | 14 |
| 16 def Fail(self, pattern, condition=None, bug=None): | 15 def Fail(self, pattern, condition=None, bug=None): |
| 17 self.CheckPatternIsValid(pattern) | 16 self.CheckPatternIsValid(pattern) |
| 18 GpuTestExpectations.Fail(self, pattern, condition, bug) | 17 GpuTestExpectations.Fail(self, pattern, condition, bug) |
| 19 | 18 |
| 20 def Flaky(self, pattern, condition=None, bug=None, max_num_retries=2): | 19 def Flaky(self, pattern, condition=None, bug=None, max_num_retries=2): |
| 21 self.CheckPatternIsValid(pattern) | 20 self.CheckPatternIsValid(pattern) |
| 22 GpuTestExpectations.Flaky(self, pattern, condition, bug=bug, | 21 GpuTestExpectations.Flaky(self, pattern, condition, bug=bug, |
| 23 max_num_retries=max_num_retries) | 22 max_num_retries=max_num_retries) |
| 24 | 23 |
| 25 def Skip(self, pattern, condition=None, bug=None): | 24 def Skip(self, pattern, condition=None, bug=None): |
| 26 self.CheckPatternIsValid(pattern) | 25 self.CheckPatternIsValid(pattern) |
| 27 GpuTestExpectations.Skip(self, pattern, condition, bug) | 26 GpuTestExpectations.Skip(self, pattern, condition, bug) |
| 28 | 27 |
| 29 def CheckPatternIsValid(self, pattern): | 28 def CheckPatternIsValid(self, pattern): |
| 30 # Look for basic wildcards. | 29 # Look for basic wildcards. |
| 31 if not '*' in pattern and not 'WebglExtension_' in pattern: | 30 if not '*' in pattern and not 'WebglExtension.' in pattern: |
| 32 full_path = os.path.normpath(os.path.join(self.conformance_path, pattern)) | 31 full_path = os.path.normpath(os.path.join(self.conformance_path, pattern)) |
| 33 if not os.path.exists(full_path): | 32 if not os.path.exists(full_path): |
| 34 raise Exception('The WebGL conformance test path specified in ' + | 33 raise Exception('The WebGL conformance test path specified in ' + |
| 35 'expectation does not exist: ' + full_path) | 34 'expectation does not exist: ' + full_path) |
| 36 | 35 |
| 37 def SetExpectations(self): | 36 def SetExpectations(self): |
| 38 # =================================== | 37 # =================================== |
| 39 # Extension availability expectations | 38 # Extension availability expectations |
| 40 # =================================== | 39 # =================================== |
| 41 # It's expected that not all extensions will be available on all platforms. | 40 # It's expected that not all extensions will be available on all platforms. |
| 42 # Having a test listed here is not necessarily a problem. | 41 # Having a test listed here is not necessarily a problem. |
| 43 | 42 |
| 44 self.Fail('WebglExtension_EXT_color_buffer_float', | 43 self.Fail('WebglExtension.EXT_color_buffer_float', |
| 45 ['win', 'mac']) | 44 ['win', 'mac']) |
| 46 # Skip these, rather than expect them to fail, to speed up test | 45 self.Fail('WebglExtension.WEBGL_compressed_texture_astc', |
| 47 # execution. The browser is restarted even after expected test | |
| 48 # failures. | |
| 49 self.Skip('WebglExtension_WEBGL_compressed_texture_astc', | |
| 50 ['win', 'mac', 'linux']) | 46 ['win', 'mac', 'linux']) |
| 51 self.Skip('WebglExtension_WEBGL_compressed_texture_atc', | 47 self.Fail('WebglExtension.WEBGL_compressed_texture_atc', |
| 52 ['win', 'mac', 'linux']) | 48 ['win', 'mac', 'linux']) |
| 53 self.Skip('WebglExtension_WEBGL_compressed_texture_etc1', | 49 self.Fail('WebglExtension.WEBGL_compressed_texture_etc1', |
| 54 ['mac', 'linux']) | 50 ['mac', 'linux']) |
| 55 self.Skip('WebglExtension_WEBGL_compressed_texture_pvrtc', | 51 self.Fail('WebglExtension.WEBGL_compressed_texture_pvrtc', |
| 56 ['win', 'mac', 'linux']) | |
| 57 self.Skip('WebglExtension_WEBGL_compressed_texture_s3tc_srgb', | |
| 58 ['win', 'mac', 'linux']) | 52 ['win', 'mac', 'linux']) |
| 59 | 53 |
| 60 # Extensions not available under D3D9 | 54 # Extensions not available under D3D9 |
| 61 self.Fail('WebglExtension_EXT_disjoint_timer_query', | 55 self.Fail('WebglExtension.EXT_disjoint_timer_query', |
| 62 ['win', 'd3d9']) | 56 ['win', 'd3d9']) |
| 63 self.Fail('WebglExtension_EXT_sRGB', | 57 self.Fail('WebglExtension.EXT_sRGB', |
| 64 ['win', 'd3d9']) | 58 ['win', 'd3d9']) |
| 65 self.Fail('WebglExtension_WEBGL_compressed_texture_etc1', | 59 self.Fail('WebglExtension.WEBGL_compressed_texture_etc1', |
| 66 ['win', 'd3d9']) | 60 ['win', 'd3d9']) |
| 67 | 61 |
| 68 self.Fail('WebglExtension_WEBGL_depth_texture', | 62 self.Fail('WebglExtension.WEBGL_depth_texture', |
| 69 ['win', 'amd', 'd3d9']) | 63 ['win', 'amd', 'd3d9']) |
| 70 | 64 |
| 71 self.Fail('WebglExtension_WEBGL_draw_buffers', | 65 self.Fail('WebglExtension.WEBGL_draw_buffers', |
| 72 ['win', 'd3d9']) | 66 ['win', 'd3d9']) |
| 73 | 67 |
| 74 # Android general | 68 # Android general |
| 75 self.Fail('WebglExtension_EXT_disjoint_timer_query', | 69 self.Fail('WebglExtension.EXT_disjoint_timer_query', |
| 76 ['android']) | 70 ['android']) |
| 77 self.Fail('WebglExtension_EXT_frag_depth', | 71 self.Fail('WebglExtension.EXT_frag_depth', |
| 78 ['android']) | 72 ['android']) |
| 79 self.Fail('WebglExtension_EXT_shader_texture_lod', | 73 self.Fail('WebglExtension.EXT_shader_texture_lod', |
| 80 ['android']) | 74 ['android']) |
| 81 self.Fail('WebglExtension_WEBGL_compressed_texture_astc', | 75 self.Fail('WebglExtension.WEBGL_compressed_texture_astc', |
| 82 ['android']) | 76 ['android']) |
| 83 self.Fail('WebglExtension_WEBGL_compressed_texture_pvrtc', | 77 self.Fail('WebglExtension.WEBGL_compressed_texture_pvrtc', |
| 84 ['android']) | 78 ['android']) |
| 85 self.Fail('WebglExtension_WEBGL_compressed_texture_s3tc', | 79 self.Fail('WebglExtension.WEBGL_compressed_texture_s3tc', |
| 86 ['android']) | 80 ['android']) |
| 87 self.Fail('WebglExtension_WEBGL_depth_texture', | 81 self.Fail('WebglExtension.WEBGL_depth_texture', |
| 88 ['android']) | 82 ['android']) |
| 89 self.Fail('WebglExtension_WEBGL_draw_buffers', | 83 self.Fail('WebglExtension.WEBGL_draw_buffers', |
| 90 ['android']) | 84 ['android']) |
| 91 | 85 |
| 92 # Nexus 5 | 86 # Nexus 5 |
| 93 self.Fail('WebglExtension_OES_texture_float_linear', | 87 self.Fail('WebglExtension.OES_texture_float_linear', |
| 94 ['android', ('qualcomm', 'Adreno (TM) 330')]) | 88 ['android', ('qualcomm', 'Adreno (TM) 330')]) |
| 95 | 89 |
| 96 # Nexus 5X | |
| 97 self.Fail('WebglExtension_EXT_sRGB', | |
| 98 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) | |
| 99 | |
| 100 # Nexus 6 (Adreno 420) and 6P (Adreno 430) | 90 # Nexus 6 (Adreno 420) and 6P (Adreno 430) |
| 101 self.Fail('WebglExtension_EXT_sRGB', | 91 self.Fail('WebglExtension.EXT_sRGB', |
| 102 ['android', | 92 ['android', |
| 103 ('qualcomm', 'Adreno (TM) 420'), | 93 ('qualcomm', 'Adreno (TM) 420'), |
| 104 ('qualcomm', 'Adreno (TM) 430')]) | 94 ('qualcomm', 'Adreno (TM) 430')]) |
| 105 | 95 |
| 106 # Nexus 9 | 96 # Nexus 9 |
| 107 self.Fail('WebglExtension_WEBGL_compressed_texture_atc', | 97 self.Fail('WebglExtension.WEBGL_compressed_texture_atc', |
| 108 ['android', ('nvidia', 'NVIDIA Tegra')]) | 98 ['android', ('nvidia', 'NVIDIA Tegra')]) |
| 109 | 99 |
| 110 # ======================== | 100 # ======================== |
| 111 # Conformance expectations | 101 # Conformance expectations |
| 112 # ======================== | 102 # ======================== |
| 113 # Fails on all platforms | 103 # Fails on all platforms |
| 114 | 104 |
| 115 # We need to add WebGL 1 check in command buffer that format/type from | 105 # We need to add WebGL 1 check in command buffer that format/type from |
| 116 # TexSubImage2D have to match the current texture's. | 106 # TexSubImage2D have to match the current texture's. |
| 117 self.Fail('conformance/textures/misc/tex-sub-image-2d-bad-args.html', | 107 self.Fail('conformance/textures/misc/tex-sub-image-2d-bad-args.html', |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 # out. Skip it for now until it's fixed and running reliably. | 429 # out. Skip it for now until it's fixed and running reliably. |
| 440 self.Skip('conformance/extensions/oes-texture-half-float-with-video.html', | 430 self.Skip('conformance/extensions/oes-texture-half-float-with-video.html', |
| 441 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) | 431 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) |
| 442 self.Fail('conformance/extensions/webgl-compressed-texture-atc.html', | 432 self.Fail('conformance/extensions/webgl-compressed-texture-atc.html', |
| 443 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) | 433 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) |
| 444 self.Fail('conformance/glsl/bugs/sampler-struct-function-arg.html', | 434 self.Fail('conformance/glsl/bugs/sampler-struct-function-arg.html', |
| 445 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) | 435 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) |
| 446 # This test is skipped because it is crashing the GPU process. | 436 # This test is skipped because it is crashing the GPU process. |
| 447 self.Skip('conformance/glsl/misc/shader-with-non-reserved-words.html', | 437 self.Skip('conformance/glsl/misc/shader-with-non-reserved-words.html', |
| 448 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) | 438 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=609883) |
| 439 self.Fail('WebglExtension.EXT_sRGB', |
| 440 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) |
| 449 self.Fail('conformance/textures/misc/' + | 441 self.Fail('conformance/textures/misc/' + |
| 450 'tex-image-and-sub-image-2d-with-array-buffer-view.html', | 442 'tex-image-and-sub-image-2d-with-array-buffer-view.html', |
| 451 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) | 443 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) |
| 452 self.Fail('conformance/textures/canvas/*', | 444 self.Fail('conformance/textures/canvas/*', |
| 453 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) | 445 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) |
| 454 self.Fail('conformance/textures/image/*', | 446 self.Fail('conformance/textures/image/*', |
| 455 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) | 447 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) |
| 456 self.Fail('conformance/textures/image_bitmap_from_canvas/*', | 448 self.Fail('conformance/textures/image_bitmap_from_canvas/*', |
| 457 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) | 449 ['android', ('qualcomm', 'Adreno (TM) 418')], bug=610951) |
| 458 self.Fail('conformance/textures/image_bitmap_from_blob/*', | 450 self.Fail('conformance/textures/image_bitmap_from_blob/*', |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 728 self.Fail('conformance/textures/misc/texture-npot.html', | 720 self.Fail('conformance/textures/misc/texture-npot.html', |
| 729 ['chromeos', ('intel', 0xa011)], bug=375554) | 721 ['chromeos', ('intel', 0xa011)], bug=375554) |
| 730 self.Fail('conformance/textures/misc/texture-npot-video.html', | 722 self.Fail('conformance/textures/misc/texture-npot-video.html', |
| 731 ['chromeos', ('intel', 0xa011)], bug=375554) | 723 ['chromeos', ('intel', 0xa011)], bug=375554) |
| 732 self.Fail('conformance/textures/misc/texture-size.html', | 724 self.Fail('conformance/textures/misc/texture-size.html', |
| 733 ['chromeos', ('intel', 0xa011)], bug=375554) | 725 ['chromeos', ('intel', 0xa011)], bug=375554) |
| 734 self.Fail('conformance/uniforms/gl-uniform-arrays.html', | 726 self.Fail('conformance/uniforms/gl-uniform-arrays.html', |
| 735 ['chromeos', ('intel', 0xa011)], bug=375554) | 727 ['chromeos', ('intel', 0xa011)], bug=375554) |
| 736 self.Skip('conformance/uniforms/uniform-default-values.html', | 728 self.Skip('conformance/uniforms/uniform-default-values.html', |
| 737 ['chromeos', ('intel', 0xa011)], bug=375554) | 729 ['chromeos', ('intel', 0xa011)], bug=375554) |
| OLD | NEW |