Bug 976528 - Add webgl conformance tests to a manifest. r=jmaher
authorTed Mielczarek <ted@mielczarek.org>
Tue, 25 Feb 2014 14:29:24 -0500
changeset 170798 395177ab859b8358fdec0d67626c8c1e6e7eae06
parent 170797 c3b332620bb61c4d30eb53175e5149c5ac02cddb
child 170799 9700cc023e477d6f2c09447d6e30c81e80f42d6f
push id270
push userpvanderbeken@mozilla.com
push dateThu, 06 Mar 2014 09:24:21 +0000
reviewersjmaher
bugs976528
milestone30.0a1
Bug 976528 - Add webgl conformance tests to a manifest. r=jmaher
content/canvas/test/webgl/Makefile.in
content/canvas/test/webgl/README.mozilla
content/canvas/test/webgl/mochitest-conformance-files.ini
content/canvas/test/webgl/moz.build
content/canvas/test/webgl/non-conf-tests/moz.build
content/canvas/test/webgl/writemanifest.py
deleted file mode 100644
--- a/content/canvas/test/webgl/Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-include $(topsrcdir)/config/rules.mk
-
-libs::
-	$(TAR) -cf - -C $(srcdir) \
-	  resources \
-	  conformance \
-	  | $(TAR) -xf - -C $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)
--- a/content/canvas/test/webgl/README.mozilla
+++ b/content/canvas/test/webgl/README.mozilla
@@ -8,21 +8,23 @@ The canonical location of the developmen
 
   https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests
 
 All files and directories in this directory, with the exceptions listed below, come from
 upstream and should not be modified without corresponding upstream fixes and/or a
 patch file in this directory. The exceptions (the Mozilla-specific files) are:
  * README.mozilla (this file)
  * failing_tests_*.txt
- * Makefile.in
+ * moz.build
+ * writemanifest.py
  * *.patch files, if any
 
 How to do an update:
  1. unapply local patches (the .patch files here)
  2. perform the update:
    * method A: apply diff with new version
    * method B: erase all files here, import copy of new version.
  3. edit CONFORMANCE_TEST_VERSION in test_webgl_conformance_test_suite.html. That's what
     determines with tests to run, as some tests are only enabled in some not-yet-released
     version.
  4. reapply local patches.
