aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-07-09 10:46:49 -0400
committerGitHub <noreply@github.com>2018-07-09 10:46:49 -0400
commit52ccdba05f5fbe37169f7a1c6fcc413bdc5681b8 (patch)
tree524c43fd9d0d1149247a9004d4ce38169141f1a9
parent3dc560761e82b9a4bbafe4ae92792a401bece3ec (diff)
parent36b6b86ad4fbde91857d7bee925053f7c592530b (diff)
downloadservo-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 -->
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json69
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html.ini3
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-static-canvas-test.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/drawingbuffer-test.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-creation.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html.ini2
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini3
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html.ini3
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html.ini3
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html.ini6
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/attribs/gl-vertex-attrib-zero-issues.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation-and-destruction.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-creation.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/context/context-eviction-with-garbage-collection.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/more/functions/texSubImage2DBadArgs.html4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/acos/acos_001_to_006.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/asin/asin_001_to_006.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/tex-input-validation.html4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/textures/texture-size-limit.html63
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html1
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/js-test-pre.js5
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-1.0.3/resources/webgl-test-harness.js2
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/more/functions/texSubImage2DBadArgs.html4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance/textures/misc/texture-size-limit.html63
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/buffers/buffer-type-restrictions.html10
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/conformance2/textures/misc/copy-texture-image-luma-format.html2
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/js-test-pre.js5
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-blob.js4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-blob.js4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/tests/tex-input-validation.js4
-rw-r--r--tests/wpt/mozilla/tests/webgl/conformance-2.0.0/js/webgl-test-harness.js2
-rwxr-xr-xtests/wpt/mozilla/tests/webgl/tools/import-conformance-tests.py8
-rw-r--r--tests/wpt/mozilla/tests/webgl/tools/timeout.patch108
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>