diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-07-09 10:46:49 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-09 10:46:49 -0400 |
commit | 52ccdba05f5fbe37169f7a1c6fcc413bdc5681b8 (patch) | |
tree | 524c43fd9d0d1149247a9004d4ce38169141f1a9 | |
parent | 3dc560761e82b9a4bbafe4ae92792a401bece3ec (diff) | |
parent | 36b6b86ad4fbde91857d7bee925053f7c592530b (diff) | |
download | servo-52ccdba05f5fbe37169f7a1c6fcc413bdc5681b8.tar.gz servo-52ccdba05f5fbe37169f7a1c6fcc413bdc5681b8.zip |
Auto merge of #21143 - servo:webgl, r=jdm
Make some WebGL tests have a long timeout (fixes #20883)
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21143)
<!-- Reviewable:end -->
42 files changed, 260 insertions, 168 deletions
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 57cddd34edc..116d3578ba0 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -30429,6 +30429,11 @@ {} ] ], + "webgl/tools/timeout.patch": [ + [ + {} + ] + ], "webgl/tools/unit.patch": [ [ {} @@ -39429,7 +39434,9 @@ "webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html": [ [ "/_mozilla/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html", - {} + { + "timeout": "long" + } ] ], "webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib.html": [ @@ -39573,7 +39580,9 @@ "webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html": [ [ "/_mozilla/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html", - {} + { + "timeout": "long" + } ] ], "webgl/conformance-1.0.3/conformance/canvas/texture-bindings-unaffected-on-resize.html": [ @@ -43425,7 +43434,9 @@ "webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html": [ [ "/_mozilla/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html", - {} + { + "timeout": "long" + } ] ], "webgl/conformance-1.0.3/conformance/uniforms/uniform-default-values.html": [ @@ -71210,7 +71221,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html": [ - "2db1eb69271fd2cdf1f23ed1aefe7ee04a409614", + "bb00d5648733c8b523093bba59a58eeda15c2dc9", "testharness" ], "webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib.html": [ @@ -71314,7 +71325,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html": [ - "14e68235cfa7ed8d396e33bfea2b337308f300c0", + "14ade92783494631f0aa38c7b65ef27afa5d4a5a", "testharness" ], "webgl/conformance-1.0.3/conformance/canvas/texture-bindings-unaffected-on-resize.html": [ @@ -71346,15 +71357,15 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html": [ - "5353020ebad3058be7c46d31205eb98afa4f40e4", + "6e329116409fae60838c3d4e63f84999b06cf1b5", "testharness" ], "webgl/conformance-1.0.3/conformance/context/context-creation.html": [ - "08a7054a6bee4901dcb6636cf376c452e9004184", + "2a6ebdcb04a602ae7b73a7a0385533f72c89c212", "testharness" ], "webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html": [ - "63c2768e01d84a6344d08efa79bac5fdf9d545a7", + "9eac94ca3bc359985efc1ac0e7e7c37ec2599278", "testharness" ], "webgl/conformance-1.0.3/conformance/context/context-hidden-alpha.html": [ @@ -72910,7 +72921,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html": [ - "925cff1fe7e1a27f9a1d809a06cb0b3b0fd2e409", + "d8f835e310803c6f2c83a010cf325973a870877e", "testharness" ], "webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DHTML.html": [ @@ -73046,7 +73057,7 @@ "support" ], "webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html": [ - "b4a53ad041367ac7a16a050098532b01fcd135dc", + "85555ba68d88a743a41b691e864f5e2305c03bc3", "testharness" ], "webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_float_frag_xvary.frag": [ @@ -73214,7 +73225,7 @@ "support" ], "webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html": [ - "402a2259934781e8866ec3555282e2257a9963cb", + "5ddd8eac037ae86a0f82aaebcd05f1702b4598ce", "testharness" ], "webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_float_frag_xvary.frag": [ @@ -76378,7 +76389,7 @@ "support" ], "webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html": [ - "4e72ddeef5f237b63fcdd8c49ee3c61dc16ae529", + "cadfc9c0ab49a1de7ee8ef91c49c20da40b405b4", "testharness" ], "webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_009_to_012.html": [ @@ -80266,7 +80277,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html": [ - "1b579c2798c69585cf8959c09fdc5845aa92526e", + "5c6cf39bcf8c2a5e71e894c7453de7359095b2b1", "testharness" ], "webgl/conformance-1.0.3/conformance/textures/tex-sub-image-2d-bad-args.html": [ @@ -80338,7 +80349,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html": [ - "df9d9db523e8fc9e672b9478d4ed7539b0afb8bb", + "e58263e358ab36319fb894e0a5cdfaf635a800d0", "testharness" ], "webgl/conformance-1.0.3/conformance/textures/texture-size.html": [ @@ -80426,7 +80437,7 @@ "testharness" ], "webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html": [ - "5471a14283e0a23cfab7f504529aec8bee5ee4c3", + "e6687ab849c63a7db2b855d5f0b4c4583132613f", "testharness" ], "webgl/conformance-1.0.3/conformance/uniforms/uniform-default-values.html": [ @@ -80470,7 +80481,7 @@ "support" ], "webgl/conformance-1.0.3/resources/js-test-pre.js": [ - "c908f204f89f448526ad40357f7169cf5803e67d", + "e477a3121fd6086aa97343e395e8d8622c01d844", "support" ], "webgl/conformance-1.0.3/resources/js-test-style.css": [ @@ -80486,7 +80497,7 @@ "support" ], "webgl/conformance-1.0.3/resources/webgl-test-harness.js": [ - "1cb2adb8fb53fa658bbb73ef61c08bcb587b2c0a", + "98e8e7e62030796bf34285f5bcbac3bd8b77ddb3", "support" ], "webgl/conformance-1.0.3/test-guidelines.md": [ @@ -82470,7 +82481,7 @@ "testharness" ], "webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html": [ - "e0b233b82376bae960bc435ea2f390a3c892fb78", + "880919800fd7b68bfe97bcd8148fde5e41c1af5f", "testharness" ], "webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DHTML.html": [ @@ -89858,7 +89869,7 @@ "testharness" ], "webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html": [ - "e2ddd9863e70ef2c74ba38007235d6f5332c3690", + "188327cf75f77ba75096e17a32e6182bd8d7966c", "testharness" ], "webgl/conformance-2.0.0/conformance/textures/misc/texture-size.html": [ @@ -90078,7 +90089,7 @@ "testharness" ], "webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html": [ - "0220d823c0e8190475b7f704e9f81b0f02c5fd01", + "5fc1eeb29286971424220ecd122e9b2b605ff06d", "testharness" ], "webgl/conformance-2.0.0/conformance2/buffers/get-buffer-sub-data.html": [ @@ -93218,7 +93229,7 @@ "testharness" ], "webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html": [ - "e95ff06a4d3f1a77011a7c306dd4e0afd38a1552", + "b6f306193a82e55a53dc436949d76776632960b9", "testharness" ], "webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-webgl-specific.html": [ @@ -98622,7 +98633,7 @@ "support" ], "webgl/conformance-2.0.0/js/js-test-pre.js": [ - "440f5f81367b9a376423601ab45960a5319b1b0b", + "8f199ed7f5cea4fa0750de009149ac48a27d5a10", "support" ], "webgl/conformance-2.0.0/js/pnglib.js": [ @@ -98682,7 +98693,7 @@ "support" ], "webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js": [ - "8505a329d65a627cfab08dcef9e384f499bd2fd7", + "699897b0a2ceea03ec7bc113fd9350e26805dd70", "support" ], "webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-canvas.js": [ @@ -98734,7 +98745,7 @@ "support" ], "webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js": [ - "34685e9545ac0f9fbb9665b9788b52a6ea656544", + "3691acb33bda464b05c21e6c0aea18d83a32ee7e", "support" ], "webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-canvas.js": [ @@ -98786,7 +98797,7 @@ "support" ], "webgl/conformance-2.0.0/js/tests/tex-input-validation.js": [ - "89befe095ced5482aa9788e1a4362cbc2771c462", + "d8b584d6ccc1d76239f412eca8360007c4a016c7", "support" ], "webgl/conformance-2.0.0/js/tests/typed-array-test-cases.js": [ @@ -98798,7 +98809,7 @@ "support" ], "webgl/conformance-2.0.0/js/webgl-test-harness.js": [ - "fd8879f1c8300d3ab3a3d9c15e49aa2b5fe25aca", + "c2c0b7c5660f9309682091150ef7e64e171a823d", "support" ], "webgl/conformance-2.0.0/js/webgl-test-utils.js": [ @@ -99086,7 +99097,7 @@ "testharness" ], "webgl/tools/import-conformance-tests.py": [ - "d3823f6646375ab6c48b77de8fb1c798d4132e3d", + "73e9fad27290f3f10246390fca47bfeb64bc86ec", "support" ], "webgl/tools/js-test-pre.patch": [ @@ -99097,6 +99108,10 @@ "d1fc86aa99334ca252f0e9fdd48f5d85255f24a3", "support" ], + "webgl/tools/timeout.patch": [ + "88da623430c6ab2c3738433604a5077a24a7a7a0", + "support" + ], "webgl/tools/unit.patch": [ "1d3713862875b47ae9c07462e6962eb21e40e404", "support" diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html.ini deleted file mode 100644 index b5291d6078b..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[gl-vertex-attrib-zero-issues.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-static-canvas-test.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-static-canvas-test.html.ini index 461534c9e19..64c90bdf140 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-static-canvas-test.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-static-canvas-test.html.ini @@ -1,4 +1,3 @@ [drawingbuffer-static-canvas-test.html] type: testharness expected: CRASH - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-test.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-test.html.ini index f6cf3ae8bee..6570acb25a4 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-test.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-test.html.ini @@ -1,4 +1,3 @@ [drawingbuffer-test.html] type: testharness expected: CRASH - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini deleted file mode 100644 index 1e2567027d8..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[rapid-resizing.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html.ini deleted file mode 100644 index fbdc89a8f0d..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[context-creation-and-destruction.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation.html.ini deleted file mode 100644 index 393e42df192..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[context-creation.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html.ini deleted file mode 100644 index b2918fac56f..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[context-eviction-with-garbage-collection.html] - expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html.ini deleted file mode 100644 index 38d628ebc51..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[acos_001_to_006.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html.ini deleted file mode 100644 index 2cd9fa6c511..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[asin_001_to_006.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini deleted file mode 100644 index 0bcf8268f38..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[log_001_to_008.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini deleted file mode 100644 index 579708b48b2..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[log2_001_to_008.html] - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini index e28d29a1447..804deaf6a8f 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini @@ -1,9 +1,6 @@ [tex-image-and-sub-image-2d-with-svg-image.html] type: testharness expected: TIMEOUT - [WebGL test #0: at (4, 4) expected: 0,255,0 was 0,0,0] - expected: FAIL - [Overall test] expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html.ini index 70695a2543f..d81e40d0a02 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html.ini @@ -1,9 +1,6 @@ [tex-image-and-sub-image-2d-with-video-rgba5551.html] type: testharness expected: TIMEOUT - [WebGL test #0: Unable to fetch WebGL rendering context for Canvas] - expected: FAIL - [Overall test] expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html.ini index f74c0b51cf2..7756d0a6fcf 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html.ini @@ -1,9 +1,6 @@ [tex-image-and-sub-image-2d-with-video.html] type: testharness expected: TIMEOUT - [WebGL test #0: Unable to fetch WebGL rendering context for Canvas] - expected: FAIL - [Overall test] expected: NOTRUN diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html.ini index 4d390acaba6..f91c50e108b 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html.ini @@ -1,5 +1,4 @@ [tex-input-validation.html] - type: testharness [WebGL test #34: getError expected: INVALID_OPERATION. Was NO_ERROR : colorBufferFormat: RGB565 internalFormat: RGBA target: TEXTURE_2D border: 0] expected: FAIL diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html.ini deleted file mode 100644 index 3461ba85016..00000000000 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[out-of-bounds-uniform-array-access.html] - type: testharness - expected: TIMEOUT - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html index de45ce308cf..11a83ac00a7 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" content="long"> <title>WebGL Enable Vertex Attrib Zero Test</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html index 1faa7372227..89f9e1e3c23 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" content="long"> <title>WebGL Rapid Resizing Test</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html index a02dd2d14c0..47099e57bd7 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>Test that contexts are freed and garbage collected reasonably</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation.html index 04b138daf43..703bcfa8dca 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>Test that you can create large numbers of WebGL contexts.</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html index 3989c7679aa..b52e3a9e9f7 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>Test that context eviction and garbage collection do not interfere with each other</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html index b435e15e98b..875f4c49597 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html @@ -84,10 +84,10 @@ Tests.testTexImage2D = function(gl) { assertGLError(gl, gl.INVALID_VALUE, "negative y", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0,1,-1,1,1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])); }); - assertGLError(gl, gl.INVALID_ENUM, "bad format", function(){ + assertGLErrorIn(gl, [gl.INVALID_OPERATION, gl.INVALID_ENUM], "bad format", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.FLOAT,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])); }); - assertGLError(gl, gl.INVALID_ENUM, "bad type", function(){ + assertGLErrorIn(gl, [gl.INVALID_OPERATION, gl.INVALID_ENUM], "bad type", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.RGBA,gl.TEXTURE_2D, new Uint8Array([0,0,0,0])); }); assertGLError(gl, gl.INVALID_OPERATION, "not enough data", function(){ diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html index 99de4e0a792..71c89906388 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html @@ -28,6 +28,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>WebGL GLSL conformance test: acos_001_to_006.html</title> <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html index 5af87433aa9..79afd9f4303 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html @@ -28,6 +28,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>WebGL GLSL conformance test: asin_001_to_006.html</title> <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html index 5552a4f82e6..539cb332140 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html @@ -28,6 +28,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" value="content"> <title>WebGL GLSL conformance test: log2_001_to_008.html</title> <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html index 4d7a5489253..d6904d648f7 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html @@ -245,11 +245,11 @@ testCases = [ {target: gl.TEXTURE_2D, format: 0x1903, // GL_RED type: gl.UNSIGNED_BYTE, - expectedError: gl.INVALID_ENUM}, + expectedError: [gl.INVALID_ENUM, gl.INVALID_OPERATION] }, {target: gl.TEXTURE_2D, format: gl.RGBA, type: gl.BYTE, - expectedError: gl.INVALID_ENUM}, + expectedError: [gl.INVALID_ENUM, gl.INVALID_OPERATION] }, {target: gl.TEXTURE_2D, format: gl.RGBA, type: gl.UNSIGNED_BYTE, diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html index 176e1ce96a1..73bc6a7dfff 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html @@ -73,13 +73,11 @@ var targets = [ { target: gl.TEXTURE_2D, maxSize: gl.getParameter(gl.MAX_TEXTURE_SIZE), maxLevel: 1000, - tex: gl.createTexture(), targets: [gl.TEXTURE_2D] }, { target: gl.TEXTURE_CUBE_MAP, maxSize: gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE), maxLevel: 5, - tex: gl.createTexture(), targets: [ gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, @@ -95,13 +93,15 @@ gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1); var trg = 0; var tt = 0; +var tex = null; runNextTest(); function runNextTest() { var t = targets[trg]; if (tt == 0) { - var tex = t.tex; + gl.deleteTexture(tex); + tex = gl.createTexture(); gl.bindTexture(t.target, tex); debug(""); @@ -127,43 +127,60 @@ function runNextTest() { function testFormatType(t, test) { debug(""); debug("testing: " + wtu.glEnumToString(gl, test.format) + ", " + wtu.glEnumToString(gl, test.type)); + for (var j = 0; j < t.targets.length; ++j) { var target = t.targets[j]; debug(""); debug(wtu.glEnumToString(gl, target)); var numLevels = numLevelsFromSize(t.maxSize); - var numTestLevels = Math.min(numLevels, t.maxLevel); // out of bounds tests + for (var i = 0; i < numLevels; i++) { + // width and height out of bounds + var size = t.maxSize >> i; + gl.texImage2D(target, i, test.format, size + 1, size + 1, 0, test.format, test.type, null); + wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds: should generate INVALID_VALUE: level is " + i + ", size is " + + (size + 1) + "x" + (size + 1)); + } // level out of bounds gl.texImage2D(target, numLevels, test.format, 1, 1, 0, test.format, test.type, null); wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "level out of bounds: should generate INVALID_VALUE: level is: " + numLevels + ", size is 1x1."); - // width and height out of bounds - gl.texImage2D(target, 0, test.format, t.maxSize + 1, t.maxSize + 1, 0, test.format, test.type, null); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds: should generate INVALID_VALUE: level is 0, size is " - + (t.maxSize + 1) + "x" + (t.maxSize + 1)); - // width and height out of bounds for specified level - gl.texImage2D(target, (numLevels - 1), test.format, 4, 4, 0, test.format, test.type, null); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds for specified level: should generate INVALID_VALUE: level is " - + (numLevels - 1) + ", size is 4x4."); + // Probe to discover the max non-OOM level. + // For instance, on some drivers (at least Intel+Mesa) we can create + // a maxLevel L8 texture, but only a maxLevel-1 RGB8 texture. + var maxLevelsForFormat = numLevels; + while (true) { + gl.texImage2D(target, maxLevelsForFormat-1, test.format, 1, 1, 0, test.format, test.type, null); + var err = gl.getError(); + if (err == gl.OUT_OF_MEMORY) { + debug("Probe failed for level=" + (maxLevelsForFormat-1) + ", reducing..."); + maxLevelsForFormat -= 1; + if (!maxLevelsForFormat) { + testFailed("Failed to allocate any levels for format " + test.format); + return; + } + continue; + } + if (err) { + testFailed("Should not hit non-OOM errors during max level probing."); + return; + } + break; + } + var numTestLevels = Math.min(maxLevelsForFormat, t.maxLevel); for (var l = 0; l < numTestLevels; ++l) { // Do bottom levels first; var size = 1 << l; - var level = numLevels - l - 1; + var level = maxLevelsForFormat - l - 1; var otherDimension = t.target == gl.TEXTURE_2D ? 1 : size; - var badSize = size * 2; - var badOtherDimension = t.target == gl.TEXTURE_2D ? 1 : badSize; - var pixels = new test.dataType(badSize * badOtherDimension * test.size); - gl.texImage2D(target, level, test.format, size, otherDimension, 0, test.format, test.type, pixels); + gl.texImage2D(target, level, test.format, size, otherDimension, 0, test.format, test.type, null); wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + size + "x" + otherDimension); - gl.texImage2D(target, level, test.format, otherDimension, size, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + otherDimension + "x" + size); - gl.texImage2D(target, level, test.format, badSize, badOtherDimension, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "should generate INVALID_VALUE for level: " + level + " " + badSize + "x" + badOtherDimension); - gl.texImage2D(target, level, test.format, badOtherDimension, badSize, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "should generate INVALID_VALUE for level: " + level + " " + badOtherDimension + "x" + badSize); + if (otherDimension != size) { + gl.texImage2D(target, level, test.format, otherDimension, size, 0, test.format, test.type, null); + wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + otherDimension + "x" + size); + } } } } diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html index 2758b320ff1..4d85c3a53ac 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html @@ -29,6 +29,7 @@ <html> <head> <meta charset="utf-8"> +<meta name="timeout" content="long"> <title>WebGL out of bounds uniform array access.</title> <link rel="stylesheet" href="../../resources/js-test-style.css"/> <script src=/resources/testharness.js></script> diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/js-test-pre.js b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/js-test-pre.js index c4bb6531acd..3c5f2c6e908 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/js-test-pre.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/js-test-pre.js @@ -49,11 +49,6 @@ window.console.log = function() { }; window.console.error = function() { }; window.internals.settings.setWebGLErrorsToConsoleEnabled(false); - - // RAF doesn't work in LayoutTests. Disable it so the tests will - // use setTimeout instead. - window.requestAnimationFrame = undefined; - window.webkitRequestAnimationFrame = undefined; } /* -- end platform specific code --*/ diff --git a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/webgl-test-harness.js b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/webgl-test-harness.js index 1bf7283aa93..a55f6837b71 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/webgl-test-harness.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/webgl-test-harness.js @@ -616,7 +616,7 @@ TestHarness.prototype.reportResults = function(url, success, msg, skipped) { url = FilterURL(url); var test = this.getTest(url); this.clearTimeout(test); - log(success ? "PASS" : "FAIL", msg); + log((success ? "PASS" : "FAIL") + ": " + msg); this.reportFunc(TestHarness.reportType.TEST_RESULT, url, msg, success, skipped); // For each result we get, reset the timeout this.setTimeout(test); diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html index a050d87dd1a..188b2616baf 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html @@ -90,10 +90,10 @@ Tests.testTexImage2D = function(gl) { assertGLError(gl, gl.INVALID_VALUE, "negative y", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0,1,-1,1,1,gl.RGBA,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])); }); - assertGLError(gl, gl.INVALID_ENUM, "bad format", function(){ + assertGLErrorIn(gl, [gl.INVALID_OPERATION, gl.INVALID_ENUM], "bad format", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.FLOAT,gl.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])); }); - assertGLError(gl, gl.INVALID_ENUM, "bad type", function(){ + assertGLErrorIn(gl, [gl.INVALID_OPERATION, gl.INVALID_ENUM], "bad type", function(){ gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, 1,1,gl.RGBA,gl.TEXTURE_2D, new Uint8Array([0,0,0,0])); }); assertGLError(gl, gl.INVALID_OPERATION, "not enough data", function(){ diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html index ec527b6068d..6576773e58a 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html @@ -73,13 +73,11 @@ var targets = [ { target: gl.TEXTURE_2D, maxSize: gl.getParameter(gl.MAX_TEXTURE_SIZE), maxLevel: 1000, - tex: gl.createTexture(), targets: [gl.TEXTURE_2D] }, { target: gl.TEXTURE_CUBE_MAP, maxSize: gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE), maxLevel: 5, - tex: gl.createTexture(), targets: [ gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, @@ -95,13 +93,15 @@ gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1); var trg = 0; var tt = 0; +var tex = null; runNextTest(); function runNextTest() { var t = targets[trg]; if (tt == 0) { - var tex = t.tex; + gl.deleteTexture(tex); + tex = gl.createTexture(); gl.bindTexture(t.target, tex); debug(""); @@ -127,43 +127,60 @@ function runNextTest() { function testFormatType(t, test) { debug(""); debug("testing: " + wtu.glEnumToString(gl, test.format) + ", " + wtu.glEnumToString(gl, test.type)); + for (var j = 0; j < t.targets.length; ++j) { var target = t.targets[j]; debug(""); debug(wtu.glEnumToString(gl, target)); var numLevels = numLevelsFromSize(t.maxSize); - var numTestLevels = Math.min(numLevels, t.maxLevel); // out of bounds tests + for (var i = 0; i < numLevels; i++) { + // width and height out of bounds + var size = t.maxSize >> i; + gl.texImage2D(target, i, test.format, size + 1, size + 1, 0, test.format, test.type, null); + wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds: should generate INVALID_VALUE: level is " + i + ", size is " + + (size + 1) + "x" + (size + 1)); + } // level out of bounds gl.texImage2D(target, numLevels, test.format, 1, 1, 0, test.format, test.type, null); wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "level out of bounds: should generate INVALID_VALUE: level is: " + numLevels + ", size is 1x1."); - // width and height out of bounds - gl.texImage2D(target, 0, test.format, t.maxSize + 1, t.maxSize + 1, 0, test.format, test.type, null); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds: should generate INVALID_VALUE: level is 0, size is " - + (t.maxSize + 1) + "x" + (t.maxSize + 1)); - // width and height out of bounds for specified level - gl.texImage2D(target, (numLevels - 1), test.format, 4, 4, 0, test.format, test.type, null); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "width or height out of bounds for specified level: should generate INVALID_VALUE: level is " - + (numLevels - 1) + ", size is 4x4."); + // Probe to discover the max non-OOM level. + // For instance, on some drivers (at least Intel+Mesa) we can create + // a maxLevel L8 texture, but only a maxLevel-1 RGB8 texture. + var maxLevelsForFormat = numLevels; + while (true) { + gl.texImage2D(target, maxLevelsForFormat-1, test.format, 1, 1, 0, test.format, test.type, null); + var err = gl.getError(); + if (err == gl.OUT_OF_MEMORY) { + debug("Probe failed for level=" + (maxLevelsForFormat-1) + ", reducing..."); + maxLevelsForFormat -= 1; + if (!maxLevelsForFormat) { + testFailed("Failed to allocate any levels for format " + test.format); + return; + } + continue; + } + if (err) { + testFailed("Should not hit non-OOM errors during max level probing."); + return; + } + break; + } + var numTestLevels = Math.min(maxLevelsForFormat, t.maxLevel); for (var l = 0; l < numTestLevels; ++l) { // Do bottom levels first; var size = 1 << l; - var level = numLevels - l - 1; + var level = maxLevelsForFormat - l - 1; var otherDimension = t.target == gl.TEXTURE_2D ? 1 : size; - var badSize = size * 2; - var badOtherDimension = t.target == gl.TEXTURE_2D ? 1 : badSize; - var pixels = new test.dataType(badSize * badOtherDimension * test.size); - gl.texImage2D(target, level, test.format, size, otherDimension, 0, test.format, test.type, pixels); + gl.texImage2D(target, level, test.format, size, otherDimension, 0, test.format, test.type, null); wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + size + "x" + otherDimension); - gl.texImage2D(target, level, test.format, otherDimension, size, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + otherDimension + "x" + size); - gl.texImage2D(target, level, test.format, badSize, badOtherDimension, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "should generate INVALID_VALUE for level: " + level + " " + badSize + "x" + badOtherDimension); - gl.texImage2D(target, level, test.format, badOtherDimension, badSize, 0, test.format, test.type, pixels); - wtu.glErrorShouldBe(gl, gl.INVALID_VALUE, "should generate INVALID_VALUE for level: " + level + " " + badOtherDimension + "x" + badSize); + if (otherDimension != size) { + gl.texImage2D(target, level, test.format, otherDimension, size, 0, test.format, test.type, null); + wtu.glErrorShouldBe(gl, gl.NO_ERROR, "there should be no error for level: " + level + " " + otherDimension + "x" + size); + } } } } diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html index ef29a11cae4..7c19dccf3dd 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html @@ -90,16 +90,6 @@ var testBindingFn = function(firstBindFn, secondBindFn, firstTarget, secondTarge wtu.glErrorShouldBe(gl, gl.NO_ERROR, messagePrefix + "WORK"); else wtu.glErrorShouldBe(gl, gl.INVALID_OPERATION, messagePrefix + "FAIL"); - - if ((firstTarget == gl.TRANSFORM_FEEDBACK_BUFFER && secondTarget != gl.TRANSFORM_FEEDBACK_BUFFER) || - (firstTarget != gl.TRANSFORM_FEEDBACK_BUFFER && secondTarget == gl.TRANSFORM_FEEDBACK_BUFFER)) { - bind(firstBindFn, firstTarget, buffer); - bind(secondBindFn, secondTarget, buffer); - - var message = "Binding buffer first with " + firstBindFn + " to gl." + firstTargetStr - + " and simultaneously binding buffer with " + secondBindFn + " to gl." + secondTargetStr + " should FAIL"; - wtu.glErrorShouldBe(gl, gl.INVALID_OPERATION, message); - } } var testBinding = function(firstTarget, secondTarget) { diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html index 4dfee411d15..b8460e6512e 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html @@ -123,7 +123,7 @@ function copytexsubimage3D_luma_format() { gl.copyTexSubImage3D(gl.TEXTURE_3D, 0, 0, 0, layer, 0, 0,width, height); gl.bindFramebuffer(gl.FRAMEBUFFER, null); - var program = wtu.setupProgram(gl, ["vshader", "fshader_luminance_alpha"]); + var program = wtu.setupProgram(gl, ["vshader", "fshader_luminance_alpha"], ["a_position", "a_coord"]); wtu.setupUnitQuad(gl, 0, 1); wtu.drawUnitQuad(gl); diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/js-test-pre.js b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/js-test-pre.js index 7ca8559d9bc..6b054242d99 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/js-test-pre.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/js-test-pre.js @@ -49,11 +49,6 @@ window.console.log = function() { }; window.console.error = function() { }; window.internals.settings.setWebGLErrorsToConsoleEnabled(false); - - // RAF doesn't work in LayoutTests. Disable it so the tests will - // use setTimeout instead. - window.requestAnimationFrame = undefined; - window.webkitRequestAnimationFrame = undefined; } /* -- end platform specific code --*/ diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js index 906e337b206..b2bbb850fbc 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js @@ -51,14 +51,14 @@ function generateTest(internalFormat, pixelFormat, pixelType, prologue, resource var xhr = new XMLHttpRequest(); xhr.open("GET", resourcePath + "red-green-semi-transparent.png"); xhr.responseType = 'blob'; - xhr.send(); xhr.onload = function() { var blob = xhr.response; runImageBitmapTest(blob, 0.5, internalFormat, pixelFormat, pixelType, gl, tiu, wtu, false) .then(() => { finishTest(); }); - } + }; + xhr.send(); } return init; diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js index 823f9e394f2..ac06127d852 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js @@ -51,14 +51,14 @@ function generateTest(internalFormat, pixelFormat, pixelType, prologue, resource var xhr = new XMLHttpRequest(); xhr.open("GET", resourcePath + "red-green-semi-transparent.png"); xhr.responseType = 'blob'; - xhr.send(); xhr.onload = function() { var blob = xhr.response; runImageBitmapTest(blob, 0.5, internalFormat, pixelFormat, pixelType, gl, tiu, wtu, true) .then(() => { finishTest(); }); - } + }; + xhr.send(); } return init; diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-input-validation.js b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-input-validation.js index 154dfbddf97..77237fae374 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-input-validation.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-input-validation.js @@ -358,11 +358,11 @@ if (contextVersion < 2) { { target: gl.TEXTURE_2D, format: 0x1903, // GL_RED type: gl.UNSIGNED_BYTE, - expectedError: gl.INVALID_ENUM }, + expectedError: [gl.INVALID_ENUM, gl.INVALID_OPERATION] }, { target: gl.TEXTURE_2D, format: gl.RGBA, type: gl.BYTE, - expectedError: gl.INVALID_ENUM } + expectedError: [gl.INVALID_ENUM, gl.INVALID_OPERATION] } ]); } else { testCases = testCases.concat([ diff --git a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/webgl-test-harness.js b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/webgl-test-harness.js index 0287bf6ecb7..4fb179f2b21 100644 --- a/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/webgl-test-harness.js +++ b/tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/webgl-test-harness.js @@ -613,7 +613,7 @@ TestHarness.prototype.reportResults = function(url, success, msg, skipped) { url = FilterURL(url); var test = this.getTest(url); this.clearTimeout(test); - log(success ? "PASS" : "FAIL", msg); + log((success ? "PASS" : "FAIL") + ": " + msg); this.reportFunc(TestHarness.reportType.TEST_RESULT, url, msg, success, skipped); // For each result we get, reset the timeout this.setTimeout(test); diff --git a/tests/wpt/mozilla/tests/webgl/tools/import-conformance-tests.py b/tests/wpt/mozilla/tests/webgl/tools/import-conformance-tests.py index fdedb71989d..14cafcf4f27 100755 --- a/tests/wpt/mozilla/tests/webgl/tools/import-conformance-tests.py +++ b/tests/wpt/mozilla/tests/webgl/tools/import-conformance-tests.py @@ -12,7 +12,8 @@ KHRONOS_REPO_URL = "https://github.com/KhronosGroup/WebGL.git" # Patches for conformance tests 1.0.x PATCHES_1X = [ ("js-test-pre.patch", "resources/js-test-pre.js"), - ("unit.patch", "conformance/more/unit.js") + ("unit.patch", "conformance/more/unit.js"), + ("timeout.patch", None) ] # Patches for conformance tests 2.0.x PATCHES_2X = [ @@ -134,7 +135,10 @@ def update_conformance(version, destination, existing_repo, patches_dir): for patch, file_name in patches: try: patch = os.path.join(patches_dir, patch) - subprocess.check_call(["patch", "-d", destination, file_name, patch]) + if file_name is None: + subprocess.check_call(["patch", "-d", destination, "-p", "1"], stdin=open(patch)) + else: + subprocess.check_call(["patch", "-x", "3", "-d", destination, file_name, patch]) except subprocess.CalledProcessError: print("Automatic patch failed for {}".format(file_name)) print("Please review the WPT integration and update {} accordingly".format(os.path.basename(patch))) diff --git a/tests/wpt/mozilla/tests/webgl/tools/timeout.patch b/tests/wpt/mozilla/tests/webgl/tools/timeout.patch new file mode 100644 index 00000000000..da53aa632f7 --- /dev/null +++ b/tests/wpt/mozilla/tests/webgl/tools/timeout.patch @@ -0,0 +1,108 @@ +diff --git i/conformance/attribs/gl-vertex-attrib-zero-issues.html w/conformance/attribs/gl-vertex-attrib-zero-issues.html +index de45ce308c..11a83ac00a 100644 +--- i/conformance/attribs/gl-vertex-attrib-zero-issues.html ++++ w/conformance/attribs/gl-vertex-attrib-zero-issues.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" content="long"> + <title>WebGL Enable Vertex Attrib Zero Test</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> +diff --git i/conformance/canvas/rapid-resizing.html w/conformance/canvas/rapid-resizing.html +index 1faa737222..89f9e1e3c2 100644 +--- i/conformance/canvas/rapid-resizing.html ++++ w/conformance/canvas/rapid-resizing.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" content="long"> + <title>WebGL Rapid Resizing Test</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> +diff --git i/conformance/context/context-creation-and-destruction.html w/conformance/context/context-creation-and-destruction.html +index a02dd2d14c..47099e57bd 100644 +--- i/conformance/context/context-creation-and-destruction.html ++++ w/conformance/context/context-creation-and-destruction.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>Test that contexts are freed and garbage collected reasonably</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> +diff --git i/conformance/context/context-creation.html w/conformance/context/context-creation.html +index 04b138daf4..703bcfa8dc 100644 +--- i/conformance/context/context-creation.html ++++ w/conformance/context/context-creation.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>Test that you can create large numbers of WebGL contexts.</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> +diff --git i/conformance/context/context-eviction-with-garbage-collection.html w/conformance/context/context-eviction-with-garbage-collection.html +index 3989c7679a..b52e3a9e9f 100644 +--- i/conformance/context/context-eviction-with-garbage-collection.html ++++ w/conformance/context/context-eviction-with-garbage-collection.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>Test that context eviction and garbage collection do not interfere with each other</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> +diff --git i/conformance/ogles/GL/acos/acos_001_to_006.html w/conformance/ogles/GL/acos/acos_001_to_006.html +index 99de4e0a79..71c8990638 100644 +--- i/conformance/ogles/GL/acos/acos_001_to_006.html ++++ w/conformance/ogles/GL/acos/acos_001_to_006.html +@@ -28,6 +28,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>WebGL GLSL conformance test: acos_001_to_006.html</title> + <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> + <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> +diff --git i/conformance/ogles/GL/asin/asin_001_to_006.html w/conformance/ogles/GL/asin/asin_001_to_006.html +index 5af87433aa..79afd9f430 100644 +--- i/conformance/ogles/GL/asin/asin_001_to_006.html ++++ w/conformance/ogles/GL/asin/asin_001_to_006.html +@@ -28,6 +28,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>WebGL GLSL conformance test: asin_001_to_006.html</title> + <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> + <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> +diff --git i/conformance/ogles/GL/log2/log2_001_to_008.html w/conformance/ogles/GL/log2/log2_001_to_008.html +index 5552a4f82e..539cb33214 100644 +--- i/conformance/ogles/GL/log2/log2_001_to_008.html ++++ w/conformance/ogles/GL/log2/log2_001_to_008.html +@@ -28,6 +28,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" value="content"> + <title>WebGL GLSL conformance test: log2_001_to_008.html</title> + <link rel="stylesheet" href="../../../../resources/js-test-style.css" /> + <link rel="stylesheet" href="../../../resources/ogles-tests.css" /> +diff --git i/conformance/uniforms/out-of-bounds-uniform-array-access.html w/conformance/uniforms/out-of-bounds-uniform-array-access.html +index 2758b320ff..4d85c3a53a 100644 +--- i/conformance/uniforms/out-of-bounds-uniform-array-access.html ++++ w/conformance/uniforms/out-of-bounds-uniform-array-access.html +@@ -29,6 +29,7 @@ + <html> + <head> + <meta charset="utf-8"> ++<meta name="timeout" content="long"> + <title>WebGL out of bounds uniform array access.</title> + <link rel="stylesheet" href="../../resources/js-test-style.css"/> + <script src=/resources/testharness.js></script> |