- 5. update this readme and the .patch files
+ 5. update this readme and the .patch files.
+ 6. run writemanifest.py to update test manifest.
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/webgl/mochitest-conformance-files.ini
@@ -0,0 +1,473 @@
+[DEFAULT]
+support-files =
+  conformance/00_readme.txt
+  conformance/00_test_list.txt
+  conformance/LICENSE_CHROMIUM
+  conformance/attribs/00_test_list.txt
+  conformance/attribs/gl-enable-vertex-attrib.html
+  conformance/attribs/gl-vertex-attrib-zero-issues.html
+  conformance/attribs/gl-vertex-attrib.html
+  conformance/attribs/gl-vertexattribpointer-offsets.html
+  conformance/attribs/gl-vertexattribpointer.html
+  conformance/buffers/00_test_list.txt
+  conformance/buffers/buffer-bind-test.html
+  conformance/buffers/buffer-data-array-buffer.html
+  conformance/buffers/index-validation-copies-indices.html
+  conformance/buffers/index-validation-crash-with-buffer-sub-data.html
+  conformance/buffers/index-validation-verifies-too-many-indices.html
+  conformance/buffers/index-validation-with-resized-buffer.html
+  conformance/buffers/index-validation.html
+  conformance/canvas/00_test_list.txt
+  conformance/canvas/buffer-offscreen-test.html
+  conformance/canvas/buffer-preserve-test.html
+  conformance/canvas/canvas-test.html
+  conformance/canvas/canvas-zero-size.html
+  conformance/canvas/drawingbuffer-static-canvas-test.html
+  conformance/canvas/drawingbuffer-test.html
+  conformance/canvas/viewport-unchanged-upon-resize.html
+  conformance/context/00_test_list.txt
+  conformance/context/constants.html
+  conformance/context/context-attribute-preserve-drawing-buffer.html
+  conformance/context/context-attributes-alpha-depth-stencil-antialias.html
+  conformance/context/context-lost-restored.html
+  conformance/context/context-lost.html
+  conformance/context/context-type-test.html
+  conformance/context/incorrect-context-object-behaviour.html
+  conformance/context/methods.html
+  conformance/context/premultiplyalpha-test.html
+  conformance/context/resource-sharing-test.html
+  conformance/extensions/00_test_list.txt
+  conformance/extensions/ext-sRGB.html
+  conformance/extensions/ext-texture-filter-anisotropic.html
+  conformance/extensions/oes-standard-derivatives.html
+  conformance/extensions/oes-texture-float.html
+  conformance/extensions/oes-vertex-array-object.html
+  conformance/extensions/webgl-compressed-texture-s3tc.html
+  conformance/extensions/webgl-debug-renderer-info.html
+  conformance/extensions/webgl-debug-shaders.html
+  conformance/extensions/webgl-depth-texture.html
+  conformance/glsl/00_test_list.txt
+  conformance/glsl/functions/00_test_list.txt
+  conformance/glsl/functions/glsl-function-abs.html
+  conformance/glsl/functions/glsl-function-acos.html
+  conformance/glsl/functions/glsl-function-asin.html
+  conformance/glsl/functions/glsl-function-atan-xy.html
+  conformance/glsl/functions/glsl-function-atan.html
+  conformance/glsl/functions/glsl-function-ceil.html
+  conformance/glsl/functions/glsl-function-clamp-float.html
+  conformance/glsl/functions/glsl-function-clamp-gentype.html
+  conformance/glsl/functions/glsl-function-cos.html
+  conformance/glsl/functions/glsl-function-cross.html
+  conformance/glsl/functions/glsl-function-distance.html
+  conformance/glsl/functions/glsl-function-dot.html
+  conformance/glsl/functions/glsl-function-faceforward.html
+  conformance/glsl/functions/glsl-function-floor.html
+  conformance/glsl/functions/glsl-function-fract.html
+  conformance/glsl/functions/glsl-function-length.html
+  conformance/glsl/functions/glsl-function-lessThan.html
+  conformance/glsl/functions/glsl-function-max-float.html
+  conformance/glsl/functions/glsl-function-max-gentype.html
+  conformance/glsl/functions/glsl-function-min-float.html
+  conformance/glsl/functions/glsl-function-min-gentype.html
+  conformance/glsl/functions/glsl-function-mix-float.html
+  conformance/glsl/functions/glsl-function-mix-gentype.html
+  conformance/glsl/functions/glsl-function-mod-float.html
+  conformance/glsl/functions/glsl-function-mod-gentype.html
+  conformance/glsl/functions/glsl-function-normalize.html
+  conformance/glsl/functions/glsl-function-reflect.html
+  conformance/glsl/functions/glsl-function-refract.html
+  conformance/glsl/functions/glsl-function-sign.html
+  conformance/glsl/functions/glsl-function-sin.html
+  conformance/glsl/functions/glsl-function-smoothstep-float.html
+  conformance/glsl/functions/glsl-function-smoothstep-gentype.html
+  conformance/glsl/functions/glsl-function-step-float.html
+  conformance/glsl/functions/glsl-function-step-gentype.html
+  conformance/glsl/functions/glsl-function.html
+  conformance/glsl/implicit/00_test_list.txt
+  conformance/glsl/implicit/add_int_float.vert.html
+  conformance/glsl/implicit/add_int_mat2.vert.html
+  conformance/glsl/implicit/add_int_mat3.vert.html
+  conformance/glsl/implicit/add_int_mat4.vert.html
+  conformance/glsl/implicit/add_int_vec2.vert.html
+  conformance/glsl/implicit/add_int_vec3.vert.html
+  conformance/glsl/implicit/add_int_vec4.vert.html
+  conformance/glsl/implicit/add_ivec2_vec2.vert.html
+  conformance/glsl/implicit/add_ivec3_vec3.vert.html
+  conformance/glsl/implicit/add_ivec4_vec4.vert.html
+  conformance/glsl/implicit/assign_int_to_float.vert.html
+  conformance/glsl/implicit/assign_ivec2_to_vec2.vert.html
+  conformance/glsl/implicit/assign_ivec3_to_vec3.vert.html
+  conformance/glsl/implicit/assign_ivec4_to_vec4.vert.html
+  conformance/glsl/implicit/construct_struct.vert.html
+  conformance/glsl/implicit/divide_int_float.vert.html
+  conformance/glsl/implicit/divide_int_mat2.vert.html
+  conformance/glsl/implicit/divide_int_mat3.vert.html
+  conformance/glsl/implicit/divide_int_mat4.vert.html
+  conformance/glsl/implicit/divide_int_vec2.vert.html
+  conformance/glsl/implicit/divide_int_vec3.vert.html
+  conformance/glsl/implicit/divide_int_vec4.vert.html
+  conformance/glsl/implicit/divide_ivec2_vec2.vert.html
+  conformance/glsl/implicit/divide_ivec3_vec3.vert.html
+  conformance/glsl/implicit/divide_ivec4_vec4.vert.html
+  conformance/glsl/implicit/equal_int_float.vert.html
+  conformance/glsl/implicit/equal_ivec2_vec2.vert.html
+  conformance/glsl/implicit/equal_ivec3_vec3.vert.html
+  conformance/glsl/implicit/equal_ivec4_vec4.vert.html
+  conformance/glsl/implicit/function_int_float.vert.html
+  conformance/glsl/implicit/function_ivec2_vec2.vert.html
+  conformance/glsl/implicit/function_ivec3_vec3.vert.html
+  conformance/glsl/implicit/function_ivec4_vec4.vert.html
+  conformance/glsl/implicit/greater_than.vert.html
+  conformance/glsl/implicit/greater_than_equal.vert.html
+  conformance/glsl/implicit/less_than.vert.html
+  conformance/glsl/implicit/less_than_equal.vert.html
+  conformance/glsl/implicit/multiply_int_float.vert.html
+  conformance/glsl/implicit/multiply_int_mat2.vert.html
+  conformance/glsl/implicit/multiply_int_mat3.vert.html
+  conformance/glsl/implicit/multiply_int_mat4.vert.html
+  conformance/glsl/implicit/multiply_int_vec2.vert.html
+  conformance/glsl/implicit/multiply_int_vec3.vert.html
+  conformance/glsl/implicit/multiply_int_vec4.vert.html
+  conformance/glsl/implicit/multiply_ivec2_vec2.vert.html
+  conformance/glsl/implicit/multiply_ivec3_vec3.vert.html
+  conformance/glsl/implicit/multiply_ivec4_vec4.vert.html
+  conformance/glsl/implicit/not_equal_int_float.vert.html
+  conformance/glsl/implicit/not_equal_ivec2_vec2.vert.html
+  conformance/glsl/implicit/not_equal_ivec3_vec3.vert.html
+  conformance/glsl/implicit/not_equal_ivec4_vec4.vert.html
+  conformance/glsl/implicit/subtract_int_float.vert.html
+  conformance/glsl/implicit/subtract_int_mat2.vert.html
+  conformance/glsl/implicit/subtract_int_mat3.vert.html
+  conformance/glsl/implicit/subtract_int_mat4.vert.html
+  conformance/glsl/implicit/subtract_int_vec2.vert.html
+  conformance/glsl/implicit/subtract_int_vec3.vert.html
+  conformance/glsl/implicit/subtract_int_vec4.vert.html
+  conformance/glsl/implicit/subtract_ivec2_vec2.vert.html
+  conformance/glsl/implicit/subtract_ivec3_vec3.vert.html
+  conformance/glsl/implicit/subtract_ivec4_vec4.vert.html
+  conformance/glsl/implicit/ternary_int_float.vert.html
+  conformance/glsl/implicit/ternary_ivec2_vec2.vert.html
+  conformance/glsl/implicit/ternary_ivec3_vec3.vert.html
+  conformance/glsl/implicit/ternary_ivec4_vec4.vert.html
+  conformance/glsl/matrices/00_test_list.txt
+  conformance/glsl/matrices/glsl-mat4-to-mat3.html
+  conformance/glsl/misc/00_test_list.txt
+  conformance/glsl/misc/attrib-location-length-limits.html
+  conformance/glsl/misc/embedded-struct-definitions-forbidden.html
+  conformance/glsl/misc/glsl-2types-of-textures-on-same-unit.html
+  conformance/glsl/misc/glsl-function-nodes.html
+  conformance/glsl/misc/glsl-long-variable-names.html
+  conformance/glsl/misc/glsl-vertex-branch.html
+  conformance/glsl/misc/include.vs
+  conformance/glsl/misc/non-ascii-comments.vert.html
+  conformance/glsl/misc/non-ascii.vert.html
+  conformance/glsl/misc/re-compile-re-link.html
+  conformance/glsl/misc/shader-with-256-character-identifier.frag.html
+  conformance/glsl/misc/shader-with-257-character-identifier.frag.html
+  conformance/glsl/misc/shader-with-_webgl-identifier.vert.html
+  conformance/glsl/misc/shader-with-arbitrary-indexing.frag.html
+  conformance/glsl/misc/shader-with-arbitrary-indexing.vert.html
+  conformance/glsl/misc/shader-with-attrib-array.vert.html
+  conformance/glsl/misc/shader-with-attrib-struct.vert.html
+  conformance/glsl/misc/shader-with-clipvertex.vert.html
+  conformance/glsl/misc/shader-with-comma-assignment.html
+  conformance/glsl/misc/shader-with-comma-conditional-assignment.html
+  conformance/glsl/misc/shader-with-conditional-scoping.html
+  conformance/glsl/misc/shader-with-default-precision.frag.html
+  conformance/glsl/misc/shader-with-default-precision.vert.html
+  conformance/glsl/misc/shader-with-define-line-continuation.frag.html
+  conformance/glsl/misc/shader-with-dfdx-no-ext.frag.html
+  conformance/glsl/misc/shader-with-dfdx.frag.html
+  conformance/glsl/misc/shader-with-do-scoping.html
+  conformance/glsl/misc/shader-with-error-directive.html
+  conformance/glsl/misc/shader-with-explicit-int-cast.vert.html
+  conformance/glsl/misc/shader-with-float-return-value.frag.html
+  conformance/glsl/misc/shader-with-for-loop.html
+  conformance/glsl/misc/shader-with-for-scoping.html
+  conformance/glsl/misc/shader-with-frag-depth.frag.html
+  conformance/glsl/misc/shader-with-function-recursion.frag.html
+  conformance/glsl/misc/shader-with-function-scoped-struct.html
+  conformance/glsl/misc/shader-with-functional-scoping.html
+  conformance/glsl/misc/shader-with-glcolor.vert.html
+  conformance/glsl/misc/shader-with-gles-1.frag.html
+  conformance/glsl/misc/shader-with-gles-symbol.frag.html
+  conformance/glsl/misc/shader-with-glprojectionmatrix.vert.html
+  conformance/glsl/misc/shader-with-hex-int-constant-macro.html
+  conformance/glsl/misc/shader-with-implicit-vec3-to-vec4-cast.vert.html
+  conformance/glsl/misc/shader-with-include.vert.html
+  conformance/glsl/misc/shader-with-int-return-value.frag.html
+  conformance/glsl/misc/shader-with-invalid-identifier.frag.html
+  conformance/glsl/misc/shader-with-ivec2-return-value.frag.html
+  conformance/glsl/misc/shader-with-ivec3-return-value.frag.html
+  conformance/glsl/misc/shader-with-ivec4-return-value.frag.html
+  conformance/glsl/misc/shader-with-limited-indexing.frag.html
+  conformance/glsl/misc/shader-with-line-directive.html
+  conformance/glsl/misc/shader-with-long-line.html
+  conformance/glsl/misc/shader-with-non-ascii-error.frag.html
+  conformance/glsl/misc/shader-with-precision.frag.html
+  conformance/glsl/misc/shader-with-quoted-error.frag.html
+  conformance/glsl/misc/shader-with-undefined-preprocessor-symbol.frag.html
+  conformance/glsl/misc/shader-with-uniform-in-loop-condition.vert.html
+  conformance/glsl/misc/shader-with-vec2-return-value.frag.html
+  conformance/glsl/misc/shader-with-vec3-return-value.frag.html
+  conformance/glsl/misc/shader-with-vec4-return-value.frag.html
+  conformance/glsl/misc/shader-with-vec4-vec3-vec4-conditional.html
+  conformance/glsl/misc/shader-with-version-100.frag.html
+  conformance/glsl/misc/shader-with-version-100.vert.html
+  conformance/glsl/misc/shader-with-version-120.vert.html
+  conformance/glsl/misc/shader-with-version-130.vert.html
+  conformance/glsl/misc/shader-with-webgl-identifier.vert.html
+  conformance/glsl/misc/shader-without-precision.frag.html
+  conformance/glsl/misc/shared.html
+  conformance/glsl/misc/struct-nesting-exceeds-maximum.html
+  conformance/glsl/misc/struct-nesting-under-maximum.html
+  conformance/glsl/misc/uniform-location-length-limits.html
+  conformance/glsl/reserved/00_test_list.txt
+  conformance/glsl/reserved/_webgl_field.vert.html
+  conformance/glsl/reserved/_webgl_function.vert.html
+  conformance/glsl/reserved/_webgl_struct.vert.html
+  conformance/glsl/reserved/_webgl_variable.vert.html
+  conformance/glsl/reserved/webgl_field.vert.html
+  conformance/glsl/reserved/webgl_function.vert.html
+  conformance/glsl/reserved/webgl_struct.vert.html
+  conformance/glsl/reserved/webgl_variable.vert.html
+  conformance/glsl/samplers/00_test_list.txt
+  conformance/glsl/samplers/glsl-function-texture2d-bias.html
+  conformance/glsl/samplers/glsl-function-texture2dlod.html
+  conformance/glsl/samplers/glsl-function-texture2dproj.html
+  conformance/glsl/variables/00_test_list.txt
+  conformance/glsl/variables/gl-fragcoord.html
+  conformance/glsl/variables/gl-frontfacing.html
+  conformance/glsl/variables/gl-pointcoord.html
+  conformance/limits/00_test_list.txt
+  conformance/limits/gl-max-texture-dimensions.html
+  conformance/limits/gl-min-attribs.html
+  conformance/limits/gl-min-textures.html
+  conformance/limits/gl-min-uniforms.html
+  conformance/misc/00_test_list.txt
+  conformance/misc/bad-arguments-test.html
+  conformance/misc/delayed-drawing.html
+  conformance/misc/error-reporting.html
+  conformance/misc/functions-returning-strings.html
+  conformance/misc/instanceof-test.html
+  conformance/misc/invalid-passed-params.html
+  conformance/misc/is-object.html
+  conformance/misc/null-object-behaviour.html
+  conformance/misc/object-deletion-behaviour.html
+  conformance/misc/shader-precision-format.html
+  conformance/misc/type-conversion-test.html
+  conformance/misc/uninitialized-test.html
+  conformance/misc/webgl-specific.html
+  conformance/more/00_test_list.txt
+  conformance/more/README.md
+  conformance/more/all_tests.html
+  conformance/more/all_tests_linkonly.html
+  conformance/more/all_tests_sequential.html
+  conformance/more/conformance/argGenerators-A.js
+  conformance/more/conformance/argGenerators-B1.js
+  conformance/more/conformance/argGenerators-B2.js
+  conformance/more/conformance/argGenerators-B3.js
+  conformance/more/conformance/argGenerators-B4.js
+  conformance/more/conformance/argGenerators-C.js
+  conformance/more/conformance/argGenerators-D_G.js
+  conformance/more/conformance/argGenerators-G_I.js
+  conformance/more/conformance/argGenerators-L_S.js
+  conformance/more/conformance/argGenerators-S_V.js
+  conformance/more/conformance/badArgsArityLessThanArgc.html
+  conformance/more/conformance/constants.html
+  conformance/more/conformance/fuzzTheAPI.html
+  conformance/more/conformance/getContext.html
+  conformance/more/conformance/methods.html
+  conformance/more/conformance/quickCheckAPI-A.html
+  conformance/more/conformance/quickCheckAPI-B1.html
+  conformance/more/conformance/quickCheckAPI-B2.html
+  conformance/more/conformance/quickCheckAPI-B3.html
+  conformance/more/conformance/quickCheckAPI-B4.html
+  conformance/more/conformance/quickCheckAPI-C.html
+  conformance/more/conformance/quickCheckAPI-D_G.html
+  conformance/more/conformance/quickCheckAPI-G_I.html
+  conformance/more/conformance/quickCheckAPI-L_S.html
+  conformance/more/conformance/quickCheckAPI-S_V.html
+  conformance/more/conformance/quickCheckAPI.js
+  conformance/more/conformance/quickCheckAPIBadArgs.html
+  conformance/more/conformance/webGLArrays.html
+  conformance/more/demos/opengl_web.html
+  conformance/more/demos/video.html
+  conformance/more/functions/bindBuffer.html
+  conformance/more/functions/bindBufferBadArgs.html
+  conformance/more/functions/bindFramebufferLeaveNonZero.html
+  conformance/more/functions/bufferData.html
+  conformance/more/functions/bufferDataBadArgs.html
+  conformance/more/functions/bufferSubData.html
+  conformance/more/functions/bufferSubDataBadArgs.html
+  conformance/more/functions/copyTexImage2D.html
+  conformance/more/functions/copyTexImage2DBadArgs.html
+  conformance/more/functions/copyTexSubImage2D.html
+  conformance/more/functions/copyTexSubImage2DBadArgs.html
+  conformance/more/functions/deleteBufferBadArgs.html
+  conformance/more/functions/drawArrays.html
+  conformance/more/functions/drawArraysOutOfBounds.html
+  conformance/more/functions/drawElements.html
+  conformance/more/functions/drawElementsBadArgs.html
+  conformance/more/functions/isTests.html
+  conformance/more/functions/readPixels.html
+  conformance/more/functions/readPixelsBadArgs.html
+  conformance/more/functions/texImage2D.html
+  conformance/more/functions/texImage2DBadArgs.html
+  conformance/more/functions/texImage2DHTML.html
+  conformance/more/functions/texImage2DHTMLBadArgs.html
+  conformance/more/functions/texSubImage2D.html
+  conformance/more/functions/texSubImage2DBadArgs.html
+  conformance/more/functions/texSubImage2DHTML.html
+  conformance/more/functions/texSubImage2DHTMLBadArgs.html
+  conformance/more/functions/uniformMatrix.html
+  conformance/more/functions/uniformMatrixBadArgs.html
+  conformance/more/functions/uniformf.html
+  conformance/more/functions/uniformfArrayLen1.html
+  conformance/more/functions/uniformfBadArgs.html
+  conformance/more/functions/uniformi.html
+  conformance/more/functions/uniformiBadArgs.html
+  conformance/more/functions/vertexAttrib.html
+  conformance/more/functions/vertexAttribBadArgs.html
+  conformance/more/functions/vertexAttribPointer.html
+  conformance/more/functions/vertexAttribPointerBadArgs.html
+  conformance/more/glsl/arrayOutOfBounds.html
+  conformance/more/glsl/longLoops.html
+  conformance/more/glsl/uniformOutOfBounds.html
+  conformance/more/glsl/unusedAttribsUniforms.html
+  conformance/more/index.html
+  conformance/more/performance/CPUvsGPU.html
+  conformance/more/performance/bandwidth.html
+  conformance/more/performance/jsGCPause.html
+  conformance/more/performance/jsMatrixMult.html
+  conformance/more/performance/jsToGLOverhead.html
+  conformance/more/unit.css
+  conformance/more/unit.js
+  conformance/more/util.js
+  conformance/programs/00_test_list.txt
+  conformance/programs/get-active-test.html
+  conformance/programs/gl-bind-attrib-location-test.html
+  conformance/programs/gl-get-active-attribute.html
+  conformance/programs/gl-get-active-uniform.html
+  conformance/programs/gl-getshadersource.html
+  conformance/programs/gl-shader-test.html
+  conformance/programs/invalid-UTF-16.html
+  conformance/programs/program-test.html
+  conformance/reading/00_test_list.txt
+  conformance/reading/read-pixels-pack-alignment.html
+  conformance/reading/read-pixels-test.html
+  conformance/renderbuffers/00_test_list.txt
+  conformance/renderbuffers/framebuffer-object-attachment.html
+  conformance/renderbuffers/framebuffer-test.html
+  conformance/renderbuffers/renderbuffer-initialization.html
+  conformance/rendering/00_test_list.txt
+  conformance/rendering/draw-arrays-out-of-bounds.html
+  conformance/rendering/draw-elements-out-of-bounds.html
+  conformance/rendering/gl-clear.html
+  conformance/rendering/gl-drawelements.html
+  conformance/rendering/gl-scissor-test.html
+  conformance/rendering/line-loop-tri-fan.html
+  conformance/rendering/more-than-65536-indices.html
+  conformance/rendering/point-size.html
+  conformance/rendering/triangle.html
+  conformance/resources/3x3.png
+  conformance/resources/blue-1x1.jpg
+  conformance/resources/boolUniformShader.vert
+  conformance/resources/bug-32888-texture.png
+  conformance/resources/floatUniformShader.vert
+  conformance/resources/fragmentShader.frag
+  conformance/resources/glsl-conformance-test.js
+  conformance/resources/glsl-feature-tests.css
+  conformance/resources/glsl-generator.js
+  conformance/resources/gray-ramp-256-with-128-alpha.png
+  conformance/resources/gray-ramp-256.png
+  conformance/resources/gray-ramp-default-gamma.png
+  conformance/resources/gray-ramp-gamma0.1.png
+  conformance/resources/gray-ramp-gamma1.0.png
+  conformance/resources/gray-ramp-gamma2.0.png
+  conformance/resources/gray-ramp-gamma4.0.png
+  conformance/resources/gray-ramp-gamma9.0.png
+  conformance/resources/gray-ramp.png
+  conformance/resources/green-2x2-16bit.png
+  conformance/resources/intArrayUniformShader.vert
+  conformance/resources/intUniformShader.vert
+  conformance/resources/matUniformShader.vert
+  conformance/resources/noopUniformShader.frag
+  conformance/resources/noopUniformShader.vert
+  conformance/resources/npot-video.mp4
+  conformance/resources/npot-video.theora.ogv
+  conformance/resources/npot-video.webmvp8.webm
+  conformance/resources/pnglib.js
+  conformance/resources/red-green.mp4
+  conformance/resources/red-green.png
+  conformance/resources/red-green.theora.ogv
+  conformance/resources/red-green.webmvp8.webm
+  conformance/resources/red-indexed.png
+  conformance/resources/samplerUniformShader.frag
+  conformance/resources/small-square-with-cie-rgb-profile.png
+  conformance/resources/small-square-with-colormatch-profile.png
+  conformance/resources/small-square-with-colorspin-profile.jpg
+  conformance/resources/small-square-with-colorspin-profile.png
+  conformance/resources/small-square-with-e-srgb-profile.png
+  conformance/resources/small-square-with-smpte-c-profile.png
+  conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png
+  conformance/resources/structUniformShader.vert
+  conformance/resources/vertexShader.vert
+  conformance/resources/webgl-test-utils.js
+  conformance/resources/webgl-test.js
+  conformance/resources/zero-alpha.png
+  conformance/state/00_test_list.txt
+  conformance/state/gl-enable-enum-test.html
+  conformance/state/gl-enum-tests.html
+  conformance/state/gl-get-calls.html
+  conformance/state/gl-geterror.html
+  conformance/state/gl-getstring.html
+  conformance/state/gl-object-get-calls.html
+  conformance/textures/00_test_list.txt
+  conformance/textures/compressed-tex-image.html
+  conformance/textures/copy-tex-image-and-sub-image-2d.html
+  conformance/textures/gl-pixelstorei.html
+  conformance/textures/gl-teximage.html
+  conformance/textures/origin-clean-conformance.html
+  conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html
+  conformance/textures/tex-image-and-sub-image-2d-with-canvas.html
+  conformance/textures/tex-image-and-sub-image-2d-with-image-data.html
+  conformance/textures/tex-image-and-sub-image-2d-with-image.html
+  conformance/textures/tex-image-and-sub-image-2d-with-video.html
+  conformance/textures/tex-image-and-uniform-binding-bugs.html
+  conformance/textures/tex-image-with-format-and-type.html
+  conformance/textures/tex-image-with-invalid-data.html
+  conformance/textures/tex-input-validation.html
+  conformance/textures/tex-sub-image-2d-bad-args.html
+  conformance/textures/tex-sub-image-2d.html
+  conformance/textures/texparameter-test.html
+  conformance/textures/texture-active-bind-2.html
+  conformance/textures/texture-active-bind.html
+  conformance/textures/texture-clear.html
+  conformance/textures/texture-complete.html
+  conformance/textures/texture-formats-test.html
+  conformance/textures/texture-mips.html
+  conformance/textures/texture-npot-video.html
+  conformance/textures/texture-npot.html
+  conformance/textures/texture-size-cube-maps.html
+  conformance/textures/texture-size.html
+  conformance/textures/texture-transparent-pixels-initialized.html
+  conformance/typedarrays/00_test_list.txt
+  conformance/typedarrays/array-buffer-crash.html
+  conformance/typedarrays/array-buffer-view-crash.html
+  conformance/typedarrays/array-unit-tests.html
+  conformance/uniforms/00_test_list.txt
+  conformance/uniforms/gl-uniform-arrays.html
+  conformance/uniforms/gl-uniform-bool.html
+  conformance/uniforms/gl-uniformmatrix4fv.html
+  conformance/uniforms/gl-unknown-uniform.html
+  conformance/uniforms/null-uniform-location.html
+  conformance/uniforms/uniform-location.html
+  conformance/uniforms/uniform-samplers-test.html
+  resources/desktop-gl-constants.js
+  resources/js-test-pre.js
+  resources/js-test-style.css
+  resources/opengl_logo.jpg
+  resources/thunderbird-logo-64x64.png
+  resources/webgl-logo.png
+  resources/webgl-test-harness.js
--- a/content/canvas/test/webgl/moz.build
+++ b/content/canvas/test/webgl/moz.build
@@ -1,10 +1,11 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-DIRS += ['non-conf-tests']
-
-MOCHITEST_MANIFESTS += ['mochitest.ini']
-
+MOCHITEST_MANIFESTS += [
+    'mochitest-conformance-files.ini',
+    'mochitest.ini',
+    'non-conf-tests/mochitest.ini',
+]
deleted file mode 100644
--- a/content/canvas/test/webgl/non-conf-tests/moz.build
+++ /dev/null
@@ -1,8 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-MOCHITEST_MANIFESTS += ['mochitest.ini']
-
new file mode 100644
--- /dev/null
+++ b/content/canvas/test/webgl/writemanifest.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Write a Mochitest manifest for WebGL conformance test files.
+
+import os
+from itertools import chain
+
+CONFORMANCE_DIRS = [
+    "conformance",
+    "resources",
+]
+
+def listfiles(dir, rel):
+    """List all files in dir recursively, yielding paths
+    relative to rel.
+    """
+    for root, folders, files in os.walk(dir):
+        for f in files:
+            yield os.path.relpath(os.path.join(root, f), rel)
+
+def writemanifest():
+    script_dir = os.path.dirname(__file__)
+    list_dirs = [os.path.join(script_dir, d) for d in CONFORMANCE_DIRS]
+    with open(os.path.join(script_dir, 'mochitest-conformance-files.ini'), 'w') as f:
+        f.write("""[DEFAULT]
+support-files =
+  %s
+""" % "\n  ".join(sorted(chain.from_iterable(listfiles(d, script_dir)
+                                             for d in list_dirs))))
+
+if __name__ == '__main__':
+    writemanifest()
+